aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2026-05-03 15:35:15 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2026-05-03 15:35:15 +0000
commit0733afdb4dad58cfe7ad7f5994e26bf148d78199 (patch)
tree9bcef474d92b28e2749b824e11def4b8ec8ebb86
parentd90513ea85693da0ca5955173609f4e81e38ae16 (diff)
lockf: Test that lockf does not spin on fd
PR: 294832 MFC after: 1 week Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D56723
-rw-r--r--usr.bin/lockf/tests/lockf_test.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/usr.bin/lockf/tests/lockf_test.sh b/usr.bin/lockf/tests/lockf_test.sh
index 823b5673a176..16ee5a03bb9e 100644
--- a/usr.bin/lockf/tests/lockf_test.sh
+++ b/usr.bin/lockf/tests/lockf_test.sh
@@ -177,6 +177,23 @@ fdlock_body()
atf_check test "$status2" -eq 0
}
+atf_test_case fdlockspin
+fdlockspin_head()
+{
+ atf_set "descr" "Don't spin when locking a file descriptor"
+}
+fdlockspin_body()
+{
+ # Start background locker and give it time to get settled
+ lockf foo sleep 2 & sleep 1
+ # Start foreground locker in fdlock mode
+ atf_check ktrace -tc lockf -t 3 0 <foo
+ # Background locker quit and foreground locker succeeded
+ atf_check -o save:trace kdump -tc
+ # Check how many times foreground locker called flock()
+ atf_check -o inline:"2\n" egrep -c 'CALL +flock' trace
+}
+
atf_test_case keep
keep_body()
{
@@ -334,6 +351,7 @@ atf_init_test_cases()
atf_add_test_case basic
atf_add_test_case bubble_error
atf_add_test_case fdlock
+ atf_add_test_case fdlockspin
atf_add_test_case keep
atf_add_test_case needfile
atf_add_test_case termchild