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
This commit is contained in:
Dag-Erling Smørgrav committed 2026-05-03 17:35:15 +02:00
1 parent d90513ea85
commit 0733afdb4d
1 file changed
+18
+18
View File
@@ -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