6cecb3eb77
This experimentally implements taring/untaring the test data for test262 on the v8-side before test isolation and when running the tests. It archives on demand only if the tar is outdated compared to the contained files. This comes with a cost of ~1s extra to run gyp on linux and ~6s extra on windows. Ninja is lightning fast afterwards in detecting changes. Also, we archive only when test_isolation_mode is set and when the test262_run target is required. The archiving itself costs ~30s on all platforms. But as the files will change seldom this shouldn't have a big impact. Extraction on the test runner side is below 2s on mac and linux. The speedup is enormous. Around 5 minutes were spent on download on swarming slaves before, which is now only a few seconds. So total test time for release (no variants), e.g. goes from 8 to 3 minutes. BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1713993002 Cr-Commit-Position: refs/heads/master@{#34155} |
||
---|---|---|
.. | ||
archive.py | ||
harness-adapt.js | ||
list.py | ||
README | ||
test262.gyp | ||
test262.isolate | ||
test262.status | ||
testcfg.py |
This directory contains code for binding the test262 test suite into the v8 test harness. The tests are checked out as a dependency from https://chromium.googlesource.com/external/github.com/tc39/test262 at a revision specified in the DEPS file as 'data' in this directory. They are fetched with 'gclient sync'. To update to a newer version, please change the DEPS file. Using a newer version, e.g. 'deadbeef' may be possible but the tests are only known to pass (and indeed run) with the DEPS revision. Example: cd data git fetch git checkout deadbeef If you do update to a newer revision you may have to change the test harness adapter code since it uses internal functionality from the harness that comes bundled with the tests. You will most likely also have to update the test expectation file.