run-tests: fix -i when "#testcases" is used in .t test
The "#testcases" feature introduced by
7340465bd788 has issues with "-i"
because "-i" uses "test.name.endswith('.t')" to test if a test is .t or not.
test.name could now be something like "test-foo.t (caseA)" so the above
endswith test is no longer valid.
This patch changes the test to use "self.path" which won't have the issue.
--- a/tests/run-tests.py Wed Jun 21 01:12:31 2017 -0700
+++ b/tests/run-tests.py Wed Jun 21 01:12:31 2017 -0700
@@ -1605,7 +1605,7 @@
self.stream.write('Accept this change? [n] ')
answer = sys.stdin.readline().strip()
if answer.lower() in ('y', 'yes'):
- if test.name.endswith('.t'):
+ if test.path.endswith(b'.t'):
rename(test.errpath, test.path)
else:
rename(test.errpath, '%s.out' % test.path)
--- a/tests/test-run-tests.t Wed Jun 21 01:12:31 2017 -0700
+++ b/tests/test-run-tests.t Wed Jun 21 01:12:31 2017 -0700
@@ -668,6 +668,58 @@
$ rm test-race.t
+When "#testcases" is used in .t files
+
+ $ cat >> test-cases.t <<EOF
+ > #testcases a b
+ > #if a
+ > $ echo 1
+ > #endif
+ > #if b
+ > $ echo 2
+ > #endif
+ > EOF
+
+ $ cat <<EOF | rt -i test-cases.t 2>&1
+ > y
+ > y
+ > EOF
+
+ --- $TESTTMP/test-cases.t
+ +++ $TESTTMP/test-cases.t.a.err
+ @@ -1,6 +1,7 @@
+ #testcases a b
+ #if a
+ $ echo 1
+ + 1
+ #endif
+ #if b
+ $ echo 2
+ Accept this change? [n] .
+ --- $TESTTMP/test-cases.t
+ +++ $TESTTMP/test-cases.t.b.err
+ @@ -5,4 +5,5 @@
+ #endif
+ #if b
+ $ echo 2
+ + 2
+ #endif
+ Accept this change? [n] .
+ # Ran 2 tests, 0 skipped, 0 failed.
+
+ $ cat test-cases.t
+ #testcases a b
+ #if a
+ $ echo 1
+ 1
+ #endif
+ #if b
+ $ echo 2
+ 2
+ #endif
+
+ $ rm test-cases.t
+
(reinstall)
$ mv backup test-failure.t