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

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

Issue 12758002: Add android buildbot support for exe tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Don't wrap with bash for presubmit testing. CQ has no android_tools directory. Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « build/android/buildbot/bb_run_bot.py ('k') | build/android/pylib/gtest/gtest_config.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 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 import copy 5 import copy
6 import fnmatch 6 import fnmatch
7 import logging 7 import logging
8 import os 8 import os
9 9
10 from pylib import android_commands 10 from pylib import android_commands
(...skipping 15 matching lines...) Expand all
26 exe: if True, use the executable-based test runner. 26 exe: if True, use the executable-based test runner.
27 option_test_suite: the test_suite specified as an option. 27 option_test_suite: the test_suite specified as an option.
28 build_type: 'Release' or 'Debug'. 28 build_type: 'Release' or 'Debug'.
29 29
30 Returns: 30 Returns:
31 A list of tuples containing the suite and absolute path. 31 A list of tuples containing the suite and absolute path.
32 Ex. ('content_unittests', 32 Ex. ('content_unittests',
33 '/tmp/chrome/src/out/Debug/content_unittests_apk/' 33 '/tmp/chrome/src/out/Debug/content_unittests_apk/'
34 'content_unittests-debug.apk') 34 'content_unittests-debug.apk')
35 """ 35 """
36 def GetQualifiedSuite(suite):
37 if suite.is_suite_exe:
38 relpath = suite.name
39 else:
40 # out/(Debug|Release)/$SUITE_apk/$SUITE-debug.apk
41 relpath = os.path.join(suite.name + '_apk', suite.name + '-debug.apk')
42 return suite.name, os.path.join(test_suite_dir, relpath)
43
36 test_suite_dir = os.path.join(cmd_helper.OutDirectory.get(), build_type) 44 test_suite_dir = os.path.join(cmd_helper.OutDirectory.get(), build_type)
37 if option_test_suite: 45 if option_test_suite:
38 all_test_suites = [option_test_suite] 46 all_test_suites = [gtest_config.Suite(exe, option_test_suite)]
39 else: 47 else:
40 all_test_suites = gtest_config.STABLE_TEST_SUITES 48 all_test_suites = gtest_config.STABLE_TEST_SUITES
41 49
42 if exe: 50 # List of tuples (suite_name, suite_path)
43 qualified_test_suites = [os.path.join(test_suite_dir, t) 51 qualified_test_suites = map(GetQualifiedSuite, all_test_suites)
44 for t in all_test_suites] 52
45 else: 53 for t, q in qualified_test_suites:
46 # out/(Debug|Release)/$SUITE_apk/$SUITE-debug.apk
47 qualified_test_suites = [os.path.join(test_suite_dir,
48 t + '_apk',
49 t + '-debug.apk')
50 for t in all_test_suites]
51 for t, q in zip(all_test_suites, qualified_test_suites):
52 if not os.path.exists(q): 54 if not os.path.exists(q):
53 raise Exception('Test suite %s not found in %s.\n' 55 raise Exception('Test suite %s not found in %s.\n'
54 'Supported test suites:\n %s\n' 56 'Supported test suites:\n %s\n'
55 'Ensure it has been built.\n' % 57 'Ensure it has been built.\n' %
56 (t, q, gtest_config.STABLE_TEST_SUITES)) 58 (t, q, gtest_config.STABLE_TEST_SUITES))
57 return zip(all_test_suites, qualified_test_suites) 59 return qualified_test_suites
58 60
59 61
60 def GetTestsFromDevice(runner): 62 def GetTestsFromDevice(runner):
61 """Get a list of tests from a device, excluding disabled tests. 63 """Get a list of tests from a device, excluding disabled tests.
62 64
63 Args: 65 Args:
64 runner: a TestRunner. 66 runner: a TestRunner.
65 """ 67 """
66 # The executable/apk needs to be copied before we can call GetAllTests. 68 # The executable/apk needs to be copied before we can call GetAllTests.
67 runner.test_package.StripAndCopyExecutable() 69 runner.test_package.StripAndCopyExecutable()
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 failures = 0 210 failures = 0
209 for suite_name, suite_path in all_test_suites: 211 for suite_name, suite_path in all_test_suites:
210 # Give each test suite its own copy of options. 212 # Give each test suite its own copy of options.
211 test_options = copy.deepcopy(options) 213 test_options = copy.deepcopy(options)
212 test_options.test_suite = suite_path 214 test_options.test_suite = suite_path
213 failures += _RunATestSuite(test_options, suite_name) 215 failures += _RunATestSuite(test_options, suite_name)
214 216
215 if options.use_xvfb: 217 if options.use_xvfb:
216 framebuffer.Stop() 218 framebuffer.Stop()
217 return failures 219 return failures
OLDNEW
« no previous file with comments | « build/android/buildbot/bb_run_bot.py ('k') | build/android/pylib/gtest/gtest_config.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698