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

Unified Diff: build/android/pylib/results/presentation/test_results_presentation.py

Issue 2854083004: Fix feedback to populate the right content in issue creation page. (Closed)
Patch Set: sync Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/pylib/results/presentation/template/main.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/pylib/results/presentation/test_results_presentation.py
diff --git a/build/android/pylib/results/presentation/test_results_presentation.py b/build/android/pylib/results/presentation/test_results_presentation.py
index c7394132d6989d0327ef0ff7ed601acf39aec10e..9b684973660bc8ad5fd184cbfde558a3e20d2e28 100755
--- a/build/android/pylib/results/presentation/test_results_presentation.py
+++ b/build/android/pylib/results/presentation/test_results_presentation.py
@@ -250,7 +250,16 @@ def create_suite_table(results_dict):
footer_row)
-def results_to_html(results_dict, cs_base_url, bucket, server_url):
+def feedback_url(result_details_link):
+ return ('https://bugs.chromium.org/p/chromium/issues/entry?'
jbudorick 2017/05/04 18:09:27 nit: this might be a bit more readable if you hand
BigBossZhiling 2017/05/05 21:57:57 Done.
+ 'labels=Pri-2,Type-Bug,Restrict-View-Google&'
+ 'summary=Result Details Feedback:'
+ '&components=Test%3EAndroid&'
+ 'comment=Please check out: ') + result_details_link
+
+
+def results_to_html(results_dict, cs_base_url, bucket, server_url, test_name,
+ builder_name, build_number):
"""Convert list of test results into html format."""
test_rows_header, test_rows = create_test_table(results_dict, cs_base_url)
@@ -272,12 +281,22 @@ def results_to_html(results_dict, cs_base_url, bucket, server_url):
main_template = JINJA_ENVIRONMENT.get_template(
os.path.join('template', 'main.html'))
- return main_template.render( # pylint: disable=no-member
+
+ dest = 'html/%s_%s_%s_%s.html' % (
+ test_name, builder_name, build_number,
+ time.strftime('%Y_%m_%d_T%H_%M_%S'))
+
+ result_details_link = '%s/%s/%s' % (server_url, bucket, dest)
+
+ return (main_template.render( # pylint: disable=no-member
{'tb_values': [suite_table_values, test_table_values],
- 'bucket': bucket, 'server_url': server_url})
+ 'bucket': bucket, 'server_url': server_url,
+ 'feedback_url': feedback_url(result_details_link)}),
+ dest, result_details_link)
-def result_details(json_path, cs_base_url, bucket, server_url):
+def result_details(json_path, cs_base_url, bucket, server_url, test_name,
+ builder_name, build_number):
"""Get result details from json path and then convert results to html."""
with open(json_path) as json_file:
@@ -290,25 +309,21 @@ def result_details(json_path, cs_base_url, bucket, server_url):
for testsuite_run in json_object['per_iteration_data']:
for test, test_runs in testsuite_run.iteritems():
results_dict[test].extend(test_runs)
- return results_to_html(results_dict, cs_base_url, bucket, server_url)
+
+ return results_to_html(results_dict, cs_base_url, bucket, server_url,
+ test_name, builder_name, build_number)
-def upload_to_google_bucket(html, test_name, builder_name, build_number,
- bucket, server_url, content_type):
+def upload_to_google_bucket(html, bucket, dest, content_type):
with tempfile.NamedTemporaryFile(suffix='.html') as temp_file:
temp_file.write(html)
temp_file.flush()
- dest = 'html/%s_%s_%s_%s.html' % (
- test_name, builder_name, build_number,
- time.strftime('%Y_%m_%d_T%H_%M_%S'))
gsutil_path = os.path.join(BASE_DIR, 'third_party', 'catapult',
'third_party', 'gsutil', 'gsutil.py')
subprocess.check_call([
sys.executable, gsutil_path, '-h', "Content-Type:%s" % content_type,
'cp', temp_file.name, 'gs://%s/%s' % (bucket, dest)])
- return '%s/%s/%s' % (server_url, bucket, dest)
-
def main():
parser = argparse.ArgumentParser()
@@ -388,13 +403,14 @@ def main():
if not os.path.exists(json_file):
raise IOError('--json-file %s not found.' % json_file)
- result_html_string = result_details(json_file, args.cs_base_url,
- args.bucket, args.server_url)
- result_details_link = upload_to_google_bucket(
+ # Link to result details presentation page is a part of the page.
+ result_html_string, dest, result_details_link = result_details(
+ json_file, args.cs_base_url, args.bucket, args.server_url,
+ args.test_name, builder_name, build_number)
+
+ upload_to_google_bucket(
result_html_string.encode('UTF-8'),
- args.test_name, builder_name,
- build_number, args.bucket,
- args.server_url, args.content_type)
+ args.bucket, dest, args.content_type)
if args.output_json:
with open(json_file) as original_json_file:
« no previous file with comments | « build/android/pylib/results/presentation/template/main.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698