From f395178ae983e49b4955e8b9f18bbdc64f3eb5a8 Mon Sep 17 00:00:00 2001 From: Naoto Ono Date: Fri, 25 Jul 2025 12:43:35 +0900 Subject: [PATCH 1/2] Rename 'properties' to 'markers' in PytestJSONReportParser for consistensy --- launchable/test_runners/pytest.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/launchable/test_runners/pytest.py b/launchable/test_runners/pytest.py index cd6f6f32c..985e93167 100644 --- a/launchable/test_runners/pytest.py +++ b/launchable/test_runners/pytest.py @@ -312,8 +312,9 @@ def parse_func( """ props = data.get('user_properties') if isinstance(props, list): + markers = [{"name": prop.name, "value": prop.value} for prop in props] if len(props) > 0: - props = {'properties': props} + props = {'markers': markers} else: props = None From f4f70317d02e1b7f87e1821f7ac74419614bb889 Mon Sep 17 00:00:00 2001 From: Naoto Ono Date: Fri, 25 Jul 2025 14:08:57 +0900 Subject: [PATCH 2/2] Enhance PytestJSONReportParser to handle user properties as JSON --- launchable/test_runners/pytest.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/launchable/test_runners/pytest.py b/launchable/test_runners/pytest.py index 985e93167..3341628ff 100644 --- a/launchable/test_runners/pytest.py +++ b/launchable/test_runners/pytest.py @@ -312,7 +312,15 @@ def parse_func( """ props = data.get('user_properties') if isinstance(props, list): - markers = [{"name": prop.name, "value": prop.value} for prop in props] + markers = [] + for prop in props: + if isinstance(prop, list) and len(prop) == 2: + # prop is like ["name", "value"] + # prop[0] is name, prop[1] is value + if isinstance(prop[1], str): + markers.append({"name": prop[0], "value": prop[1]}) + else: + markers.append({"name": prop[0], "value": json.dumps(prop[1])}) if len(props) > 0: props = {'markers': markers} else: