Mesa (master): ci: Fix TypoError error when traces in traces.yml is an empty list

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 18 17:50:55 UTC 2020


Module: Mesa
Branch: master
Commit: 4504d6374dbe2aa40af519c16765457bcbf81b84
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4504d6374dbe2aa40af519c16765457bcbf81b84

Author: Pablo Saavedra <psaavedra at igalia.com>
Date:   Wed May 13 16:44:30 2020 +0200

ci: Fix TypoError error when traces in traces.yml is an empty list

v2: Python's nitpick (Andres)

In case of an empty list of traces, the results.yml will contain an empty
curly braces. In YAML, an associative array can also be specified by text
enclosed in curly braces ({}),

This commit also adds the corresponding test to check the behavior of
tracie when no traces are added in the traces.yml file.

Signed-off-by: Pablo Saavedra <psaavedra at igalia.com>
Reviewed-by: Andres Gomez <agomez at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>

---

 .gitlab-ci/tracie/tests/test.py | 11 +++++++++++
 .gitlab-ci/tracie/tracie.py     |  2 +-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci/tracie/tests/test.py b/.gitlab-ci/tracie/tests/test.py
index 40b1a45d3f5..21264cc882a 100644
--- a/.gitlab-ci/tracie/tests/test.py
+++ b/.gitlab-ci/tracie/tests/test.py
@@ -163,6 +163,17 @@ def test_tracie_only_traces_without_checksum():
     assert run_tracie()
 
 
+def test_tracie_with_no_traces():
+    filename = "./tests/traces.yml"
+    content = 'traces:'
+    write_to(content, filename)
+    assert run_tracie()
+    expectations = [
+        "{}",
+    ]
+    assert check_results_yaml_content(RESULTS_YAML, expectations)
+
+
 def test_tracie_fails_on_dump_image_error():
     # "invalid" should fail to parse as rgba and
     # cause an error
diff --git a/.gitlab-ci/tracie/tracie.py b/.gitlab-ci/tracie/tracie.py
index d2c0d7355d9..854ba8a17c5 100644
--- a/.gitlab-ci/tracie/tracie.py
+++ b/.gitlab-ci/tracie/tracie.py
@@ -149,7 +149,7 @@ def run(filename, device_name):
         project_url = None
         commit_id = None
 
-    traces = y['traces']
+    traces = y['traces'] or []
     all_ok = True
     results = {}
     for trace in traces:



More information about the mesa-commit mailing list