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

Side by Side Diff: build/android/pylib/junit/test_runner.py

Issue 2501693002: Make platform-mode default for JUnit tests. (Closed)
Patch Set: rebase!!!!! Created 4 years, 1 month 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
« no previous file with comments | « build/android/pylib/junit/test_dispatcher.py ('k') | build/android/test_runner.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import json
6 import os
7 import tempfile
8
9 from devil.utils import cmd_helper
10 from pylib import constants
11 from pylib.results import json_results
12
13 class JavaTestRunner(object):
14 """Runs java tests on the host."""
15
16 def __init__(self, args):
17 self._coverage_dir = args.coverage_dir
18 self._package_filter = args.package_filter
19 self._runner_filter = args.runner_filter
20
21 self._test_filter = args.test_filter
22 self._test_suite = args.test_suite
23
24 def SetUp(self):
25 pass
26
27 def RunTest(self, _test):
28 """Runs junit tests from |self._test_suite|."""
29 with tempfile.NamedTemporaryFile() as json_file:
30 java_script = os.path.join(
31 constants.GetOutDirectory(), 'bin', 'helper', self._test_suite)
32 command = [java_script]
33
34 # Add Jar arguments.
35 jar_args = ['-test-jars', self._test_suite + '.jar',
36 '-json-results-file', json_file.name]
37 if self._test_filter:
38 jar_args.extend(['-gtest-filter', self._test_filter])
39 if self._package_filter:
40 jar_args.extend(['-package-filter', self._package_filter])
41 if self._runner_filter:
42 jar_args.extend(['-runner-filter', self._runner_filter])
43 command.extend(['--jar-args', '"%s"' % ' '.join(jar_args)])
44
45 # Add JVM arguments.
46 jvm_args = []
47 # TODO(mikecase): Add a --robolectric-dep-dir arg to test runner.
48 # Have this arg set by GN in the generated test runner scripts.
49 jvm_args += [
50 '-Drobolectric.dependency.dir=%s' %
51 os.path.join(constants.GetOutDirectory(),
52 'lib.java', 'third_party', 'robolectric')]
53 if self._coverage_dir:
54 if not os.path.exists(self._coverage_dir):
55 os.makedirs(self._coverage_dir)
56 elif not os.path.isdir(self._coverage_dir):
57 raise Exception('--coverage-dir takes a directory, not file path.')
58 jvm_args.append('-Demma.coverage.out.file=%s' % os.path.join(
59 self._coverage_dir, '%s.ec' % self._test_suite))
60 if jvm_args:
61 command.extend(['--jvm-args', '"%s"' % ' '.join(jvm_args)])
62
63 return_code = cmd_helper.RunCmd(command)
64 results_list = json_results.ParseResultsFromJson(
65 json.loads(json_file.read()))
66 return (results_list, return_code)
67
68 def TearDown(self):
69 pass
70
OLDNEW
« no previous file with comments | « build/android/pylib/junit/test_dispatcher.py ('k') | build/android/test_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698