Clear internal caches before running each test.

0.54
Jussi Pakkanen 5 years ago committed by Nirbheek Chauhan
parent 82afd16e28
commit 4afe31ad4e
  1. 10
      run_project_tests.py

@ -381,6 +381,15 @@ def run_ci_commands(raw_log: str) -> T.List[str]:
return res
# There are some class variables and such that cahce
# information. Clear all of these. The better solution
# would be to change the code so that no state is persisted
# but that would be a lot of work given that Meson was originally
# coded to run as a batch process.
def clear_internal_caches():
import mesonbuild.interpreterbase
mesonbuild.interpreterbase.FeatureNew.feature_registry = {}
def run_test_inprocess(testdir):
old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()
@ -496,6 +505,7 @@ def _run_test(test: TestDef, test_build_dir: str, install_dir: str, extra_args,
force_regenerate()
# Test in-process
clear_internal_caches()
test_start = time.time()
(returncode, tstdo, tstde, test_log) = run_test_inprocess(test_build_dir)
testresult.add_step(BuildStep.test, tstdo, tstde, test_log, time.time() - test_start)

Loading…
Cancel
Save