From 72e041753f8d2c5b1fae0465277b187c61f17634 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Sat, 19 Oct 2024 08:41:21 -0400
Subject: [PATCH] testsuite: More aggressive version number normalization

Component names can sometimes have hashes.
---
 testsuite/driver/testlib.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 707f53583d7..696162b883a 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -1019,7 +1019,11 @@ def normalise_win32_io_errors(name, opts):
 def normalise_version_( *pkgs ):
     def normalise_version__( str ):
         # (name)(-version)(-hash)(-components)
-        return re.sub('(' + '|'.join(map(re.escape,pkgs)) + r')-[0-9.]+(-[0-9a-zA-Z+]+)?(-[0-9a-zA-Z]+)?',
+        pkg_names = '(' + '|'.join(map(re.escape,pkgs)) + ')'
+        version = r'[0-9\.]+'
+        pkg_hash = r'(-[0-9a-zA-Z\+]+)'
+        component = r'(-[0-9a-zA-Z]+(\+[0-9a-zA-Z]+)?)'
+        return re.sub(f'{pkg_names}-{version}{pkg_hash}?{component}?',
                       r'\1-<VERSION>-<HASH>', str)
     return normalise_version__
 
-- 
GitLab