From 3649c1cbc0873dccd53750c47dc7d337e20b4b8d Mon Sep 17 00:00:00 2001 From: Jonas Scharpf Date: Tue, 22 Oct 2024 15:56:13 +0200 Subject: [PATCH] Support rc version CMKVersion of testlib CMK-19234 Change-Id: If6140821a22b9627ebfeb296efa4199fb597cb75 --- tests/testlib/version.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/testlib/version.py b/tests/testlib/version.py index 42eae3f4ee8..026b6993d2c 100644 --- a/tests/testlib/version.py +++ b/tests/testlib/version.py @@ -8,6 +8,7 @@ import logging import operator import os +import re import subprocess import time from collections.abc import Callable @@ -156,12 +157,19 @@ def _sanitize_version_spec(version: str) -> tuple[Version, time.struct_time | No Uses `packaging.version.Version` to wrap Checkmk version. """ _timestamp = None + + # ignore release candidate + _version = re.sub(r"-rc(\d+)", "", version) + # treat `patch-version` as `micro-version`. - _version = version.replace("0p", "") + _version = _version.replace("0p", "") + # detect daily builds - if "-" in version: - _timestamp = time.strptime(version.split("-")[-1], CMKVersion.TIMESTAMP_FORMAT) - _version = version.split("-")[0] + if match := re.search( + r"([1-9]?\d\.[1-9]?\d\.[1-9]?\d)-([1-9]\d{3}\.[0-1]\d\.[0-3]\d)", _version + ): + _version = match.groups()[0] + _timestamp = time.strptime(match.groups()[1], CMKVersion.TIMESTAMP_FORMAT) return Version(_version), _timestamp @staticmethod