From 2413a6755ced2f3acc071ab51b2c704ffd3076ed Mon Sep 17 00:00:00 2001 From: Gordon Chan Date: Mon, 21 Jul 2025 13:22:32 +1200 Subject: [PATCH 1/2] [TE-4096] Add 'language_version' attribute to env var To collect Python language version usage and help us to better plan deprecation support of end-of-life Python versions. --- src/buildkite_test_collector/collector/run_env.py | 4 +++- tests/buildkite_test_collector/collector/test_run_env.py | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/buildkite_test_collector/collector/run_env.py b/src/buildkite_test_collector/collector/run_env.py index 1512859..93355a0 100644 --- a/src/buildkite_test_collector/collector/run_env.py +++ b/src/buildkite_test_collector/collector/run_env.py @@ -1,5 +1,6 @@ """Test Engine run_env""" +import platform from dataclasses import dataclass from typing import Dict, Optional, Mapping from uuid import uuid4 @@ -140,7 +141,8 @@ def as_json(self) -> Dict[str, str]: "message": self.message, "url": self.url, "collector": f"python-{COLLECTOR_NAME}", - "version": VERSION + "version": VERSION, + "language_version": f"{platform.python_version()}" } return {k: v for k, v in attrs.items() if v is not None} diff --git a/tests/buildkite_test_collector/collector/test_run_env.py b/tests/buildkite_test_collector/collector/test_run_env.py index e906237..9ae4660 100644 --- a/tests/buildkite_test_collector/collector/test_run_env.py +++ b/tests/buildkite_test_collector/collector/test_run_env.py @@ -1,3 +1,4 @@ +import sys from random import randint from uuid import uuid4, UUID @@ -102,3 +103,5 @@ def test_env_as_json(fake_env): assert json["url"] == fake_env.url assert json["collector"] == 'python-buildkite-test-collector' assert json["version"] == VERSION + expected_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}" + assert json["language_version"] == expected_version From 92e80971e9a74f9c5da946836615abb19a7d4c31 Mon Sep 17 00:00:00 2001 From: Gordon Chan Date: Mon, 21 Jul 2025 15:01:38 +1200 Subject: [PATCH 2/2] [TE-4096] Fix linting error about missing docstring --- src/buildkite_test_collector/pytest_plugin/buildkite_plugin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/buildkite_test_collector/pytest_plugin/buildkite_plugin.py b/src/buildkite_test_collector/pytest_plugin/buildkite_plugin.py index 3a25ad5..1ab4271 100644 --- a/src/buildkite_test_collector/pytest_plugin/buildkite_plugin.py +++ b/src/buildkite_test_collector/pytest_plugin/buildkite_plugin.py @@ -90,6 +90,7 @@ def pytest_runtest_logfinish(self, nodeid, location): # pylint: disable=unused- ) def update_test_result(self, report): + """Update test result based on pytest report""" test_data = self.in_flight.get(report.nodeid) if test_data: