xref: /freebsd/usr.bin/diff3/tests/diff3_test.sh (revision b37a6938e39a7ed9542fafee671465bf719fd537)
1e1910ebdSBaptiste Daroussin
2e1910ebdSBaptiste Daroussinatf_test_case diff3
3e1910ebdSBaptiste Daroussinatf_test_case diff3_lesssimple
47c03df68STom Jonesatf_test_case diff3_ed
59ab079c5STom Jonesatf_test_case diff3_A
6034dd2d5STom Jonesatf_test_case diff3_merge
7*b37a6938SBaptiste Daroussinatf_test_case diff3_E_merge
8e1910ebdSBaptiste Daroussin
9e1910ebdSBaptiste Daroussindiff3_body()
10e1910ebdSBaptiste Daroussin{
11e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/1.out \
12e1910ebdSBaptiste Daroussin		diff3 $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
13e1910ebdSBaptiste Daroussin
1454a3415cSPiotr Pawel Stefaniak	atf_check -o file:$(atf_get_srcdir)/1.out \
1554a3415cSPiotr Pawel Stefaniak		diff3 --strip-trailing-cr $(atf_get_srcdir)/1cr.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
1654a3415cSPiotr Pawel Stefaniak
179f7a81b1SPiotr Pawel Stefaniak	atf_check -o file:$(atf_get_srcdir)/1t.out \
189f7a81b1SPiotr Pawel Stefaniak		diff3 -T $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
199f7a81b1SPiotr Pawel Stefaniak
20e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/2.out \
21e1910ebdSBaptiste Daroussin		diff3 -e $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
22e1910ebdSBaptiste Daroussin
23e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/3.out \
24e1910ebdSBaptiste Daroussin		diff3 -E -L 1 -L 2 -L 3 $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
25e1910ebdSBaptiste Daroussin
26e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/4.out \
27e1910ebdSBaptiste Daroussin		diff3 -X -L 1 -L 2 -L 3 $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
28e1910ebdSBaptiste Daroussin
29e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/5.out \
30e1910ebdSBaptiste Daroussin		diff3 -x $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
31e1910ebdSBaptiste Daroussin
32e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/6.out \
33e1910ebdSBaptiste Daroussin		diff3 -3 $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
34e1910ebdSBaptiste Daroussin
35e1910ebdSBaptiste Daroussin	atf_check -o file:$(atf_get_srcdir)/7.out \
36e1910ebdSBaptiste Daroussin		diff3 -i $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
37e1910ebdSBaptiste Daroussin}
38e1910ebdSBaptiste Daroussin
39e1910ebdSBaptiste Daroussindiff3_lesssimple_body()
40e1910ebdSBaptiste Daroussin{
41e1910ebdSBaptiste Daroussin	atf_check -s exit:1 -o file:$(atf_get_srcdir)/10.out \
42e1910ebdSBaptiste Daroussin		diff3 -m -L 1 -L 2 -L 3 $(atf_get_srcdir)/4.txt $(atf_get_srcdir)/5.txt $(atf_get_srcdir)/6.txt
43e1910ebdSBaptiste Daroussin}
44e1910ebdSBaptiste Daroussin
457c03df68STom Jonesdiff3_ed_body()
467c03df68STom Jones{
477c03df68STom Jones	atf_check -s exit:0 -o file:$(atf_get_srcdir)/long-ed.out \
487c03df68STom Jones		diff3 -e $(atf_get_srcdir)/long-m.txt $(atf_get_srcdir)/long-o.txt $(atf_get_srcdir)/long-y.txt
497c03df68STom Jones}
507c03df68STom Jones
519ab079c5STom Jonesdiff3_A_body()
529ab079c5STom Jones{
539ab079c5STom Jones	atf_check -s exit:1 -o file:$(atf_get_srcdir)/8.out \
549ab079c5STom Jones		diff3 -A -L 1 -L 2 -L 3 $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
559ab079c5STom Jones
569ab079c5STom Jones	atf_check -s exit:1 -o file:$(atf_get_srcdir)/long-A.out \
579ab079c5STom Jones		diff3 -A -L long-m.txt -L long-o.txt -L long-y.txt $(atf_get_srcdir)/long-m.txt $(atf_get_srcdir)/long-o.txt $(atf_get_srcdir)/long-y.txt
589ab079c5STom Jones}
599ab079c5STom Jones
60034dd2d5STom Jones
61034dd2d5STom Jonesdiff3_merge_body()
62034dd2d5STom Jones{
63034dd2d5STom Jones	atf_check -s exit:1 -o file:$(atf_get_srcdir)/9.out \
64034dd2d5STom Jones		diff3 -m -L 1 -L 2 -L 3 $(atf_get_srcdir)/1.txt $(atf_get_srcdir)/2.txt $(atf_get_srcdir)/3.txt
65c1c381ebSTom Jones
66034dd2d5STom Jones	atf_check -s exit:1 -o file:$(atf_get_srcdir)/long-merge.out \
67034dd2d5STom Jones		diff3 -m -L long-m.txt -L long-o.txt -L long-y.txt $(atf_get_srcdir)/long-m.txt $(atf_get_srcdir)/long-o.txt $(atf_get_srcdir)/long-y.txt
68034dd2d5STom Jones}
69034dd2d5STom Jones
70*b37a6938SBaptiste Daroussindiff3_E_merge_body()
71*b37a6938SBaptiste Daroussin{
72*b37a6938SBaptiste Daroussin
73*b37a6938SBaptiste Daroussinexpected="<<<<<<< 2
74*b37a6938SBaptiste Daroussin# \$FreeBSD: head/local 12000 jhb \$
75*b37a6938SBaptiste Daroussin=======
76*b37a6938SBaptiste Daroussin# \$FreeBSD: head/local 12345 jhb \$
77*b37a6938SBaptiste Daroussin>>>>>>> 3
78*b37a6938SBaptiste Daroussin# \$FreeBSD: head/local 12345 jhb \$
79*b37a6938SBaptiste Daroussin
80*b37a6938SBaptiste Daroussinthis is a file
81*b37a6938SBaptiste Daroussin
82*b37a6938SBaptiste Daroussinthese are some local mods to the file
83*b37a6938SBaptiste Daroussin"
84*b37a6938SBaptiste Daroussin	# first test the regular test
85*b37a6938SBaptiste Daroussin	cp $(atf_get_srcdir)/fbsdid2.txt out.txt
86*b37a6938SBaptiste Daroussin	atf_check -s exit:1 -o inline:"${expected}" \
87*b37a6938SBaptiste Daroussin		diff3 -m -L 1 -L 2 -L 3 out.txt $(atf_get_srcdir)/fbsdid1.txt $(atf_get_srcdir)/fbsdid2.txt
88*b37a6938SBaptiste Daroussin
89*b37a6938SBaptiste Daroussinmerged="# \$FreeBSD: head/local 12345 jhb \$
90*b37a6938SBaptiste Daroussin
91*b37a6938SBaptiste Daroussinthis is a file
92*b37a6938SBaptiste Daroussin
93*b37a6938SBaptiste Daroussinthese are some local mods to the file
94*b37a6938SBaptiste Daroussin"
95*b37a6938SBaptiste Daroussin	atf_check -s exit:0 -o inline:"${merged}" \
96*b37a6938SBaptiste Daroussin		diff3 -E -m out.txt $(atf_get_srcdir)/fbsdid1.txt $(atf_get_srcdir)/fbsdid2.txt
97*b37a6938SBaptiste Daroussin}
98*b37a6938SBaptiste Daroussin
99*b37a6938SBaptiste Daroussin
100e1910ebdSBaptiste Daroussinatf_init_test_cases()
101e1910ebdSBaptiste Daroussin{
102e1910ebdSBaptiste Daroussin	atf_add_test_case diff3
103cb5a670eSBaptiste Daroussin#	atf_add_test_case diff3_lesssimple
1047c03df68STom Jones	atf_add_test_case diff3_ed
1059ab079c5STom Jones	atf_add_test_case diff3_A
106034dd2d5STom Jones	atf_add_test_case diff3_merge
107*b37a6938SBaptiste Daroussin	atf_add_test_case diff3_E_merge
108e1910ebdSBaptiste Daroussin}
109