git: 4c6246b76ed9 - stable/13 - tail: Add regression tests for -f and -F

Mark Johnston markj at FreeBSD.org
Sat Aug 21 17:59:14 UTC 2021


The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=4c6246b76ed951680d6b9491fbb9497160a4ca16

commit 4c6246b76ed951680d6b9491fbb9497160a4ca16
Author:     Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-07-05 15:01:41 +0000
Commit:     Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-08-21 16:18:21 +0000

    tail: Add regression tests for -f and -F
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 58b1a126b98f9d64f30246c90d6c049fd78dda6b)
---
 usr.bin/tail/tests/tail_test.sh | 83 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)

diff --git a/usr.bin/tail/tests/tail_test.sh b/usr.bin/tail/tests/tail_test.sh
index 9eecf460d1e5..66d435f2cd02 100755
--- a/usr.bin/tail/tests/tail_test.sh
+++ b/usr.bin/tail/tests/tail_test.sh
@@ -272,6 +272,85 @@ broken_pipe_body()
 	    -x '(tail -n 856 ints; echo exit code: $? >&2) | sleep 2'
 }
 
+atf_test_case stdin
+stdin_head()
+{
+	atf_set "descr" "Check basic operations on standard input"
+}
+stdin_body()
+{
+	seq 1 5 > infile
+	seq 1 5 > expectfile
+	seq 5 1 > expectfile_r
+
+	tail < infile > outfile
+	tail -r < infile > outfile_r
+
+	atf_check cmp expectfile outfile
+	atf_check cmp expectfile_r outfile_r
+}
+
+atf_test_case follow
+follow_head()
+{
+	atf_set "descr" "Basic regression test for -f"
+}
+follow_body()
+{
+	local pid
+
+	seq 1 5 > expectfile
+	seq 1 3 > infile
+	tail -f infile > outfile &
+	pid=$!
+	sleep 0.1
+	seq 4 5 >> infile
+	sleep 0.1
+	atf_check cmp expectfile outfile
+	atf_check kill $pid
+}
+
+atf_test_case follow_stdin
+follow_stdin_head()
+{
+	atf_set "descr" "Verify that -f works with files piped to standard input"
+}
+follow_stdin_body()
+{
+	local pid
+
+	seq 1 5 > expectfile
+	seq 1 3 > infile
+	tail -f < infile > outfile &
+	pid=$!
+	sleep 0.1
+	seq 4 5 >> infile
+	sleep 0.1
+	atf_check cmp expectfile outfile
+	atf_check kill $pid
+}
+
+atf_test_case follow_rename
+follow_rename_head()
+{
+	atf_set "descr" "Verify that -F works"
+}
+follow_rename_body()
+{
+	local pid
+
+	seq 1 5 > expectfile
+	seq 1 3 > infile
+	tail -F infile > outfile &
+	pid=$!
+	seq 4 5 > infile_new
+	atf_check mv infile infile_old
+	atf_check mv infile_new infile
+	# tail -F polls for a new file every 1s.
+	sleep 2
+	atf_check cmp expectfile outfile
+	atf_check kill $pid
+}
 
 atf_init_test_cases()
 {
@@ -289,4 +368,8 @@ atf_init_test_cases()
 	atf_add_test_case longfile_rc145782_longlines
 	atf_add_test_case longfile_rn2500
 	atf_add_test_case broken_pipe
+	atf_add_test_case stdin
+	atf_add_test_case follow
+	atf_add_test_case follow_stdin
+	atf_add_test_case follow_rename
 }


More information about the dev-commits-src-branches mailing list