Index: scripts/slave/recipe_modules/test_results/resources/upload_test_results.py |
diff --git a/scripts/slave/recipe_modules/test_results/resources/upload_gtest_test_results.py b/scripts/slave/recipe_modules/test_results/resources/upload_test_results.py |
similarity index 82% |
rename from scripts/slave/recipe_modules/test_results/resources/upload_gtest_test_results.py |
rename to scripts/slave/recipe_modules/test_results/resources/upload_test_results.py |
index 974d5bd08a77dfe27e9f9602f3966bc72639575c..caa54163581f149b3f7d1b2c2e4180a7fffe8155 100755 |
--- a/scripts/slave/recipe_modules/test_results/resources/upload_gtest_test_results.py |
+++ b/scripts/slave/recipe_modules/test_results/resources/upload_test_results.py |
@@ -80,6 +80,18 @@ def generate_json_results(test_results_map, builder_name, build_number, |
generator.generate_times_ms_file() |
+def generate_files_for_gtest_results( |
+ raw_json, builder_name, build_number, results_directory, chrome_revision, |
+ master_name): |
+ results_map = get_results_map_from_json(raw_json) |
+ generate_json_results(results_map, builder_name, |
+ build_number, results_directory, |
+ chrome_revision, master_name) |
+ files = [(f, os.path.join(results_directory, f)) for f in |
+ (FULL_RESULTS_FILENAME, TIMES_MS_FILENAME)] |
+ return files |
+ |
+ |
def main(): |
option_parser = optparse.OptionParser() |
option_parser.add_option('--test-type', |
@@ -87,7 +99,7 @@ def main(): |
' e.g. unit-tests.') |
option_parser.add_option('--results-directory', default=os.getcwd(), |
help='Output results directory source dir.') |
- option_parser.add_option('--input-gtest-json', |
+ option_parser.add_option('--input-json', |
help='Test results json file (input for us).') |
option_parser.add_option('--builder-name', |
default='DUMMY_BUILDER_NAME', |
@@ -115,7 +127,7 @@ def main(): |
option_parser.error('--test-type needs to be specified.') |
return 1 |
- if not options.input_gtest_json: |
+ if not options.input_json: |
option_parser.error('--input-gtest-json needs to be specified.') |
return 1 |
@@ -124,12 +136,20 @@ def main(): |
'--master-name is not specified; the results won\'t be ' |
'uploaded to the server.') |
- with file(options.input_gtest_json) as json_file: |
- results_map = get_results_map_from_json(json_file.read()) |
+ with file(options.input_json) as json_file: |
+ raw_json = json_file.read() |
+ |
+ if (raw_json.get(json_results_generator.JSONResultsGenerator.VERSION, 0) != |
+ json_results_generator.JSONResultsGenerator.VERSION_NUMBER): |
+ files = generate_files_for_gtest_results( |
+ raw_json, builder_name=options.builder_name, |
+ build_number=options.build_number, |
+ results_directory=options.results_directory, |
+ chrome_revision=options.chrome_revision, |
+ master_name=options.master_name) |
+ else: |
+ files = [options.input_json] |
- generate_json_results(results_map, options.builder_name, |
- options.build_number, options.results_directory, |
- options.chrome_revision, options.master_name) |
# Upload to a test results server if specified. |
if options.test_results_server and options.master_name: |
@@ -139,9 +159,6 @@ def main(): |
('testtype', options.test_type), |
('master', options.master_name)] |
- files = [(f, os.path.join(options.results_directory, f)) for f in |
- (FULL_RESULTS_FILENAME, TIMES_MS_FILENAME)] |
- |
# Set uploading timeout in case appengine server is having problem. |
# 120 seconds are more than enough to upload test results. |
test_results_uploader.upload_test_results( |