3 : ${lha_dir=@top_builddir@/src}
4 : ${lha=$(cd $lha_dir && pwd)/lha}
6 trap "rm -rf test-*" 0 1 2 3 15
8 declare -i test_number=0
18 ((test_number = test_number + 1))
20 if [[ $status -eq 0 ]]; then
21 message test $test_number ... ok
23 message test $test_number ... failed
29 message testing to create/list/extract lha archive.
35 sed 's/foo/bar/g' < test-a > test-b
36 sed 's/foo/baz/g' < test-a > test-c
38 $lha c test-1.lzh test-a test-b test-c
46 test -d test-1 || mkdir test-1
50 diff test-1/test-a test-a
52 diff test-1/test-b test-b
54 diff test-1/test-c test-c
57 message testing to generic, lh5, lh6 and lh7 method archive.
58 $lha co test-m1.lzh test-a test-b test-c
60 $lha co5 test-m5.lzh test-a test-b test-c
62 $lha co6 test-m6.lzh test-a test-b test-c
64 $lha co7 test-m7.lzh test-a test-b test-c
66 $lha v test-m1.lzh | grep lh1
68 $lha v test-m5.lzh | grep lh5
70 $lha v test-m6.lzh | grep lh6
72 $lha v test-m7.lzh | grep lh7
75 $lha xw=test-m1 test-m1.lzh
77 $lha xw=test-m5 test-m5.lzh
79 $lha xw=test-m6 test-m6.lzh
81 $lha xw=test-m7 test-m7.lzh
84 diff -r test-1 test-m1
86 diff -r test-1 test-m5
88 diff -r test-1 test-m6
90 diff -r test-1 test-m7
93 message testing to print lha archive.
95 $lha pq test-m1.lzh test-a | diff test-a -
97 $lha pq test-m5.lzh test-a | diff test-a -
99 $lha pq test-m6.lzh test-a | diff test-a -
101 $lha pq test-m7.lzh test-a | diff test-a -
104 cat test-[abc] > test-abc
105 $lha pq test-m1.lzh | diff test-abc -
107 $lha pq test-m5.lzh | diff test-abc -
109 $lha pq test-m6.lzh | diff test-abc -
111 $lha pq test-m7.lzh | diff test-abc -
114 message testing to delete files from archive.
116 cp test-m5.lzh test-2.lzh
119 $lha d test-2.lzh 2> test-stderr
123 $lha d test-2.lzh test-a
125 $lha xw=test-2 test-2.lzh &&
126 test ! -f test-2/test-a &&
127 diff test-1/test-b test-2/test-b &&
128 diff test-1/test-c test-2/test-c
132 $lha d test-2.lzh test-b
134 $lha xw=test-2 test-2.lzh &&
135 test ! -f test-2/test-a &&
136 test ! -f test-2/test-b &&
137 diff test-1/test-c test-2/test-c
141 $lha d test-2.lzh test-c 2> test-stderr
148 message testing to treat stdin/stdout as archive file.
150 $lha c - test-a test-b test-c > test-3.lzh
152 cat test-3.lzh | $lha xw=test-3 -
154 diff -r test-m5 test-3
157 # message testing to treat stdin/stdout as file list.
158 # # On MinGW, these tests will fail for now.
159 # cat <<EOF | $lha c test-4.lzh
165 # echo test-b | $lha xw=test-4 test-4.lzh
167 # test ! -f test-4/test-a &&
168 # test ! -f test-4/test-c &&
169 # diff test-b test-4/test-b
172 message testing to add/update files to archive.
173 $lha a test-5.lzh test-c
175 $lha a test-5.lzh test-b
177 $lha a test-5.lzh test-a
179 $lha xw=test-5 test-5.lzh
181 diff -r test-1 test-5
189 $lha u ../test-5.lzh test-[abc]
192 $lha xw=test-5.3 test-5.lzh
194 diff -r test-5.2 test-5.3
196 # no update old files
198 $lha u ../test-5.lzh test-[abc]
201 $lha xw=test-5.4 test-5.lzh
203 diff -r test-5.3 test-5.4
207 $lha a ../test-5.lzh test-[abc]
209 $lha xw=test-5.5 test-5.lzh
211 diff -r test-5 test-5.5