run-tests: outputdir also has to be changed if $TESTDIR is not $PWD
authorMatthieu Laneuville <matthieu.laneuville@octobus.net>
Sat, 18 Nov 2017 16:12:00 +0900
changeset 35097 fc0f3ed071fc
parent 35096 23bba755cf80
child 35098 66c5a8cf2868
run-tests: outputdir also has to be changed if $TESTDIR is not $PWD Following a18eef03d879, running run-tests.py from outside tests/ would lead to the creation of .testtimes and test-*.t.err in $PWD instead of $TESTDIR. This patch fixes that and updates the relevant test.
tests/run-tests.py
tests/test-run-tests.t
--- a/tests/run-tests.py	Mon Nov 20 21:59:00 2017 +0800
+++ b/tests/run-tests.py	Sat Nov 18 16:12:00 2017 +0900
@@ -2373,6 +2373,8 @@
             self._outputdir = canonpath(_bytespath(self.options.outputdir))
         else:
             self._outputdir = self._testdir
+            if testdescs and pathname:
+                self._outputdir = os.path.join(self._outputdir, pathname)
 
         if 'PYTHONHASHSEED' not in os.environ:
             # use a random python hash seed all the time
--- a/tests/test-run-tests.t	Mon Nov 20 21:59:00 2017 +0800
+++ b/tests/test-run-tests.t	Sat Nov 18 16:12:00 2017 +0900
@@ -1281,6 +1281,7 @@
 
 support for running run-tests.py from another directory
   $ mkdir tmp && cd tmp
+
   $ cat > useful-file.sh << EOF
   > important command
   > EOF
@@ -1290,10 +1291,27 @@
   >   important command
   > EOF
 
+  $ cat > test-folder-fail.t << EOF
+  >   $ cat \$TESTDIR/useful-file.sh
+  >   important commando
+  > EOF
+
   $ cd ..
-  $ $PYTHON $TESTDIR/run-tests.py tmp/test-folder.t
-  .
-  # Ran 1 tests, 0 skipped, 0 failed.
+  $ $PYTHON $TESTDIR/run-tests.py tmp/test-*.t
+  
+  --- $TESTTMP/anothertests/tmp/test-folder-fail.t
+  +++ $TESTTMP/anothertests/tmp/test-folder-fail.t.err
+  @@ -1,2 +1,2 @@
+     $ cat $TESTDIR/useful-file.sh
+  -  important commando
+  +  important command
+  
+  ERROR: test-folder-fail.t output changed
+  !.
+  Failed test-folder-fail.t: output changed
+  # Ran 2 tests, 0 skipped, 1 failed.
+  python hash seed: * (glob)
+  [1]
 
 support for bisecting failed tests automatically
   $ hg init bisect