Mesa (staging/20.1): gitlab-ci: correct tracie behavior with replay errors

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed May 13 12:45:24 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: ed872abd563f0f3bd9f784868097cd834dcf55c5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ed872abd563f0f3bd9f784868097cd834dcf55c5

Author: Andres Gomez <agomez at igalia.com>
Date:   Fri May  1 00:05:07 2020 +0300

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 <module>
    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 <agomez at igalia.com>
Reviewed-by: Rohan Garg <rohan.garg at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4839>
(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"
     },



More information about the mesa-commit mailing list