# HG changeset patch # User Matthieu Laneuville # Date 2017-10-19 14:13:57 # Node ID d600bda4a3e1ef0dea44c915a3d70f22212a4274 # Parent 3649c3f2cd90c8aec395ca8af5adae33defff12c 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 --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -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(b'/'): + arg += b'/' + 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 --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -1261,6 +1261,24 @@ 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. + $ rm -rf tmp tmpp + support for running run-tests.py from another directory $ mkdir tmp && cd tmp $ cat > useful-file.sh << EOF