diff --git a/llvm/utils/lit/lit/main.py b/llvm/utils/lit/lit/main.py --- a/llvm/utils/lit/lit/main.py +++ b/llvm/utils/lit/lit/main.py @@ -42,6 +42,9 @@ discovered_tests = lit.discovery.find_tests_for_inputs(lit_config, opts.test_paths) if not discovered_tests: sys.stderr.write('error: did not discover any tests for provided path(s)\n') + for p in opts.test_paths: + if not os.path.exists(p): + sys.stderr.write('error: path {} does not exist\n'.format(p)) sys.exit(2) if opts.show_suites or opts.show_tests: diff --git a/llvm/utils/lit/tests/selecting.py b/llvm/utils/lit/tests/selecting.py --- a/llvm/utils/lit/tests/selecting.py +++ b/llvm/utils/lit/tests/selecting.py @@ -7,6 +7,7 @@ # RUN: not %{lit} %{inputs}/nonexistent 2>&1 | FileCheck --check-prefix=CHECK-BAD-PATH %s # RUN: not %{lit} %{inputs}/nonexistent --allow-empty-runs 2>&1 | FileCheck --check-prefix=CHECK-BAD-PATH %s # CHECK-BAD-PATH: error: did not discover any tests for provided path(s) +# CHECK-BAD_PATH: error: path %{inputs}/nonexistent does not exist # Check that we exit with an error if we filter out all tests, but allow it with --allow-empty-runs. #