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

Side by Side Diff: mojo/devtools/common/mojo_test

Issue 1964903002: Disable output buffering in devtools scripts. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 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 """Test runner for Mojo application tests. 6 """Test runner for Mojo application tests.
7 7
8 TODO(vtl|msw): Add a way of specifying data dependencies. 8 TODO(vtl|msw): Add a way of specifying data dependencies.
9 """ 9 """
10 10
11 import argparse 11 import argparse
12 import logging 12 import logging
13 import sys 13 import sys
14 import os.path 14 import os.path
15 15
16 from devtoolslib import apptest_dart 16 from devtoolslib import apptest_dart
17 from devtoolslib import apptest_gtest 17 from devtoolslib import apptest_gtest
18 from devtoolslib import shell_arguments 18 from devtoolslib import shell_arguments
19 from devtoolslib import shell_config 19 from devtoolslib import shell_config
20 from devtoolslib.utils import disable_output_buffering
20 21
21 _DESCRIPTION = """Runner for Mojo application tests. 22 _DESCRIPTION = """Runner for Mojo application tests.
22 23
23 |test_list_file| has to be a valid Python program that sets a |tests| global 24 |test_list_file| has to be a valid Python program that sets a |tests| global
24 variable, containing entries of the following form: 25 variable, containing entries of the following form:
25 26
26 { 27 {
27 # Required URL for apptest. 28 # Required URL for apptest.
28 "test": "mojo:test_app_url", 29 "test": "mojo:test_app_url",
29 # Optional display name (otherwise the entry for "test" above is used). 30 # Optional display name (otherwise the entry for "test" above is used).
(...skipping 22 matching lines...) Expand all
52 53
53 _logger = logging.getLogger() 54 _logger = logging.getLogger()
54 55
55 _CACHE_SERVICE_URL = 'mojo:url_response_disk_cache' 56 _CACHE_SERVICE_URL = 'mojo:url_response_disk_cache'
56 _NETWORK_SERVICE_URL = 'mojo:network_service' 57 _NETWORK_SERVICE_URL = 'mojo:network_service'
57 _DART_STRICT_MODE_ARG = ('--args-for=mojo:dart_content_handler ' 58 _DART_STRICT_MODE_ARG = ('--args-for=mojo:dart_content_handler '
58 '--enable-strict-mode') 59 '--enable-strict-mode')
59 60
60 61
61 def main(): 62 def main():
63 disable_output_buffering()
62 parser = argparse.ArgumentParser( 64 parser = argparse.ArgumentParser(
63 formatter_class=argparse.RawDescriptionHelpFormatter, 65 formatter_class=argparse.RawDescriptionHelpFormatter,
64 description=_DESCRIPTION) 66 description=_DESCRIPTION)
65 parser.add_argument("test_list_file", type=file, 67 parser.add_argument("test_list_file", type=file,
66 help="a file listing apptests to run") 68 help="a file listing apptests to run")
67 shell_config.add_shell_arguments(parser) 69 shell_config.add_shell_arguments(parser)
68 70
69 script_args, shell_args = parser.parse_known_args() 71 script_args, shell_args = parser.parse_known_args()
70 72
71 try: 73 try:
(...skipping 23 matching lines...) Expand all
95 test_type = test_dict.get("type", "gtest") 97 test_type = test_dict.get("type", "gtest")
96 test_args = test_dict.get("test-args", []) 98 test_args = test_dict.get("test-args", [])
97 shell_args = test_dict.get("shell-args", []) + common_shell_args 99 shell_args = test_dict.get("shell-args", []) + common_shell_args
98 timeout = test_dict.get("timeout", 60) 100 timeout = test_dict.get("timeout", 60)
99 dart_strict_mode = test_dict.get("dart_strict_mode", True) 101 dart_strict_mode = test_dict.get("dart_strict_mode", True)
100 if dart_strict_mode: 102 if dart_strict_mode:
101 shell_args.append(_DART_STRICT_MODE_ARG) 103 shell_args.append(_DART_STRICT_MODE_ARG)
102 104
103 _logger.info("Will start: %s" % test_name) 105 _logger.info("Will start: %s" % test_name)
104 print "Running %s...." % test_name, 106 print "Running %s...." % test_name,
105 sys.stdout.flush()
106 107
107 if test_type == "dart": 108 if test_type == "dart":
108 apptest_result = apptest_dart.run_dart_apptest(shell, shell_args, test, 109 apptest_result = apptest_dart.run_dart_apptest(shell, shell_args, test,
109 test_args, timeout) 110 test_args, timeout)
110 elif test_type == "gtest": 111 elif test_type == "gtest":
111 apptest_result = apptest_gtest.run_gtest_apptest(shell, shell_args, test, 112 apptest_result = apptest_gtest.run_gtest_apptest(shell, shell_args, test,
112 test_args, timeout, 113 test_args, timeout,
113 False) 114 False)
114 elif test_type == "gtest_isolated": 115 elif test_type == "gtest_isolated":
115 apptest_result = apptest_gtest.run_gtest_apptest(shell, shell_args, test, 116 apptest_result = apptest_gtest.run_gtest_apptest(shell, shell_args, test,
116 test_args, timeout, 117 test_args, timeout,
117 True) 118 True)
118 else: 119 else:
119 apptest_result = False 120 apptest_result = False
120 print "Unrecognized test type in %r" % test_dict 121 print "Unrecognized test type in %r" % test_dict
121 122
122 print "Succeeded" if apptest_result else "Failed" 123 print "Succeeded" if apptest_result else "Failed"
123 _logger.info("Completed: %s" % test_name) 124 _logger.info("Completed: %s" % test_name)
124 if not apptest_result: 125 if not apptest_result:
125 succeeded = False 126 succeeded = False
126 return 0 if succeeded else 1 127 return 0 if succeeded else 1
127 128
128 if __name__ == '__main__': 129 if __name__ == '__main__':
129 sys.exit(main()) 130 sys.exit(main())
OLDNEW
« mojo/devtools/common/devtoolslib/utils.py ('K') | « mojo/devtools/common/mojo_run ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698