d9c45242cb8ede38ede97fee392c31f9ee1933ef
[oweals/busybox.git] / testsuite / unzip.tests
1 #!/bin/sh
2
3 # Tests for unzip.
4 # Copyright 2006 Rob Landley <rob@landley.net>
5 # Copyright 2006 Glenn McGrath
6 # Licensed under GPLv2, see file LICENSE in this source tree.
7
8 . ./testing.sh
9
10 # testing "test name" "commands" "expected result" "file input" "stdin"
11 #   file input will be file called "input"
12 #   test can create a file "actual" instead of writing to stdout
13
14 # Create a scratch directory
15
16 mkdir temp
17 cd temp
18
19 # Create test file to work with.
20
21 mkdir foo
22 touch foo/bar
23 zip foo.zip foo foo/bar > /dev/null
24 rm -f foo/bar
25 rmdir foo
26
27 # Test that unzipping just foo doesn't create bar.
28 testing "unzip (subdir only)" "unzip -q foo.zip foo/ && test -d foo && test ! -f foo/bar && echo yes" "yes\n" "" ""
29
30 rmdir foo
31 rm foo.zip
32
33 # File containing some damaged encrypted stream
34 optional FEATURE_UNZIP_CDF
35 testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
36 "Archive:  bad.zip
37 unzip: short read
38 1
39 " \
40 "" "\
41 begin-base64 644 bad.zip
42 UEsDBBQAAgkIAAAAIQA5AAAANwAAADwAAAAQAAcAXTNqwr1ywqtJGxJLLSVJ
43 eCkBD0AdKBk8JzQsIj01JC0/ORJQSwMEFAECCAAAAAAhADoAAAAPAAAANgAA
44 AAwAAQASw73Ct1DCokohPXQiNjoUNTUiHRwgLT4WHlBLAQIQABQAAggIAAAA
45 oQA5AAAANwAAADwAAAAQQAcADAAAACwAMgCAAAAAAABdM2rCvXLCq0kbEkst
46 JUl4KQEPQB0oGSY4Cz4QNgEnJSYIPVBLAQIAABQAAggAAAAAIQAqAAAADwAA
47 BDYAAAAMAAEADQAAADIADQAAAEEAAAASw73Ct1DKokohPXQiNzA+FAI1HCcW
48 NzITNFBLBQUKAC4JAA04Cw0EOhZQSwUGAQAABAIAAgCZAAAAeQAAAAIALhM=
49 ====
50 "
51 SKIP=
52
53 rm *
54
55 # Clean up scratch directory.
56
57 cd ..
58 rm -rf temp
59
60 exit $FAILCOUNT