OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 | 5 |
6 import os | 6 import os |
7 import re | 7 import re |
8 import sys | 8 import sys |
9 | 9 |
10 import cmd_helper | 10 import cmd_helper |
(...skipping 11 matching lines...) Expand all Loading... |
22 device: Device to run the tests. | 22 device: Device to run the tests. |
23 test_suite: A specific test suite to run, empty to run all. | 23 test_suite: A specific test suite to run, empty to run all. |
24 timeout: Timeout for each test. | 24 timeout: Timeout for each test. |
25 rebaseline: Whether or not to run tests in isolation and update the filter. | 25 rebaseline: Whether or not to run tests in isolation and update the filter. |
26 performance_test: Whether or not performance test(s). | 26 performance_test: Whether or not performance test(s). |
27 cleanup_test_files: Whether or not to cleanup test files on device. | 27 cleanup_test_files: Whether or not to cleanup test files on device. |
28 tool: Name of the Valgrind tool. | 28 tool: Name of the Valgrind tool. |
29 dump_debug_info: A debug_info object. | 29 dump_debug_info: A debug_info object. |
30 """ | 30 """ |
31 | 31 |
32 APK_DATA_DIR = '/data/user/0/org.chromium.native_test/files/' | 32 # The stdout.txt path is determined by: |
| 33 # testing/android/java/src/org/chromium/native_test/ |
| 34 # ChromeNativeTestActivity.java |
| 35 APK_STDOUT_FILE = '/sdcard/native_tests/stdout.txt' |
33 | 36 |
34 def __init__(self, adb, device, test_suite, timeout, rebaseline, | 37 def __init__(self, adb, device, test_suite, timeout, rebaseline, |
35 performance_test, cleanup_test_files, tool, | 38 performance_test, cleanup_test_files, tool, |
36 dump_debug_info): | 39 dump_debug_info): |
37 TestPackage.__init__(self, adb, device, test_suite, timeout, | 40 TestPackage.__init__(self, adb, device, test_suite, timeout, |
38 rebaseline, performance_test, cleanup_test_files, | 41 rebaseline, performance_test, cleanup_test_files, |
39 tool, dump_debug_info) | 42 tool, dump_debug_info) |
40 | 43 |
41 def _CreateTestRunnerScript(self, options): | 44 def _CreateTestRunnerScript(self, options): |
42 command_line_file = tempfile.NamedTemporaryFile() | 45 command_line_file = tempfile.NamedTemporaryFile() |
(...skipping 19 matching lines...) Expand all Loading... |
62 'am start -n ' | 65 'am start -n ' |
63 'org.chromium.native_test/' | 66 'org.chromium.native_test/' |
64 'org.chromium.native_test.ChromeNativeTestActivity') | 67 'org.chromium.native_test.ChromeNativeTestActivity') |
65 # Wait for native test to complete. | 68 # Wait for native test to complete. |
66 self.adb.WaitForLogMatch(re.compile('<<nativeRunTests'), None) | 69 self.adb.WaitForLogMatch(re.compile('<<nativeRunTests'), None) |
67 finally: | 70 finally: |
68 self.tool.CleanUpEnvironment() | 71 self.tool.CleanUpEnvironment() |
69 # Copy stdout.txt and read contents. | 72 # Copy stdout.txt and read contents. |
70 stdout_file = tempfile.NamedTemporaryFile() | 73 stdout_file = tempfile.NamedTemporaryFile() |
71 ret = [] | 74 ret = [] |
72 self.adb.Adb().Pull(TestPackageApk.APK_DATA_DIR + 'stdout.txt', | 75 self.adb.Adb().Pull(TestPackageApk.APK_STDOUT_FILE, stdout_file.name) |
73 stdout_file.name) | |
74 # We need to strip the trailing newline. | 76 # We need to strip the trailing newline. |
75 content = [line.rstrip() for line in open(stdout_file.name)] | 77 content = [line.rstrip() for line in open(stdout_file.name)] |
76 ret = self._ParseGTestListTests(content) | 78 ret = self._ParseGTestListTests(content) |
77 return ret | 79 return ret |
78 | 80 |
79 def CreateTestRunnerScript(self, gtest_filter, test_arguments): | 81 def CreateTestRunnerScript(self, gtest_filter, test_arguments): |
80 self._CreateTestRunnerScript('--gtest_filter=%s %s' % (gtest_filter, | 82 self._CreateTestRunnerScript('--gtest_filter=%s %s' % (gtest_filter, |
81 test_arguments)) | 83 test_arguments)) |
82 | 84 |
83 def RunTestsAndListResults(self): | 85 def RunTestsAndListResults(self): |
(...skipping 16 matching lines...) Expand all Loading... |
100 timeout_time=60*5) | 102 timeout_time=60*5) |
101 logging.info('Installing new apk') | 103 logging.info('Installing new apk') |
102 self.adb.Adb().SendCommand('install -r ' + self.test_suite_full, | 104 self.adb.Adb().SendCommand('install -r ' + self.test_suite_full, |
103 timeout_time=60*5) | 105 timeout_time=60*5) |
104 logging.info('Install has completed.') | 106 logging.info('Install has completed.') |
105 | 107 |
106 def _GetTestSuiteBaseName(self): | 108 def _GetTestSuiteBaseName(self): |
107 """Returns the base name of the test suite.""" | 109 """Returns the base name of the test suite.""" |
108 # APK test suite names end with '-debug.apk' | 110 # APK test suite names end with '-debug.apk' |
109 return os.path.basename(self.test_suite).rsplit('-debug', 1)[0] | 111 return os.path.basename(self.test_suite).rsplit('-debug', 1)[0] |
OLD | NEW |