From: Masatake YAMATO Date: Tue, 21 Nov 2023 19:37:30 +0000 (+0900) Subject: tests: (lslocks) add cases testing HOLDERS column X-Git-Tag: v2.40-rc1~149^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=503b1faa8d52e4b59d4c261e0329f14a93149bea;p=thirdparty%2Futil-linux.git tests: (lslocks) add cases testing HOLDERS column Signed-off-by: Masatake YAMATO --- diff --git a/tests/expected/lslocks/lslocks-flock-ex+HOLDERS b/tests/expected/lslocks/lslocks-flock-ex+HOLDERS new file mode 100644 index 0000000000..3a817e2a29 --- /dev/null +++ b/tests/expected/lslocks/lslocks-flock-ex+HOLDERS @@ -0,0 +1,2 @@ +test_mkfds FLOCK WRITE 0 0 1,test_mkfds,17\x0a1,test_mkfds,18 +# flock-ex + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0 diff --git a/tests/expected/lslocks/lslocks-flock-sh+HOLDERS b/tests/expected/lslocks/lslocks-flock-sh+HOLDERS new file mode 100644 index 0000000000..37996b145c --- /dev/null +++ b/tests/expected/lslocks/lslocks-flock-sh+HOLDERS @@ -0,0 +1,2 @@ +test_mkfds FLOCK READ 0 0 1,test_mkfds,17\x0a1,test_mkfds,18 +# flock-sh + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0 diff --git a/tests/expected/lslocks/lslocks-lease-w+HOLDERS b/tests/expected/lslocks/lslocks-lease-w+HOLDERS new file mode 100644 index 0000000000..8c6ab5d31c --- /dev/null +++ b/tests/expected/lslocks/lslocks-lease-w+HOLDERS @@ -0,0 +1,2 @@ +test_mkfds LEASE WRITE 0 0 1,test_mkfds,17\x0a1,test_mkfds,18 +# lease-w + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0 diff --git a/tests/expected/lslocks/lslocks-ofd--w+HOLDERS b/tests/expected/lslocks/lslocks-ofd--w+HOLDERS new file mode 100644 index 0000000000..4ff91581f4 --- /dev/null +++ b/tests/expected/lslocks/lslocks-ofd--w+HOLDERS @@ -0,0 +1,2 @@ +test_mkfds OFDLCK 1B WRITE 0 0 1,test_mkfds,17\x0a1,test_mkfds,18 +# ofd--w + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0 diff --git a/tests/expected/lslocks/lslocks-ofd-r-+HOLDERS b/tests/expected/lslocks/lslocks-ofd-r-+HOLDERS new file mode 100644 index 0000000000..1abbf4465d --- /dev/null +++ b/tests/expected/lslocks/lslocks-ofd-r-+HOLDERS @@ -0,0 +1,2 @@ +test_mkfds OFDLCK 1B READ 0 0 1,test_mkfds,17\x0a1,test_mkfds,18 +# ofd-r- + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0 diff --git a/tests/expected/lslocks/lslocks-ofd-rw+HOLDERS b/tests/expected/lslocks/lslocks-ofd-rw+HOLDERS new file mode 100644 index 0000000000..a105d321b4 --- /dev/null +++ b/tests/expected/lslocks/lslocks-ofd-rw+HOLDERS @@ -0,0 +1,3 @@ +test_mkfds OFDLCK 3B READ 0 0 1,test_mkfds,17\x0a1,test_mkfds,18 +test_mkfds OFDLCK 3B WRITE 2 2 1,test_mkfds,17\x0a1,test_mkfds,18 +# ofd-rw + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0 diff --git a/tests/ts/lslocks/lslocks b/tests/ts/lslocks/lslocks index 57e31d447e..280dda3655 100755 --- a/tests/ts/lslocks/lslocks +++ b/tests/ts/lslocks/lslocks @@ -29,6 +29,7 @@ ts_cd "$TS_OUTDIR" FILE0=util-linux-lslocks-target-file FILE=${FILE0}--$$ FD=17 +DFD=18 COLS=COMMAND,TYPE,SIZE,MODE,START,END OPTS="--raw --noheadings" METHODS=( @@ -43,6 +44,17 @@ METHODS=( lease-w ) +OFD_METHODS=( + flock-sh + flock-ex + ofd-r- + ofd--w + ofd-rw + lease-w +) + +DFD=18 +COLS_WITH_HOLDERS=COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS run_lslocks() { local m=$1 @@ -62,8 +74,31 @@ run_lslocks() wait "${MKFDS_PID}" } +run_lslocks_with_co_holders() +{ + local m=$1 + + { + rm -f "${FILE}" + coproc MKFDS { "$TS_HELPER_MKFDS" make-regular-file $FD file="$FILE" lock=$m dupfd=$DFD; } + if read -r -u "${MKFDS[0]}" PID; then + "$TS_CMD_LSLOCKS" ${OPTS} --pid "${PID}" -o "${COLS_WITH_HOLDERS}" | sed -e "s/${PID},/1,/g" + echo "# $m + ${COLS_WITH_HOLDERS} + ${OPTS}": ${PIPESTATUS[0]} + echo DONE >&"${MKFDS[1]}" + fi + } > "$TS_OUTPUT" 2>&1 + + wait "${MKFDS_PID}" +} + for m in "${METHODS[@]}"; do ts_init_subtest "$m" - run_lslocks "$m" + run_lslocks "$m" + ts_finalize_subtest +done + +for m in "${OFD_METHODS[@]}"; do + ts_init_subtest "$m+HOLDERS" + run_lslocks_with_co_holders "$m" ts_finalize_subtest done