From ed872abd563f0f3bd9f784868097cd834dcf55c5 Mon Sep 17 00:00:00 2001 From: Andres Gomez Date: Fri, 1 May 2020 00:05:07 +0300 Subject: [PATCH] gitlab-ci: correct tracie behavior with replay errors [dump_trace_images] Info: Dumping trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace... ERROR [dump_trace_images] Debug: === Failure log start === invalid literal for int() with base 16: 'in' [dump_trace_images] Debug: === Failure log end === [check_image] Trace /tmp/tracie.test.ap5pshYcsg/traces-db/trace1/magenta.testtrace couldn't be replayed. See above logs for more information. Traceback (most recent call last): File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 176, in main() File "/tmp/tracie.test.ap5pshYcsg/tracie.py", line 164, in main ok, result = gitlab_check_trace(project_url, commit_id, args.device_name, trace, expectation) TypeError: cannot unpack non-iterable bool object Fixes: efbbf8bb81e ("tracie: Print results in a machine readable format") Signed-off-by: Andres Gomez Reviewed-by: Rohan Garg Part-of: (cherry picked from commit a6beb051aff4f11784cb974a1dc3647e74f2389c) --- .gitlab-ci/tracie/tests/test.sh | 1 + .gitlab-ci/tracie/tracie.py | 5 +++-- .pick_status.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci/tracie/tests/test.sh b/.gitlab-ci/tracie/tests/test.sh index 2f667fb8c60..7dbcfce3241 100755 --- a/.gitlab-ci/tracie/tests/test.sh +++ b/.gitlab-ci/tracie/tests/test.sh @@ -106,6 +106,7 @@ tracie_fails_on_dump_image_error() { run_tracie assert "[ $? != 0 ]" + assert_results_yaml_contains "error" "8e0a801367e1714463475a824dab363b" "trace1/magenta.testtrace" "$PWD/results/results.yml" } tracie_stores_only_logs_on_checksum_match() { diff --git a/.gitlab-ci/tracie/tracie.py b/.gitlab-ci/tracie/tracie.py index 6e640b41ec1..92ff9c200c3 100644 --- a/.gitlab-ci/tracie/tracie.py +++ b/.gitlab-ci/tracie/tracie.py @@ -106,11 +106,13 @@ def gitlab_check_trace(project_url, repo_commit, device_name, trace, expectation result = {} result[trace['path']] = {} + result[trace['path']]['expected'] = expectation['checksum'] trace_path = Path(TRACES_DB_PATH + trace['path']) checksum, image_file, log_file = replay(trace_path, device_name) if checksum is None: - return False + result[trace['path']]['actual'] = 'error' + return False, result elif checksum == expectation['checksum']: print("[check_image] Images match for %s" % (trace['path'])) ok = True @@ -131,7 +133,6 @@ def gitlab_check_trace(project_url, repo_commit, device_name, trace, expectation shutil.move(image_file, os.path.join(results_path, image_name)) result[trace['path']]['image'] = os.path.join(dir_in_results, image_name) - result[trace['path']]['expected'] = expectation['checksum'] result[trace['path']]['actual'] = checksum return ok, result diff --git a/.pick_status.json b/.pick_status.json index 45282fb4657..1c23f560d7c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -22,7 +22,7 @@ "description": "gitlab-ci: correct tracie behavior with replay errors", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "efbbf8bb81e97a2b2d2e6e018750ef36cd460676" },