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

Side by Side Diff: build/android/pylib/gtest/setup.py

Issue 22903016: [android] Adds constants.GetOutDirectory() and converts test scripts to use it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: update adb_install_apk.py Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Generates test runner factory and tests for GTests.""" 5 """Generates test runner factory and tests for GTests."""
6 6
7 import fnmatch 7 import fnmatch
8 import glob 8 import glob
9 import logging 9 import logging
10 import os 10 import os
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 _ISOLATE_SCRIPT = os.path.join( 68 _ISOLATE_SCRIPT = os.path.join(
69 constants.DIR_SOURCE_ROOT, 'tools', 'swarm_client', 'isolate.py') 69 constants.DIR_SOURCE_ROOT, 'tools', 'swarm_client', 'isolate.py')
70 70
71 71
72 def _GenerateDepsDirUsingIsolate(suite_name): 72 def _GenerateDepsDirUsingIsolate(suite_name):
73 """Generate the dependency dir for the test suite using isolate. 73 """Generate the dependency dir for the test suite using isolate.
74 74
75 Args: 75 Args:
76 suite_name: Name of the test suite (e.g. base_unittests). 76 suite_name: Name of the test suite (e.g. base_unittests).
77 """ 77 """
78 product_dir = os.path.join(cmd_helper.OutDirectory.get(),
79 constants.GetBuildType())
80 assert os.path.isabs(product_dir)
81
82 if os.path.isdir(constants.ISOLATE_DEPS_DIR): 78 if os.path.isdir(constants.ISOLATE_DEPS_DIR):
83 shutil.rmtree(constants.ISOLATE_DEPS_DIR) 79 shutil.rmtree(constants.ISOLATE_DEPS_DIR)
84 80
85 isolate_rel_path = _ISOLATE_FILE_PATHS.get(suite_name) 81 isolate_rel_path = _ISOLATE_FILE_PATHS.get(suite_name)
86 if not isolate_rel_path: 82 if not isolate_rel_path:
87 logging.info('Did not find an isolate file for the test suite.') 83 logging.info('Did not find an isolate file for the test suite.')
88 return 84 return
89 85
90 isolate_abs_path = os.path.join(constants.DIR_SOURCE_ROOT, isolate_rel_path) 86 isolate_abs_path = os.path.join(constants.DIR_SOURCE_ROOT, isolate_rel_path)
91 isolated_abs_path = os.path.join( 87 isolated_abs_path = os.path.join(
92 product_dir, '%s.isolated' % suite_name) 88 constants.GetBuildDirectory(), '%s.isolated' % suite_name)
93 assert os.path.exists(isolate_abs_path) 89 assert os.path.exists(isolate_abs_path)
94 isolate_cmd = [ 90 isolate_cmd = [
95 'python', _ISOLATE_SCRIPT, 91 'python', _ISOLATE_SCRIPT,
96 'remap', 92 'remap',
97 '--isolate', isolate_abs_path, 93 '--isolate', isolate_abs_path,
98 '--isolated', isolated_abs_path, 94 '--isolated', isolated_abs_path,
99 '-V', 'PRODUCT_DIR=%s' % product_dir, 95 '-V', 'PRODUCT_DIR=%s' % constants.GetBuildDirectory(),
100 '-V', 'OS=android', 96 '-V', 'OS=android',
101 '--outdir', constants.ISOLATE_DEPS_DIR, 97 '--outdir', constants.ISOLATE_DEPS_DIR,
102 ] 98 ]
103 assert not cmd_helper.RunCmd(isolate_cmd) 99 assert not cmd_helper.RunCmd(isolate_cmd)
104 100
105 # We're relying on the fact that timestamps are preserved 101 # We're relying on the fact that timestamps are preserved
106 # by the remap command (hardlinked). Otherwise, all the data 102 # by the remap command (hardlinked). Otherwise, all the data
107 # will be pushed to the device once we move to using time diff 103 # will be pushed to the device once we move to using time diff
108 # instead of md5sum. Perform a sanity check here. 104 # instead of md5sum. Perform a sanity check here.
109 for root, _, filenames in os.walk(constants.ISOLATE_DEPS_DIR): 105 for root, _, filenames in os.walk(constants.ISOLATE_DEPS_DIR):
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 attached_devices = android_commands.GetAttachedDevices() 289 attached_devices = android_commands.GetAttachedDevices()
294 tests = _GetTestsFiltered(test_options.suite_name, test_options.gtest_filter, 290 tests = _GetTestsFiltered(test_options.suite_name, test_options.gtest_filter,
295 TestRunnerFactory, attached_devices) 291 TestRunnerFactory, attached_devices)
296 # Coalesce unit tests into a single test per device 292 # Coalesce unit tests into a single test per device
297 if test_options.suite_name != 'content_browsertests': 293 if test_options.suite_name != 'content_browsertests':
298 num_devices = len(attached_devices) 294 num_devices = len(attached_devices)
299 tests = [':'.join(tests[i::num_devices]) for i in xrange(num_devices)] 295 tests = [':'.join(tests[i::num_devices]) for i in xrange(num_devices)]
300 tests = [t for t in tests if t] 296 tests = [t for t in tests if t]
301 297
302 return (TestRunnerFactory, tests) 298 return (TestRunnerFactory, tests)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698