From a0dfb0245662e31ded34730010e0e92be9bd9f1a Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Tue, 24 Jun 2025 13:07:11 +0100 Subject: [PATCH] test: escape '+' from uname -r before using in regex via '=~' MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It will otherwise interpret characters such as '+' as if they were regex, and break matching. For example TEST-71-HOSTNAME started failing when uname -r started including a '+': FAIL: 'Kernel: Linux 6.12.33+deb13-amd64' not found in: Static hostname: host Icon name: computer-vm Chassis: vm 🖴 Machine ID: e6471c1f95ab49098827498ed816cdf7 Boot ID: 231da987f64d4af59f2076fbb638c611 Virtualization: kvm Operating System: Debian GNU/Linux 13 (trixie) Kernel: Linux 6.12.33+deb13-amd64 Architecture: x86-64 --- test/units/TEST-17-UDEV.link-property.sh | 4 ++-- test/units/TEST-71-HOSTNAME.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/units/TEST-17-UDEV.link-property.sh b/test/units/TEST-17-UDEV.link-property.sh index 517cc3f7d21..faf05b83ebb 100755 --- a/test/units/TEST-17-UDEV.link-property.sh +++ b/test/units/TEST-17-UDEV.link-property.sh @@ -163,11 +163,11 @@ EOF udevadm control --reload output=$(udevadm test --action add /sys/class/net/test1) -assert_in "LINK_VERSION=$(uname -r)" "$output" +assert_in "LINK_VERSION=$(uname -r | sed 's/\+/\\+/g')" "$output" udevadm trigger --settle --action add /sys/class/net/test1 output=$(udevadm info --query property /sys/class/net/test1) -assert_in "LINK_VERSION=$(uname -r)" "$output" +assert_in "LINK_VERSION=$(uname -r | sed 's/\+/\\+/g')" "$output" # test for constant properties cat >/run/systemd/network/10-test.link.d/13-override.conf <