v8/test/test262
machenbach 6cecb3eb77 [Swarming] Speed up test262 upload/download.
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}
2016-02-19 14:41:29 +00:00
..
archive.py [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
harness-adapt.js [test] Copy test262-es6 into test262. 2015-09-25 13:03:36 +00:00
list.py [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
README Make test262 README file revision independent. 2015-11-04 10:52:44 +00:00
test262.gyp [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
test262.isolate [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
test262.status Make Date.prototype.toGMTString an alias for Date.prototype.toUTCString 2016-02-19 02:18:54 +00:00
testcfg.py [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00

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.