Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: scripts/slave/runisolatedtest.py

Issue 218473003: Remove .isolated file rewriting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Minimized diff Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | scripts/slave/unittests/runisolatedtest_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: scripts/slave/runisolatedtest.py
diff --git a/scripts/slave/runisolatedtest.py b/scripts/slave/runisolatedtest.py
index abdd806aed82b8d1101b5362c98cdaa18eff82a8..34e2c94d6f902b565f6d9d7eb48b1054808e439d 100755
--- a/scripts/slave/runisolatedtest.py
+++ b/scripts/slave/runisolatedtest.py
@@ -10,16 +10,12 @@ all the tests always isolated even when not run on Swarming. This will take a
while.
"""
-import json
import logging
import optparse
import os
-import re
import subprocess
import sys
-from slave import build_directory
-
USAGE = ('%s [options] /full/path/to/test.exe -- [original test command]' %
os.path.basename(sys.argv[0]))
@@ -88,63 +84,6 @@ def run_command(command):
return subprocess.call(command)
-def sanitize_build_dir(s, build_dir_basename):
- """Replaces references to build directory in s with references to build_dir"""
- return re.sub(r'\b(?:out|build|xcodebuild)([\\/](?:Debug|Release))',
- build_dir_basename + r'\1', s)
-
-
-def sanitize_isolated_file(isolated_file, build_dir_basename):
- """Crack open .isolated file and fix embedded paths, if necessary.
-
- isolates assume that they can embed the build directory at build time and
- still used that directory at test time. With a builder/tester setup, this
- isn't generally true, so rewrite the paths in the isolated file. See
- http://crbug.com/311622 for details. This can go away once all bots using
- isolates are using ninja.
-
- TODO(maruel): Do not forget to delete this code once the Windows incremental
- builder is switched to ninja.
- """
- # See the isolates file format description at:
- # https://code.google.com/p/swarming/wiki/IsolatedDesign#.isolated_file_format
- with open(isolated_file) as f:
- isolated_data = json.load(f)
-
- # 1. check version
- if isolated_data['version'].split('.', 1)[0] != '1':
- logging.error('Unexpected isolate version %s', isolated_data['version'])
- return 1
-
- # 2. fix command, print it
- for i in range(len(isolated_data['command'])):
- arg = isolated_data['command'][i]
- isolated_data['command'][i] = sanitize_build_dir(arg, build_dir_basename)
-
- # 3. fix files
- sanitized_files = {}
- for key, value in isolated_data['files'].iteritems():
- # a) fix key
- key = sanitize_build_dir(key, build_dir_basename)
- sanitized_files[key] = value
- # b) fix 'l' entry
- if 'l' in value:
- value['l'] = sanitize_build_dir(value['l'], build_dir_basename)
- isolated_data['files'] = sanitized_files
-
- # 4. Fix variables->PRODUCT_DIR if necessary (only present in the .state file)
- for name in ('path_variables', 'variables'):
- variables = isolated_data.get(name, {})
- if 'PRODUCT_DIR' in variables:
- variables['PRODUCT_DIR'] = sanitize_build_dir(variables['PRODUCT_DIR'],
- build_dir_basename)
-
- # TODO(thakis): fix 'includes' if necessary.
-
- with open(isolated_file, 'w') as f:
- json.dump(isolated_data, f)
-
-
def run_test_isolated(isolate_script, test_exe, original_command):
"""Runs the test under isolate.py run.
@@ -160,16 +99,6 @@ def run_test_isolated(isolate_script, test_exe, original_command):
logging.error('No isolate file %s', isolated_file)
return 1
- # '/path/to/src/out' -> 'out'
- build_dir_basename = os.path.basename(
- build_directory.GetBuildOutputDirectory())
- sanitize_isolated_file(isolated_file, build_dir_basename)
-
- # Update the .isolated.state cache too.
- cache_file = isolated_file + '.state'
- if os.path.exists(cache_file):
- sanitize_isolated_file(cache_file, build_dir_basename)
-
isolate_command = [sys.executable, isolate_script,
'run', '--isolated', isolated_file,
# Print info log lines, so isolate.py prints the path to
« no previous file with comments | « no previous file | scripts/slave/unittests/runisolatedtest_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698