[PATCH] run-tests: allow automatic test discovery when providing folder as argument
matthieu.laneuville at octobus.net
matthieu.laneuville at octobus.net
Thu Nov 2 23:41:35 UTC 2017
# HG changeset patch
# User Matthieu Laneuville <matthieu.laneuville at octobus.net>
# Date 1508422437 -32400
# Thu Oct 19 23:13:57 2017 +0900
# Node ID 0e692e27fb01c6c0619054ac4f32ce756071bf5a
# Parent 7ebf850d3166a64ff33b4b85adb481b533ddbf86
# EXP-Topic hg122
run-tests: allow automatic test discovery when providing folder as argument
Currently `run-tests.py` automatically discovers test only in the current
directory if no argument is provided. This patch makes it possible to pass a
number of tests and folders as arguments.
diff -r 7ebf850d3166 -r 0e692e27fb01 tests/run-tests.py
--- a/tests/run-tests.py Sat Oct 21 16:50:57 2017 +0900
+++ b/tests/run-tests.py Thu Oct 19 23:13:57 2017 +0900
@@ -2510,6 +2510,16 @@ class TestRunner(object):
else:
args = os.listdir(b'.')
+ expanded_args = []
+ for arg in args:
+ if os.path.isdir(arg):
+ if not arg.endswith('/'):
+ arg += '/'
+ expanded_args.extend([arg + a for a in os.listdir(arg)])
+ else:
+ expanded_args.append(arg)
+ args = expanded_args
+
tests = []
for t in args:
if not (os.path.basename(t).startswith(b'test-')
diff -r 7ebf850d3166 -r 0e692e27fb01 tests/test-run-tests.t
--- a/tests/test-run-tests.t Sat Oct 21 16:50:57 2017 +0900
+++ b/tests/test-run-tests.t Thu Oct 19 23:13:57 2017 +0900
@@ -1261,6 +1261,23 @@ support for running a test outside the c
.
# Ran 1 tests, 0 skipped, 0 failed.
+support for automatically discovering test if arg is a folder
+ $ mkdir tmp && cd tmp
+
+ $ cat > test-uno.t << EOF
+ > $ echo line
+ > line
+ > EOF
+
+ $ cp test-uno.t test-dos.t
+ $ cd ..
+ $ cp -R tmp tmpp
+ $ cp tmp/test-uno.t test-solo.t
+
+ $ $PYTHON $TESTDIR/run-tests.py tmp/ test-solo.t tmpp
+ .....
+ # Ran 5 tests, 0 skipped, 0 failed.
+
support for running run-tests.py from another directory
$ mkdir tmp && cd tmp
$ cat > useful-file.sh << EOF
More information about the Mercurial-devel
mailing list