diff options
| author | Enji Cooper <ngie@FreeBSD.org> | 2026-02-15 01:45:16 +0000 |
|---|---|---|
| committer | Enji Cooper <ngie@FreeBSD.org> | 2026-02-15 01:45:16 +0000 |
| commit | 56a7ce8416d181a2060d7a428aed9c3c6a431e6d (patch) | |
| tree | 102efa260400b2c1ef36733c53fbe2e6b747405c /usr.bin/diff/t_diff.sh | |
| parent | a339cc353658ca6abbf6ad2919a9269210475b41 (diff) | |
Diffstat (limited to 'usr.bin/diff/t_diff.sh')
| -rw-r--r-- | usr.bin/diff/t_diff.sh | 105 |
1 files changed, 104 insertions, 1 deletions
diff --git a/usr.bin/diff/t_diff.sh b/usr.bin/diff/t_diff.sh index e33edeeb3c60..8b5a53c0453b 100644 --- a/usr.bin/diff/t_diff.sh +++ b/usr.bin/diff/t_diff.sh @@ -1,4 +1,4 @@ -# $NetBSD: t_diff.sh,v 1.3 2012/03/13 05:40:00 jruoho Exp $ +# $NetBSD: t_diff.sh,v 1.5 2025/12/20 00:49:43 nia Exp $ # # Copyright (c) 2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -68,8 +68,111 @@ same_body() { -x "diff $(atf_get_srcdir)/t_diff $(atf_get_srcdir)/t_diff" } +atf_test_case simple +simple_head() { + atf_set "descr" "Test diff(1) with simple diffs" +} + +simple_body() +{ + atf_check -o file:$(atf_get_srcdir)/simple.out -s eq:1 \ + diff "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" + + atf_check -o file:$(atf_get_srcdir)/simple_e.out -s eq:1 \ + diff -e "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" + + atf_check -o file:$(atf_get_srcdir)/simple_u.out -s eq:1 \ + diff -u -L input1 -L input2 "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" + + atf_check -o file:$(atf_get_srcdir)/simple_n.out -s eq:1 \ + diff -n "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" + + atf_check -o inline:"Files $(atf_get_srcdir)/input1.in and $(atf_get_srcdir)/input2.in differ\n" -s eq:1 \ + diff -q "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" + + atf_check \ + diff -q "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input1.in" + + atf_check \ + diff -q -U 2 -p "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input1.in" + + atf_check -o file:$(atf_get_srcdir)/simple_i.out -s eq:1 \ + diff -i "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" + + atf_check -o file:$(atf_get_srcdir)/simple_w.out -s eq:1 \ + diff -w "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" + + atf_check -o file:$(atf_get_srcdir)/simple_b.out -s eq:1 \ + diff -b "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" + + atf_check -o file:$(atf_get_srcdir)/simple_p.out -s eq:1 \ + diff --label input_c1.in --label input_c2.in -p "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" +} + +atf_test_case unified +unified_head() { + atf_set "descr" "Test diff(1) with unified diffs" +} + +unified_body() +{ + atf_check -o file:$(atf_get_srcdir)/unified_p.out -s eq:1 \ + diff -up -L input_c1.in -L input_c2.in "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" + atf_check -o file:$(atf_get_srcdir)/unified_9999.out -s eq:1 \ + diff -U 9999 -L input_c1.in -L input_c2.in "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" +} + +atf_test_case header +header_head() { + atf_set "descr" "Test diff(1) modification time headers" +} + +header_body() +{ + export TZ=UTC + : > empty + echo hello > hello + touch -d 2015-04-03T01:02:03 empty + touch -d 2016-12-22T11:22:33 hello + atf_check -o "file:$(atf_get_srcdir)/header.out" -s eq:1 \ + diff -u empty hello +} + +atf_test_case header_ns +header_ns_head() { + atf_set "descr" "Test diff(1) modification time headers with nanoseconds" +} + +header_ns_body() +{ + export TZ=UTC + : > empty + echo hello > hello + touch -d 2015-04-03T01:02:03.123456789 empty + touch -d 2016-12-22T11:22:33.987654321 hello + atf_check -o "file:$(atf_get_srcdir)/header_ns.out" -s eq:1 \ + diff -u empty hello +} + +atf_test_case functionname +functionname_head() { + atf_set "descr" "Test diff(1) C function option (-p)" +} + +functionname_body() +{ + atf_check -o file:$(atf_get_srcdir)/functionname_c.out -s exit:1 \ + diff -u -p -L functionname.in -L functionname_c.in \ + "$(atf_get_srcdir)/functionname.in" "$(atf_get_srcdir)/functionname_c.in" +} + atf_init_test_cases() { atf_add_test_case mallocv atf_add_test_case nomallocv atf_add_test_case same + atf_add_test_case simple + atf_add_test_case unified + atf_add_test_case header + atf_add_test_case header_ns + atf_add_test_case functionname } |
