Index: build/android/pylib/local/machine/local_machine_junit_test_run.py |
diff --git a/build/android/pylib/local/machine/local_machine_junit_test_run.py b/build/android/pylib/local/machine/local_machine_junit_test_run.py |
index 3d4d2c0736c929eddc21c7929703206a037821d7..b4ce4a9a4df1a01ad662132997b18daeb9813c39 100644 |
--- a/build/android/pylib/local/machine/local_machine_junit_test_run.py |
+++ b/build/android/pylib/local/machine/local_machine_junit_test_run.py |
@@ -4,15 +4,13 @@ |
import json |
import os |
-import zipfile |
+import tempfile |
from devil.utils import cmd_helper |
-from devil.utils import reraiser_thread |
from pylib import constants |
from pylib.base import base_test_result |
from pylib.base import test_run |
from pylib.results import json_results |
-from py_utils import tempfile_ext |
class LocalMachineJunitTestRun(test_run.TestRun): |
@@ -29,34 +27,14 @@ |
#override |
def RunTests(self): |
- with tempfile_ext.NamedTemporaryDirectory() as temp_dir: |
- json_file_path = os.path.join(temp_dir, 'results.json') |
- |
- # Extract resources needed for test. |
- # TODO(mikecase): Investigate saving md5sums of zipfiles, and only |
- # extract zipfiles when they change. |
- def extract_resource_zip(resource_zip): |
- def helper(): |
- extract_dest = os.path.join( |
- temp_dir, os.path.splitext(os.path.basename(resource_zip))[0]) |
- with zipfile.ZipFile(resource_zip, 'r') as zf: |
- zf.extractall(extract_dest) |
- return extract_dest |
- return helper |
- |
- resource_dirs = reraiser_thread.RunAsync( |
- [extract_resource_zip(resource_zip) |
- for resource_zip in self._test_instance.resource_zips |
- if os.path.exists(resource_zip)]) |
- |
- java_script = os.path.join( |
- constants.GetOutDirectory(), 'bin', 'helper', |
- self._test_instance.suite) |
+ with tempfile.NamedTemporaryFile() as json_file: |
+ java_script = os.path.join(constants.GetOutDirectory(), 'bin', 'helper', |
+ self._test_instance.suite) |
command = [java_script] |
# Add Jar arguments. |
jar_args = ['-test-jars', self._test_instance.suite + '.jar', |
- '-json-results-file', json_file_path] |
+ '-json-results-file', json_file.name] |
if self._test_instance.test_filter: |
jar_args.extend(['-gtest-filter', self._test_instance.test_filter]) |
if self._test_instance.package_filter: |
@@ -67,22 +45,15 @@ |
command.extend(['--jar-args', '"%s"' % ' '.join(jar_args)]) |
# Add JVM arguments. |
- jvm_args = ['-Drobolectric.dependency.dir=%s' % |
- self._test_instance.robolectric_runtime_deps_dir, |
- '-Ddir.source.root=%s' % constants.DIR_SOURCE_ROOT,] |
- |
- if self._test_instance.android_manifest_path: |
- jvm_args += ['-Dchromium.robolectric.manifest=%s' % |
- self._test_instance.android_manifest_path] |
- |
- if self._test_instance.package_name: |
- jvm_args += ['-Dchromium.robolectric.package.name=%s' % |
- self._test_instance.package_name] |
- |
- if resource_dirs: |
- jvm_args += ['-Dchromium.robolectric.resource.dirs=%s' % |
- ':'.join(resource_dirs)] |
- |
+ jvm_args = [] |
+ # TODO(mikecase): Add a --robolectric-dep-dir arg to test runner. |
+ # Have this arg set by GN in the generated test runner scripts. |
+ jvm_args += [ |
+ '-Drobolectric.dependency.dir=%s' % os.path.join( |
+ constants.GetOutDirectory(), 'lib.java', 'third_party', |
+ 'robolectric'), |
+ '-Ddir.source.root=%s' % constants.DIR_SOURCE_ROOT, |
+ ] |
if self._test_instance.coverage_dir: |
if not os.path.exists(self._test_instance.coverage_dir): |
os.makedirs(self._test_instance.coverage_dir) |
@@ -91,14 +62,12 @@ |
jvm_args.append('-Demma.coverage.out.file=%s' % os.path.join( |
self._test_instance.coverage_dir, |
'%s.ec' % self._test_instance.suite)) |
- |
if jvm_args: |
command.extend(['--jvm-args', '"%s"' % ' '.join(jvm_args)]) |
cmd_helper.RunCmd(command) |
- with open(json_file_path, 'r') as f: |
- results_list = json_results.ParseResultsFromJson( |
- json.loads(f.read())) |
+ results_list = json_results.ParseResultsFromJson( |
+ json.loads(json_file.read())) |
test_run_results = base_test_result.TestRunResults() |
test_run_results.AddResults(results_list) |