diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-07-09 10:54:36 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-07-10 08:29:55 +0200 |
commit | bff02d54960b55e16d5c1220719bb86dc1fdd205 (patch) | |
tree | 66d6734d5c91e110bca5233ed3de3874e59d095e | |
parent | 139750d7c295b84f4c42bf9409ccbdfb0c46b9f6 (diff) |
uitests - error if UITEST_TEST_NAME not set to anything useful
so the next poor sod who doesn't understand the instructions doesn't
waste time with the wrong way of specifying the tests
Change-Id: I9759c7f792ec80d660f70f79dc6e2589d44e360f
Reviewed-on: https://gerrit.libreoffice.org/57177
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rwxr-xr-x | solenv/gbuild/uitest-failed-default.sh | 5 | ||||
-rw-r--r-- | uitest/test_main.py | 14 |
2 files changed, 16 insertions, 3 deletions
diff --git a/solenv/gbuild/uitest-failed-default.sh b/solenv/gbuild/uitest-failed-default.sh index 1aeb8c358b99..c4555d0d069d 100755 --- a/solenv/gbuild/uitest-failed-default.sh +++ b/solenv/gbuild/uitest-failed-default.sh @@ -15,7 +15,10 @@ To rerun just this failed test without all others, use: make UITest_$2 Or to run just a specific test case method, use: - make UITest_$2 UITEST_TEST_NAME="package.ClassName.methodName" + make UITest_$2 UITEST_TEST_NAME="Module.ClassName.methodName" +where + Module - the name of the python file (without the .py extension) + Class - is the name in the "class Class" declaration Or to do interactive debugging, put a long sleep in the beginning of the .py uitest file, and attach gdb to the running soffice process. diff --git a/uitest/test_main.py b/uitest/test_main.py index ec4f2071f102..934b27790961 100644 --- a/uitest/test_main.py +++ b/uitest/test_main.py @@ -19,6 +19,8 @@ from uitest.framework import UITestCase from libreoffice.connection import OfficeConnection +test_name_limit_found = False + def parseArgs(argv): (optlist,args) = getopt.getopt(argv[1:], "hdr", ["help", "debug", "soffice=", "userdir=", "dir=", "file=", "gdb"]) @@ -73,12 +75,15 @@ def add_tests_for_file(test_file, test_suite): loader = importlib.machinery.SourceFileLoader(module_name, test_file) mod = loader.load_module() classes = get_test_case_classes_of_module(mod) + global test_name_limit_found for c in classes: test_names = test_loader.getTestCaseNames(c) for test_name in test_names: full_name = ".".join([module_name, c.__name__, test_name]) - if len(test_name_limit) > 0 and not test_name_limit.startswith(full_name): - continue + if len(test_name_limit) > 0: + if not test_name_limit.startswith(full_name): + continue + test_name_limit_found = True obj = c(test_name, opts) test_suite.addTest(obj) @@ -102,6 +107,11 @@ if __name__ == '__main__': sys.exit(1) elif "--dir" in opts: test_suite = get_test_suite_for_dir(opts) + test_name_limit = os.environ.get('UITEST_TEST_NAME', '') + print(test_name_limit_found) + if len(test_name_limit) > 0 and not test_name_limit_found: + print("UITEST_TEST_NAME '%s' does not match any test" % test_name_limit) + sys.exit(1) elif "--file" in opts: test_suite = unittest.TestSuite() add_tests_for_file(opts['--file'], test_suite) |