v8/test/test262/test262.gyp
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

35 lines
885 B
Python

# Copyright 2015 the V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'conditions': [
['test_isolation_mode != "noop"', {
'targets': [
{
'target_name': 'test262_run',
'type': 'none',
'dependencies': [
'../../src/d8.gyp:d8_run',
],
'includes': [
'../../build/features.gypi',
'../../build/isolate.gypi',
],
'sources': [
'test262.isolate',
],
'actions': [
{
'action_name': 'archive_test262',
'inputs': ['archive.py', '<!@(python list.py)'],
'outputs': ['data.tar'],
'action': ['python', 'archive.py'],
},
],
},
],
}],
],
}