summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-07-09 10:54:36 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-10 08:29:55 +0200
commitbff02d54960b55e16d5c1220719bb86dc1fdd205 (patch)
tree66d6734d5c91e110bca5233ed3de3874e59d095e
parent139750d7c295b84f4c42bf9409ccbdfb0c46b9f6 (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-xsolenv/gbuild/uitest-failed-default.sh5
-rw-r--r--uitest/test_main.py14
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)