]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
TEST-17: make the test test 19248/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 8 Apr 2021 08:57:40 +0000 (10:57 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 8 Apr 2021 18:21:50 +0000 (20:21 +0200)
'! grep -v' does *not* test that there are no matching lines.
Instead, it checks that whether there are any non-matching lines.

And of course, for the test to fail, '! grep' cannot be part of
an expression with &&.

test/units/testsuite-17.04.sh

index 428aa813322898a6f471da5cf3e32d4886cd9c7d..b33d47ef6de315b0cb1641811ea8e96910384780 100755 (executable)
@@ -4,12 +4,9 @@ set -o pipefail
 
 mkdir -p /run/udev/rules.d/
 
-! test -f /run/udev/tags/added/c1:3 &&
-    ! test -f /run/udev/tags/changed/c1:3 &&
-    udevadm info /dev/null | grep -q -v 'E: TAGS=.*:added:.*' &&
-    udevadm info /dev/null | grep -q -v 'E: CURRENT_TAGS=.*:added:.*' &&
-    udevadm info /dev/null | grep -q -v 'E: TAGS=.*:changed:.*' &&
-    udevadm info /dev/null | grep -q -v 'E: CURRENT_TAGS=.*:changed:.*'
+test ! -f /run/udev/tags/added/c1:3
+test ! -f /run/udev/tags/changed/c1:3
+udevadm info /dev/null | grep -E 'E: (TAGS|CURRENT_TAGS)=.*:(added|changed):' && exit 1
 
 cat >/run/udev/rules.d/50-testsuite.rules <<EOF
 ACTION=="add", SUBSYSTEM=="mem", KERNEL=="null", TAG+="added"
@@ -19,45 +16,39 @@ EOF
 udevadm control --reload
 udevadm trigger -c add /dev/null
 
-while : ; do
-    test -f /run/udev/tags/added/c1:3 &&
-        ! test -f /run/udev/tags/changed/c1:3 &&
-        udevadm info /dev/null | grep -q 'E: TAGS=.*:added:.*' &&
-        udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:added:.*' &&
-        udevadm info /dev/null | grep -q -v 'E: TAGS=.*:changed:.*' &&
-        udevadm info /dev/null | grep -q -v 'E: CURRENT_TAGS=.*:changed:.*' &&
-        break
-
+while   test ! -f /run/udev/tags/added/c1:3 ||
+        test -f /run/udev/tags/changed/c1:3 ||
+        ! udevadm info /dev/null | grep -q 'E: TAGS=.*:added:.*' ||
+        ! udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:added:.*' ||
+        udevadm info /dev/null | grep -q 'E: TAGS=.*:changed:.*' ||
+        udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:changed:.*'
+do
     sleep .5
 done
 
 udevadm control --reload
 udevadm trigger -c change /dev/null
 
-while : ; do
-    test -f /run/udev/tags/added/c1:3 &&
-        test -f /run/udev/tags/changed/c1:3 &&
-        udevadm info /dev/null | grep -q 'E: TAGS=.*:added:.*' &&
-        udevadm info /dev/null | grep -q -v 'E: CURRENT_TAGS=.*:added:.*' &&
-        udevadm info /dev/null | grep -q 'E: TAGS=.*:changed:.*' &&
-        udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:changed:.*' &&
-        break
-
+while   test ! -f /run/udev/tags/added/c1:3 ||
+        test ! -f /run/udev/tags/changed/c1:3 ||
+        ! udevadm info /dev/null | grep -q 'E: TAGS=.*:added:.*' ||
+        udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:added:.*' ||
+        ! udevadm info /dev/null | grep -q 'E: TAGS=.*:changed:.*' ||
+        ! udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:changed:.*'
+do
     sleep .5
 done
 
 udevadm control --reload
 udevadm trigger -c add /dev/null
 
-while : ; do
-    test -f /run/udev/tags/added/c1:3 &&
-        test -f /run/udev/tags/changed/c1:3 &&
-        udevadm info /dev/null | grep -q 'E: TAGS=.*:added:.*' &&
-        udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:added:.*' &&
-        udevadm info /dev/null | grep -q 'E: TAGS=.*:changed:.*' &&
-        udevadm info /dev/null | grep -q -v 'E: CURRENT_TAGS=.*:changed:.*' &&
-        break
-
+while   test ! -f /run/udev/tags/added/c1:3 ||
+        test ! -f /run/udev/tags/changed/c1:3 ||
+        ! udevadm info /dev/null | grep -q 'E: TAGS=.*:added:.*' ||
+        ! udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:added:.*' ||
+        ! udevadm info /dev/null | grep -q 'E: TAGS=.*:changed:.*' ||
+        udevadm info /dev/null | grep -q 'E: CURRENT_TAGS=.*:changed:.*'
+do
     sleep .5
 done