OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """A test runner for gtest application tests.""" | 6 """A test runner for gtest application tests.""" |
7 | 7 |
8 import argparse | 8 import argparse |
9 import json | 9 import json |
10 import logging | 10 import logging |
| 11 import os |
11 import sys | 12 import sys |
12 import time | 13 import time |
13 | 14 |
14 from mopy import gtest | 15 from mopy import gtest |
15 from mopy.config import Config | 16 from mopy.config import Config |
16 | 17 |
17 | 18 |
18 def main(): | 19 def main(): |
19 parser = argparse.ArgumentParser(description="An application test runner.") | 20 parser = argparse.ArgumentParser(description="An application test runner.") |
20 parser.add_argument("test_list_file", type=file, | 21 parser.add_argument("test_list_file", type=file, |
(...skipping 11 matching lines...) Expand all Loading... |
32 logger.debug("Initialized logging: level=%s" % logger.level) | 33 logger.debug("Initialized logging: level=%s" % logger.level) |
33 | 34 |
34 logger.debug("Test list file: %s", args.test_list_file) | 35 logger.debug("Test list file: %s", args.test_list_file) |
35 config = Config(args.build_dir) | 36 config = Config(args.build_dir) |
36 execution_globals = {"config": config} | 37 execution_globals = {"config": config} |
37 exec args.test_list_file in execution_globals | 38 exec args.test_list_file in execution_globals |
38 test_list = execution_globals["tests"] | 39 test_list = execution_globals["tests"] |
39 logger.debug("Test list: %s" % test_list) | 40 logger.debug("Test list: %s" % test_list) |
40 | 41 |
41 shell = None | 42 shell = None |
42 extra_args = [] | |
43 if config.target_os == Config.OS_ANDROID: | 43 if config.target_os == Config.OS_ANDROID: |
44 from mopy.android import AndroidShell | 44 from mopy.android import AndroidShell |
45 shell = AndroidShell(config) | 45 shell = AndroidShell(config) |
46 extra_args.extend(shell.PrepareShellRun('localhost')) | 46 result = shell.InitShell() |
| 47 if result != 0: |
| 48 return result |
47 | 49 |
48 tests = [] | 50 tests = [] |
49 passed = [] | 51 passed = [] |
50 failed = [] | 52 failed = [] |
51 for test_dict in test_list: | 53 for test_dict in test_list: |
52 test = test_dict["test"] | 54 test = test_dict["test"] |
53 test_name = test_dict.get("name", test) | 55 test_name = test_dict.get("name", test) |
54 test_type = test_dict.get("type", "gtest") | 56 test_type = test_dict.get("type", "gtest") |
55 test_args = test_dict.get("args", []) + extra_args | 57 test_args = test_dict.get("args", []) |
56 | 58 |
57 print "Running %s...%s" % (test_name, ("\n" if args.verbose else "")), | 59 print "Running %s...%s" % (test_name, ("\n" if args.verbose else "")), |
58 sys.stdout.flush() | 60 sys.stdout.flush() |
59 | 61 |
60 tests.append(test_name) | 62 tests.append(test_name) |
61 assert test_type in ("gtest", "gtest_isolated") | 63 assert test_type in ("gtest", "gtest_isolated") |
62 isolate = test_type == "gtest_isolated" | 64 isolate = test_type == "gtest_isolated" |
63 result = gtest.run_apptest(config, shell, test_args, test, isolate) | 65 result = gtest.run_apptest(config, shell, test_args, test, isolate) |
64 passed.extend([test_name] if result else []) | 66 passed.extend([test_name] if result else []) |
65 failed.extend([] if result else [test_name]) | 67 failed.extend([] if result else [test_name]) |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 trie[path] = value | 118 trie[path] = value |
117 return | 119 return |
118 directory, rest = path.split('.', 1) | 120 directory, rest = path.split('.', 1) |
119 if directory not in trie: | 121 if directory not in trie: |
120 trie[directory] = {} | 122 trie[directory] = {} |
121 _AddPathToTrie(trie[directory], rest, value) | 123 _AddPathToTrie(trie[directory], rest, value) |
122 | 124 |
123 | 125 |
124 if __name__ == '__main__': | 126 if __name__ == '__main__': |
125 sys.exit(main()) | 127 sys.exit(main()) |
OLD | NEW |