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

Unified Diff: scripts/slave/recipe_modules/test_results/resources/upload_test_results.py

Issue 2494883003: Add metadata to json results before uploading (Closed)
Patch Set: Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: scripts/slave/recipe_modules/test_results/resources/upload_test_results.py
diff --git a/scripts/slave/recipe_modules/test_results/resources/upload_test_results.py b/scripts/slave/recipe_modules/test_results/resources/upload_test_results.py
index f86ba390ddbf494242841b6f800c03dc7717cdb9..899428afc96b54f2de090f1960bd3daaf555429b 100755
--- a/scripts/slave/recipe_modules/test_results/resources/upload_test_results.py
+++ b/scripts/slave/recipe_modules/test_results/resources/upload_test_results.py
@@ -49,8 +49,35 @@ def get_results_map_from_json(gtest_json):
return test_results_map
-def generate_json_results_file(gtest_json, builder_name, build_number,
- results_directory, chrome_revision, master_name):
+def generate_json_results_file_for_json(
+ results_json, builder_name, build_number,
+ results_directory, chrome_revision, master_name):
+ """Generates JSON results file from the given |results_json|.
+
+ Args:
+ results_json: the raw test results object that follows full json results
+ format.
+
+ Returns:
+ A list that contains a single tuple (<file name>, <file path>). The tuple
+ represents the full test results file.
+ """
+ if not os.path.exists(results_directory):
+ os.makedirs(results_directory)
+ json_results_file_path = os.path.abspath(
+ os.path.join(results_directory, FULL_RESULTS_FILENAME))
+ results_json['builder_name'] = builder_name
+ results_json['build_number'] = build_number
+ results_json['chromium_revision'] = chrome_revision
+ results_json['master_name'] = master_name
+ with open(json_results_file_path, 'w') as f:
+ json.dump(results_json, f)
+ return [(FULL_RESULTS_FILENAME, json_results_file_path)]
+
+
+def generate_json_results_file_for_gtest(
+ gtest_json, builder_name, build_number, results_directory, chrome_revision,
+ master_name):
"""Generates JSON results files from the given |gtest_json|.
Args:
@@ -138,11 +165,16 @@ def main(args):
content = json.loads(results_json)
if content.get('version', 0) >= 3:
print 'Input JSON file probably has full json results format'
- files = [(FULL_RESULTS_FILENAME, os.path.abspath(options.input_json))]
+ files = generate_json_results_file_for_json(
+ content, 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:
print ('Input JSON file probably has gtest format. Converting to full json'
' results format')
- files = generate_json_results_file(
+ files = generate_json_results_file_for_gtest(
results_json, builder_name=options.builder_name,
build_number=options.build_number,
results_directory=options.results_directory,

Powered by Google App Engine
This is Rietveld 408576698