1# $FreeBSD$ 2 3atf_test_case simple 4atf_test_case unified 5atf_test_case header 6atf_test_case header_ns 7atf_test_case ifdef 8atf_test_case group_format 9atf_test_case side_by_side 10atf_test_case brief_format 11atf_test_case b230049 12atf_test_case Bflag 13atf_test_case tabsize 14 15simple_body() 16{ 17 atf_check -o file:$(atf_get_srcdir)/simple.out -s eq:1 \ 18 diff "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" 19 20 atf_check -o file:$(atf_get_srcdir)/simple_e.out -s eq:1 \ 21 diff -e "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" 22 23 atf_check -o file:$(atf_get_srcdir)/simple_u.out -s eq:1 \ 24 diff -u -L input1 -L input2 "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" 25 26 atf_check -o file:$(atf_get_srcdir)/simple_n.out -s eq:1 \ 27 diff -n "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" 28 29 atf_check -o inline:"Files $(atf_get_srcdir)/input1.in and $(atf_get_srcdir)/input2.in differ\n" -s eq:1 \ 30 diff -q "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input2.in" 31 32 atf_check \ 33 diff -q "$(atf_get_srcdir)/input1.in" "$(atf_get_srcdir)/input1.in" 34 35 atf_check -o file:$(atf_get_srcdir)/simple_i.out -s eq:1 \ 36 diff -i "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 37 38 atf_check -o file:$(atf_get_srcdir)/simple_w.out -s eq:1 \ 39 diff -w "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 40 41 atf_check -o file:$(atf_get_srcdir)/simple_b.out -s eq:1 \ 42 diff -b "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 43 44 atf_check -o file:$(atf_get_srcdir)/simple_p.out -s eq:1 \ 45 diff --label input_c1.in --label input_c2.in -p "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 46} 47 48unified_body() 49{ 50 atf_check -o file:$(atf_get_srcdir)/unified_p.out -s eq:1 \ 51 diff -up -L input_c1.in -L input_c2.in "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 52 atf_check -o file:$(atf_get_srcdir)/unified_c9999.out -s eq:1 \ 53 diff -u -c9999 -L input_c1.in -L input_c2.in "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 54 atf_check -o file:$(atf_get_srcdir)/unified_9999.out -s eq:1 \ 55 diff -u9999 -L input_c1.in -L input_c2.in "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 56} 57 58b230049_body() 59{ 60 printf 'a\nb\r\nc\n' > b230049_a.in 61 printf 'a\r\nb\r\nc\r\n' > b230049_b.in 62 atf_check -o empty -s eq:0 \ 63 diff -up --strip-trailing-cr -L b230049_a.in -L b230049_b.in \ 64 b230049_a.in b230049_b.in 65} 66 67header_body() 68{ 69 export TZ=UTC 70 : > empty 71 echo hello > hello 72 touch -d 2015-04-03T01:02:03 empty 73 touch -d 2016-12-22T11:22:33 hello 74 atf_check -o "file:$(atf_get_srcdir)/header.out" -s eq:1 \ 75 diff -u empty hello 76} 77 78header_ns_body() 79{ 80 export TZ=UTC 81 : > empty 82 echo hello > hello 83 touch -d 2015-04-03T01:02:03.123456789 empty 84 touch -d 2016-12-22T11:22:33.987654321 hello 85 atf_check -o "file:$(atf_get_srcdir)/header_ns.out" -s eq:1 \ 86 diff -u empty hello 87} 88 89ifdef_body() 90{ 91 atf_check -o file:$(atf_get_srcdir)/ifdef.out -s eq:1 \ 92 diff -D PLOP "$(atf_get_srcdir)/input_c1.in" \ 93 "$(atf_get_srcdir)/input_c2.in" 94} 95 96group_format_body() 97{ 98 atf_check -o file:$(atf_get_srcdir)/group-format.out -s eq:1 \ 99 diff --changed-group-format='<<<<<<< (local) 100%<======= 101%>>>>>>>> (stock) 102' "$(atf_get_srcdir)/input_c1.in" "$(atf_get_srcdir)/input_c2.in" 103} 104 105side_by_side_body() 106{ 107 atf_check -o save:A printf "A\nB\nC\n" 108 atf_check -o save:B printf "D\nB\nE\n" 109 110 exp_output="A[[:space:]]+|[[:space:]]+D\nB[[:space:]]+B\nC[[:space:]]+|[[:space:]]+E" 111 exp_output_suppressed="A[[:space:]]+|[[:space:]]+D\nC[[:space:]]+|[[:space:]]+E" 112 113 atf_check -o match:"$exp_output" -s exit:1 \ 114 diff --side-by-side A B 115 atf_check -o match:"$exp_output" -s exit:1 \ 116 diff -y A B 117 atf_check -o match:"$exp_output_suppressed" -s exit:1 \ 118 diff -y --suppress-common-lines A B 119 atf_check -o match:"$exp_output_suppressed" -s exit:1 \ 120 diff -W 65 -y --suppress-common-lines A B 121} 122 123brief_format_body() 124{ 125 atf_check mkdir A B 126 127 atf_check -x "echo 1 > A/test-file" 128 atf_check -x "echo 2 > B/test-file" 129 130 atf_check cp -Rf A C 131 atf_check cp -Rf A D 132 133 atf_check -x "echo 3 > D/another-test-file" 134 135 atf_check \ 136 -s exit:1 \ 137 -o inline:"Files A/test-file and B/test-file differ\n" \ 138 diff -rq A B 139 140 atf_check diff -rq A C 141 142 atf_check \ 143 -s exit:1 \ 144 -o inline:"Only in D: another-test-file\n" \ 145 diff -rq A D 146 147 atf_check \ 148 -s exit:1 \ 149 -o inline:"Files A/another-test-file and D/another-test-file differ\n" \ 150 diff -Nrq A D 151} 152 153Bflag_body() 154{ 155 atf_check -x 'printf "A\nB\n" > A' 156 atf_check -x 'printf "A\n\nB\n" > B' 157 atf_check -x 'printf "A\n \nB\n" > C' 158 atf_check -x 'printf "A\nC\nB\n" > D' 159 atf_check -x 'printf "A\nB\nC\nD\nE\nF\nG\nH" > E' 160 atf_check -x 'printf "A\n\nB\nC\nD\nE\nF\nX\nH" > F' 161 162 atf_check -s exit:0 -o inline:"" diff -B A B 163 atf_check -s exit:1 -o file:"$(atf_get_srcdir)/Bflag_C.out" diff -B A C 164 atf_check -s exit:1 -o file:"$(atf_get_srcdir)/Bflag_D.out" diff -B A D 165 atf_check -s exit:1 -o file:"$(atf_get_srcdir)/Bflag_F.out" diff -B E F 166} 167 168tabsize_body() 169{ 170 printf "\tA\n" > A 171 printf "\tB\n" > B 172 173 atf_check -s exit:1 \ 174 -o inline:"1c1\n< A\n---\n> B\n" \ 175 diff -t --tabsize 1 A B 176} 177 178atf_init_test_cases() 179{ 180 atf_add_test_case simple 181 atf_add_test_case unified 182 atf_add_test_case header 183 atf_add_test_case header_ns 184 atf_add_test_case ifdef 185 atf_add_test_case group_format 186 atf_add_test_case side_by_side 187 atf_add_test_case brief_format 188 atf_add_test_case b230049 189 atf_add_test_case Bflag 190 atf_add_test_case tabsize 191} 192