git: 608d3c746d1b - stable/15 - diff: Tweak recursion tests

From: Dag-Erling Smørgrav <des_at_FreeBSD.org>
Date: Wed, 18 Feb 2026 00:25:55 UTC
The branch stable/15 has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=608d3c746d1baf9f96b1655564582c7742465b16

commit 608d3c746d1baf9f96b1655564582c7742465b16
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-02-13 20:18:30 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-02-18 00:15:34 +0000

    diff: Tweak recursion tests
    
    The -r flag is not required to compare two directories; it is only
    required to compare them recursively, i.e. descend into their common
    subdirectories.  Adjust tests that use -r needlessly, and adjust the
    dirloop test to verify that these two cases remain distinct.
    
    MFC after:      1 week
    Sponsored by:   Klara, Inc.
    Reviewed by:    kevans
    Differential Revision:  https://reviews.freebsd.org/D55262
    
    (cherry picked from commit b2532432971fbd9339a9a49eca1b532978bb6d48)
---
 usr.bin/diff/tests/diff_test.sh | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/usr.bin/diff/tests/diff_test.sh b/usr.bin/diff/tests/diff_test.sh
index 3afd12355a80..872103b24cef 100755
--- a/usr.bin/diff/tests/diff_test.sh
+++ b/usr.bin/diff/tests/diff_test.sh
@@ -1,4 +1,3 @@
-
 atf_test_case simple
 atf_test_case unified
 atf_test_case header
@@ -191,19 +190,19 @@ brief_format_body()
 	atf_check \
 	    -s exit:1 \
 	    -o inline:"Files A/test-file and B/test-file differ\n" \
-	    diff -rq A B
+	    diff -q A B
 
 	atf_check diff -rq A C
 
 	atf_check \
 	    -s exit:1 \
 	    -o inline:"Only in D: another-test-file\n" \
-	    diff -rq A D
+	    diff -q A D
 
 	atf_check \
 	    -s exit:1 \
 	    -o inline:"Files A/another-test-file and D/another-test-file differ\n" \
-	    diff -Nrq A D
+	    diff -Nq A D
 }
 
 Bflag_body()
@@ -225,9 +224,9 @@ Nflag_body()
 {
 	atf_check -x 'printf "foo" > A'
 
-	atf_check -s exit:1 -o ignore -e ignore diff -N A NOFILE 
-	atf_check -s exit:1 -o ignore -e ignore diff -N NOFILE A 
-	atf_check -s exit:2 -o ignore -e ignore diff -N NOFILE1 NOFILE2 
+	atf_check -s exit:1 -o ignore -e ignore diff -N A NOFILE
+	atf_check -s exit:1 -o ignore -e ignore diff -N NOFILE A
+	atf_check -s exit:2 -o ignore -e ignore diff -N NOFILE1 NOFILE2
 }
 
 tabsize_body()
@@ -339,23 +338,23 @@ noderef_body()
 
 	atf_check ln -s $(pwd)/test-file B/test-file
 
-	atf_check -o empty -s exit:0 diff -r A B
+	atf_check -o empty -s exit:0 diff A B
 	atf_check -o inline:"File A/test-file is a file while file B/test-file is a symbolic link\n" \
-		-s exit:1 diff -r --no-dereference A B
+		-s exit:1 diff --no-dereference A B
 
 	# both test files are now the same symbolic link
 	atf_check rm A/test-file
 
 	atf_check ln -s $(pwd)/test-file A/test-file
-	atf_check -o empty -s exit:0 diff -r A B
-	atf_check -o empty -s exit:0 diff -r --no-dereference A B
+	atf_check -o empty -s exit:0 diff A B
+	atf_check -o empty -s exit:0 diff --no-dereference A B
 
 	# make test files different symbolic links, but same contents
 	atf_check unlink A/test-file
 	atf_check ln -s $(pwd)/test-file2 A/test-file
 
-	atf_check -o empty -s exit:0 diff -r A B
-	atf_check -o inline:"Symbolic links A/test-file and B/test-file differ\n" -s exit:1 diff -r --no-dereference A B
+	atf_check -o empty -s exit:0 diff A B
+	atf_check -o inline:"Symbolic links A/test-file and B/test-file differ\n" -s exit:1 diff --no-dereference A B
 }
 
 ignorecase_body()
@@ -366,7 +365,7 @@ ignorecase_body()
 	atf_check -x "echo hello > A/foo"
 	atf_check -x "echo hello > B/FOO"
 
-	atf_check -o empty -s exit:0 diff -u -r --ignore-file-name-case A B
+	atf_check -o empty -s exit:0 diff -u --ignore-file-name-case A B
 }
 
 dirloop_head()
@@ -378,6 +377,9 @@ dirloop_body()
 	atf_check mkdir -p a/foo/bar
 	atf_check ln -s .. a/foo/bar/up
 	atf_check cp -a a b
+	atf_check \
+	    -o inline:"Common subdirectories: a/foo and b/foo\n" \
+	    diff a b
 	atf_check \
 	    -e match:"a/foo/bar/up: Directory loop detected" \
 	    -e match:"b/foo/bar/up: Directory loop detected" \