|
|
@ -163,7 +163,7 @@ def main(): |
|
|
|
Help text and arguments for individual test script:''', |
|
|
|
Help text and arguments for individual test script:''', |
|
|
|
formatter_class=argparse.RawTextHelpFormatter) |
|
|
|
formatter_class=argparse.RawTextHelpFormatter) |
|
|
|
parser.add_argument('--coverage', action='store_true', help='generate a basic coverage report for the RPC interface') |
|
|
|
parser.add_argument('--coverage', action='store_true', help='generate a basic coverage report for the RPC interface') |
|
|
|
parser.add_argument('--exclude', '-x', help='specify a comma-seperated-list of scripts to exclude. Do not include the .py extension in the name.') |
|
|
|
parser.add_argument('--exclude', '-x', help='specify a comma-seperated-list of scripts to exclude.') |
|
|
|
parser.add_argument('--extended', action='store_true', help='run the extended test suite in addition to the basic tests') |
|
|
|
parser.add_argument('--extended', action='store_true', help='run the extended test suite in addition to the basic tests') |
|
|
|
parser.add_argument('--force', '-f', action='store_true', help='run tests even on platforms where they are disabled by default (e.g. windows).') |
|
|
|
parser.add_argument('--force', '-f', action='store_true', help='run tests even on platforms where they are disabled by default (e.g. windows).') |
|
|
|
parser.add_argument('--help', '-h', '-?', action='store_true', help='print help text and exit') |
|
|
|
parser.add_argument('--help', '-h', '-?', action='store_true', help='print help text and exit') |
|
|
@ -172,8 +172,8 @@ def main(): |
|
|
|
parser.add_argument('--quiet', '-q', action='store_true', help='only print results summary and failure logs') |
|
|
|
parser.add_argument('--quiet', '-q', action='store_true', help='only print results summary and failure logs') |
|
|
|
args, unknown_args = parser.parse_known_args() |
|
|
|
args, unknown_args = parser.parse_known_args() |
|
|
|
|
|
|
|
|
|
|
|
# Create a set to store arguments and create the passon string |
|
|
|
# args to be passed on always start with two dashes; tests are the remaining unknown args |
|
|
|
tests = set(arg for arg in unknown_args if arg[:2] != "--") |
|
|
|
tests = [arg for arg in unknown_args if arg[:2] != "--"] |
|
|
|
passon_args = [arg for arg in unknown_args if arg[:2] == "--"] |
|
|
|
passon_args = [arg for arg in unknown_args if arg[:2] == "--"] |
|
|
|
|
|
|
|
|
|
|
|
# Read config generated by configure. |
|
|
|
# Read config generated by configure. |
|
|
@ -206,8 +206,13 @@ def main(): |
|
|
|
if tests: |
|
|
|
if tests: |
|
|
|
# Individual tests have been specified. Run specified tests that exist |
|
|
|
# Individual tests have been specified. Run specified tests that exist |
|
|
|
# in the ALL_SCRIPTS list. Accept the name with or without .py extension. |
|
|
|
# in the ALL_SCRIPTS list. Accept the name with or without .py extension. |
|
|
|
test_list = [t for t in ALL_SCRIPTS if |
|
|
|
tests = [re.sub("\.py$", "", t) + ".py" for t in tests] |
|
|
|
(t in tests or re.sub(".py$", "", t) in tests)] |
|
|
|
test_list = [] |
|
|
|
|
|
|
|
for t in tests: |
|
|
|
|
|
|
|
if t in ALL_SCRIPTS: |
|
|
|
|
|
|
|
test_list.append(t) |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
print("{}WARNING!{} Test '{}' not found in full test list.".format(BOLD[1], BOLD[0], t)) |
|
|
|
else: |
|
|
|
else: |
|
|
|
# No individual tests have been specified. |
|
|
|
# No individual tests have been specified. |
|
|
|
# Run all base tests, and optionally run extended tests. |
|
|
|
# Run all base tests, and optionally run extended tests. |
|
|
@ -219,9 +224,12 @@ def main(): |
|
|
|
|
|
|
|
|
|
|
|
# Remove the test cases that the user has explicitly asked to exclude. |
|
|
|
# Remove the test cases that the user has explicitly asked to exclude. |
|
|
|
if args.exclude: |
|
|
|
if args.exclude: |
|
|
|
for exclude_test in args.exclude.split(','): |
|
|
|
tests_excl = [re.sub("\.py$", "", t) + ".py" for t in args.exclude.split(',')] |
|
|
|
if exclude_test + ".py" in test_list: |
|
|
|
for exclude_test in tests_excl: |
|
|
|
test_list.remove(exclude_test + ".py") |
|
|
|
if exclude_test in test_list: |
|
|
|
|
|
|
|
test_list.remove(exclude_test) |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
print("{}WARNING!{} Test '{}' not found in current test list.".format(BOLD[1], BOLD[0], exclude_test)) |
|
|
|
|
|
|
|
|
|
|
|
if not test_list: |
|
|
|
if not test_list: |
|
|
|
print("No valid test scripts specified. Check that your test is in one " |
|
|
|
print("No valid test scripts specified. Check that your test is in one " |
|
|
|