xref: /freebsd/usr.bin/soelim/tests/soelim_test.sh (revision d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf)
1*458cbf0aSEnji Cooper
2*458cbf0aSEnji Cooperatf_test_case stdin
3*458cbf0aSEnji Cooperstdin_head()
4*458cbf0aSEnji Cooper{
5*458cbf0aSEnji Cooper	atf_set "descr" "stdin functionality"
6*458cbf0aSEnji Cooper}
7*458cbf0aSEnji Cooper
8*458cbf0aSEnji Cooperstdin_body()
9*458cbf0aSEnji Cooper{
10*458cbf0aSEnji Cooper	# no file after .so
11*458cbf0aSEnji Cooper	atf_check \
12*458cbf0aSEnji Cooper		-o inline:".so\n" \
13*458cbf0aSEnji Cooper		-e empty \
14*458cbf0aSEnji Cooper		-s exit:0 \
15*458cbf0aSEnji Cooper		soelim <<-EOF
16*458cbf0aSEnji Cooper.so
17*458cbf0aSEnji CooperEOF
18*458cbf0aSEnji Cooper
19*458cbf0aSEnji Cooper	# only space after .so
20*458cbf0aSEnji Cooper	atf_check \
21*458cbf0aSEnji Cooper		-o inline:".so  	\n" \
22*458cbf0aSEnji Cooper		-e empty \
23*458cbf0aSEnji Cooper		-s exit:0 \
24*458cbf0aSEnji Cooper		soelim <<-EOF
25*458cbf0aSEnji Cooper.so  	
26*458cbf0aSEnji CooperEOF
27*458cbf0aSEnji Cooper
28*458cbf0aSEnji Cooper	# explicit stdin
29*458cbf0aSEnji Cooper	atf_check \
30*458cbf0aSEnji Cooper		-o inline:".so\n" \
31*458cbf0aSEnji Cooper		-e empty \
32*458cbf0aSEnji Cooper		-s exit:0 \
33*458cbf0aSEnji Cooper		soelim - <<-EOF
34*458cbf0aSEnji Cooper.so
35*458cbf0aSEnji CooperEOF
36*458cbf0aSEnji Cooper
37*458cbf0aSEnji Cooper	atf_check \
38*458cbf0aSEnji Cooper		-o empty \
39*458cbf0aSEnji Cooper		-e inline:"soelim: can't open 'afile': No such file or directory\n" \
40*458cbf0aSEnji Cooper		-s exit:1 \
41*458cbf0aSEnji Cooper		soelim <<-EOF
42*458cbf0aSEnji Cooper.so afile
43*458cbf0aSEnji CooperEOF
44*458cbf0aSEnji Cooper
45*458cbf0aSEnji Cooper	atf_check \
46*458cbf0aSEnji Cooper		-o inline:".soafile\n" \
47*458cbf0aSEnji Cooper		-e empty \
48*458cbf0aSEnji Cooper		-s exit:0 \
49*458cbf0aSEnji Cooper		soelim <<-EOF
50*458cbf0aSEnji Cooper.soafile
51*458cbf0aSEnji CooperEOF
52*458cbf0aSEnji Cooper
53*458cbf0aSEnji Cooper	atf_check \
54*458cbf0aSEnji Cooper		-o empty \
55*458cbf0aSEnji Cooper		-e inline:"soelim: can't open 'afile': No such file or directory\n" \
56*458cbf0aSEnji Cooper		-s exit:1 \
57*458cbf0aSEnji Cooper		soelim -C <<-EOF
58*458cbf0aSEnji Cooper.soafile
59*458cbf0aSEnji CooperEOF
60*458cbf0aSEnji Cooper}
61*458cbf0aSEnji Cooper
62*458cbf0aSEnji Cooperatf_test_case files
63*458cbf0aSEnji Cooperfiles_head()
64*458cbf0aSEnji Cooper{
65*458cbf0aSEnji Cooper	atf_set "descr" "testing files"
66*458cbf0aSEnji Cooper}
67*458cbf0aSEnji Cooper
68*458cbf0aSEnji Cooperfiles_body()
69*458cbf0aSEnji Cooper{
70*458cbf0aSEnji Cooper	atf_check \
71*458cbf0aSEnji Cooper		-o inline:"This is a test\n" \
72*458cbf0aSEnji Cooper		-e inline:"soelim: can't open 'nonexistingfile': No such file or directory\n" \
73*458cbf0aSEnji Cooper		-s exit:1 \
74*458cbf0aSEnji Cooper		soelim $(atf_get_srcdir)/nonexisting.in
75*458cbf0aSEnji Cooper
76*458cbf0aSEnji Cooper	cp $(atf_get_srcdir)/basic .
77*458cbf0aSEnji Cooper	atf_check \
78*458cbf0aSEnji Cooper		-o file:$(atf_get_srcdir)/basic.out \
79*458cbf0aSEnji Cooper		-e empty \
80*458cbf0aSEnji Cooper		-s exit:0 \
81*458cbf0aSEnji Cooper		soelim $(atf_get_srcdir)/basic.in
82*458cbf0aSEnji Cooper
83*458cbf0aSEnji Cooper	rm -f basic
84*458cbf0aSEnji Cooper	atf_check \
85*458cbf0aSEnji Cooper		-o file:$(atf_get_srcdir)/basic.out \
86*458cbf0aSEnji Cooper		-e empty \
87*458cbf0aSEnji Cooper		-s exit:0 \
88*458cbf0aSEnji Cooper		soelim -I$(atf_get_srcdir) $(atf_get_srcdir)/basic.in
89*458cbf0aSEnji Cooper
90*458cbf0aSEnji Cooper	atf_check \
91*458cbf0aSEnji Cooper		-o file:$(atf_get_srcdir)/basic-with-space.out \
92*458cbf0aSEnji Cooper		-e empty \
93*458cbf0aSEnji Cooper		-s exit:0 \
94*458cbf0aSEnji Cooper		soelim -I$(atf_get_srcdir) $(atf_get_srcdir)/basic-with-space.in
95*458cbf0aSEnji Cooper
96*458cbf0aSEnji Cooper}
97*458cbf0aSEnji Cooper
98*458cbf0aSEnji Cooperatf_init_test_cases()
99*458cbf0aSEnji Cooper{
100*458cbf0aSEnji Cooper	atf_add_test_case stdin
101*458cbf0aSEnji Cooper	atf_add_test_case files
102*458cbf0aSEnji Cooper}
103