From 2573958e844ecfb03203d486cbac7ce500401395 Mon Sep 17 00:00:00 2001 From: David Klempner Date: Wed, 11 Feb 2015 15:57:32 -0800 Subject: [PATCH] Change TestCache to parameterize whether to skip running tests. This allows caching results with --runs_per_test. --- tools/run_tests/run_tests.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 0a42ffc1b53..8b9cb9dc6de 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -180,14 +180,17 @@ forever = args.forever class TestCache(object): """Cache for running tests.""" - def __init__(self): + def __init__(self, use_cache_results): self._last_successful_run = {} + self._use_cache_results = use_cache_results def should_run(self, cmdline, bin_hash): if cmdline not in self._last_successful_run: return True if self._last_successful_run[cmdline] != bin_hash: return True + if not self._use_cache_results: + return True return False def finished(self, cmdline, bin_hash): @@ -228,11 +231,8 @@ def _build_and_run(check_cancelled, newline_on_success, cache): return 0 -if runs_per_test == 1: - test_cache = TestCache() - test_cache.maybe_load() -else: - test_cache = None +test_cache = TestCache(runs_per_test == 1) +test_cache.maybe_load() if forever: success = True @@ -249,8 +249,7 @@ if forever: 'All tests are now passing properly', do_newline=True) jobset.message('IDLE', 'No change detected') - if test_cache != None: - test_cache.save() + test_cache.save() while not have_files_changed(): time.sleep(1) else: