From 2ef88f517d218ef0f9324622f06209c59138a634 Mon Sep 17 00:00:00 2001 From: Gerard Roche Date: Wed, 20 May 2020 16:45:14 +0100 Subject: run-tests: echo message and exit if no tests found The test runner currently defaults to running the entire test suite if no selected tests can be found. This can be unexpected. For example the ext/mysqlnd/ directory has no tests, if you specify that directory when testing the entire test suite will be run. run-tests.php [options] ext/mysqlnd/ Closes GH-5605. --- run-tests.php | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'run-tests.php') diff --git a/run-tests.php b/run-tests.php index d14fcafeee..51a82aad64 100755 --- a/run-tests.php +++ b/run-tests.php @@ -394,6 +394,7 @@ NO_PROC_OPEN_ERROR; $temp_urlbase = null; $conf_passed = null; $no_clean = false; + $selected_tests = false; $slow_min_ms = INF; $preload = false; $file_cache = null; @@ -634,6 +635,7 @@ NO_PROC_OPEN_ERROR; } if (!$is_switch) { + $selected_tests = true; $testfile = realpath($argv[$i]); if (!$testfile && strpos($argv[$i], '*') !== false && function_exists('glob')) { @@ -664,6 +666,11 @@ NO_PROC_OPEN_ERROR; } } + if ($selected_tests && count($test_files) === 0) { + echo "No tests found.\n"; + return; + } + // Default to PHP_BINARY as executable if (!isset($environment['TEST_PHP_EXECUTABLE'])) { $php = PHP_BINARY; -- cgit v1.2.1