]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: (lsfd::mkfds-inotify) consider environments not having / as a mount point
authorMasatake YAMATO <yamato@redhat.com>
Sat, 2 Mar 2024 21:51:15 +0000 (06:51 +0900)
committerMasatake YAMATO <yamato@redhat.com>
Mon, 4 Mar 2024 08:34:17 +0000 (17:34 +0900)
Close #2819.

In the original test case, test_mkfds monitored / and /etc/fstab.

As reported in #2819, if a test platform doesn't have / as a
mount point, the test case doesn't work.

So we use /proc and /proc/cmdnline instead.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Acked-by: Chris Hofstaedtler <zeha@debian.org>
tests/expected/lsfd/mkfds-inotify
tests/ts/lsfd/mkfds-inotify

index cb55f9669257b4c3710f24878ea061d1dd79b770..6fc0d1291569361235df9c75ef0ee08e1ad84a98 100644 (file)
@@ -1,4 +1,4 @@
 INOTIFY.INODES.RAW: 0
-INOTIFY.INODES.RAW == FSTAB\x0aROOT
+INOTIFY.INODES.RAW == CMDLINE\x0aPROC
 INOTIFY.INODES.RAW (JSON): 0
 INOTIFY.INODES.RAW == EXPECTED_JSON
index 3f26849dd8e11f8fefd6ec7cebe3afed6763cc0a..a44fd77d16dc32ddd36c1602c30c5587d9d30a5c 100755 (executable)
@@ -29,20 +29,22 @@ ts_cd "$TS_OUTDIR"
 
 PID=
 FD=3
-ROOT="$(stat -c %i /)"@"$($TS_CMD_FINDMNT --raw --noheadings -oMAJ:MIN --target /)"
-FSTAB="$(stat -c %i /etc/fstab)"@"$($TS_CMD_FINDMNT --raw --noheadings -oMAJ:MIN --target /etc/fstab)"
+dir=/proc
+file=/proc/cmdline
+PROC="$(stat -c %i $dir)"@"$($TS_CMD_FINDMNT --raw --noheadings -oMAJ:MIN --target $dir)"
+CMDLINE="$(stat -c %i $file)"@"$($TS_CMD_FINDMNT --raw --noheadings -oMAJ:MIN --target $file)"
 {
-    coproc MKFDS { "$TS_HELPER_MKFDS" inotify $FD; }
+    coproc MKFDS { "$TS_HELPER_MKFDS" inotify $FD dir=$dir file=$file ; }
     if read -u ${MKFDS[0]} PID; then
        EXPR='(PID == '"${PID}"') and (FD == '"$FD"')'
        INODES_RAW=$(${TS_CMD_LSFD} --raw -n -o INOTIFY.INODES.RAW -Q "${EXPR}")
        echo "INOTIFY.INODES.RAW": $?
-       if [[ "$INODES_RAW" ==  "${FSTAB}"'\x0a'"${ROOT}" ]]; then
-           echo "INOTIFY.INODES.RAW" == FSTAB'\x0a'ROOT
+       if [[ "$INODES_RAW" ==  "${CMDLINE}"'\x0a'"${PROC}" ]]; then
+           echo "INOTIFY.INODES.RAW" == CMDLINE'\x0a'PROC
        else
            echo "INOTIFY.INODES.RAW": "$INODES_RAW"
-           echo "FSTAB": "$FSTAB"
-           echo "ROOT": "$ROOT"
+           echo "CMDLINE": "$CMDLINE"
+           echo "PROC": "$PROC"
        fi
        INODES_RAW_JSON=$(${TS_CMD_LSFD} -J --raw -n -o INOTIFY.INODES.RAW -Q "${EXPR}")
        echo "INOTIFY.INODES.RAW (JSON)": $?
@@ -51,7 +53,7 @@ FSTAB="$(stat -c %i /etc/fstab)"@"$($TS_CMD_FINDMNT --raw --noheadings -oMAJ:MIN
    "lsfd": [
       {
          "inotify.inodes.raw": [
-             "$FSTAB", "$ROOT"
+             "$CMDLINE", "$PROC"
          ]
       }
    ]