mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Add --repeat-until-unexpected option to wptrunner
This commit is contained in:
parent
4c4df37a12
commit
6f55e949a1
2 changed files with 12 additions and 3 deletions
|
@ -72,6 +72,8 @@ def create_parser(product_choices=None):
|
|||
help="Multiplier relative to standard test timeout to use")
|
||||
parser.add_argument("--repeat", action="store", type=int, default=1,
|
||||
help="Number of times to run the tests")
|
||||
parser.add_argument("--repeat-until-unexpected", action="store_true", default=None,
|
||||
help="Run tests in a loop until one returns an unexpected result")
|
||||
|
||||
parser.add_argument("--no-capture-stdio", action="store_true", default=False,
|
||||
help="Don't capture stdio and write to logging")
|
||||
|
|
|
@ -160,10 +160,15 @@ def run_tests(config, test_paths, product, **kwargs):
|
|||
browser_kwargs = get_browser_kwargs(ssl_env=ssl_env, **kwargs)
|
||||
|
||||
repeat = kwargs["repeat"]
|
||||
for repeat_count in xrange(repeat):
|
||||
if repeat > 1:
|
||||
logger.info("Repetition %i / %i" % (repeat_count + 1, repeat))
|
||||
repeat_count = 0
|
||||
repeat_until_unexpected = kwargs["repeat_until_unexpected"]
|
||||
|
||||
while repeat_count < repeat or repeat_until_unexpected:
|
||||
repeat_count += 1
|
||||
if repeat_until_unexpected:
|
||||
logger.info("Repetition %i" % (repeat_count))
|
||||
elif repeat > 1:
|
||||
logger.info("Repetition %i / %i" % (repeat_count, repeat))
|
||||
|
||||
unexpected_count = 0
|
||||
logger.suite_start(test_loader.test_ids, run_info)
|
||||
|
@ -208,6 +213,8 @@ def run_tests(config, test_paths, product, **kwargs):
|
|||
|
||||
unexpected_total += unexpected_count
|
||||
logger.info("Got %i unexpected results" % unexpected_count)
|
||||
if repeat_until_unexpected and unexpected_total > 0:
|
||||
break
|
||||
logger.suite_end()
|
||||
|
||||
return unexpected_total == 0
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue