libbb: make "COMMON_BUFSIZE = 1024 bytes, the buffer will be malloced" work
[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 testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
35 "Archive:  bad.zip
36   inflating: ]3j½r«I\e\12K-%Ix
37 unzip: corrupted data
38 unzip: inflate error
39 1
40 " \
41 "" "\
42 begin-base64 644 bad.zip
43 UEsDBBQAAgkIAAAAIQA5AAAANwAAADwAAAAQAAcAXTNqwr1ywqtJGxJLLSVJ
44 eCkBD0AdKBk8JzQsIj01JC0/ORJQSwMEFAECCAAAAAAhADoAAAAPAAAANgAA
45 AAwAAQASw73Ct1DCokohPXQiNjoUNTUiHRwgLT4WHlBLAQIQABQAAggIAAAA
46 oQA5AAAANwAAADwAAAAQQAcADAAAACwAMgCAAAAAAABdM2rCvXLCq0kbEkst
47 JUl4KQEPQB0oGSY4Cz4QNgEnJSYIPVBLAQIAABQAAggAAAAAIQAqAAAADwAA
48 BDYAAAAMAAEADQAAADIADQAAAEEAAAASw73Ct1DKokohPXQiNzA+FAI1HCcW
49 NzITNFBLBQUKAC4JAA04Cw0EOhZQSwUGAQAABAIAAgCZAAAAeQAAAAIALhM=
50 ====
51 "
52
53 rm *
54
55 # Clean up scratch directory.
56
57 cd ..
58 rm -rf temp
59
60 exit $FAILCOUNT