Rob Landley | 641c353 | 2006-06-24 22:55:13 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | |
| 3 | # Tests for unzip. |
| 4 | # Copyright 2006 Rob Landley <rob@landley.net> |
Denis Vlasenko | 0beaff8 | 2007-09-21 13:16:32 +0000 | [diff] [blame] | 5 | # Copyright 2006 Glenn McGrath |
Denys Vlasenko | 0ef64bd | 2010-08-16 20:14:46 +0200 | [diff] [blame] | 6 | # Licensed under GPLv2, see file LICENSE in this source tree. |
Rob Landley | 641c353 | 2006-06-24 22:55:13 +0000 | [diff] [blame] | 7 | |
Mike Frysinger | caa7940 | 2009-11-04 18:41:22 -0500 | [diff] [blame] | 8 | . ./testing.sh |
Rob Landley | 641c353 | 2006-06-24 22:55:13 +0000 | [diff] [blame] | 9 | |
Denys Vlasenko | 1de25a6 | 2015-10-26 19:33:05 +0100 | [diff] [blame] | 10 | # testing "test name" "commands" "expected result" "file input" "stdin" |
Rob Landley | 641c353 | 2006-06-24 22:55:13 +0000 | [diff] [blame] | 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 | |
Denys Vlasenko | 1de25a6 | 2015-10-26 19:33:05 +0100 | [diff] [blame] | 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«IK-%Ix |
| 37 | unzip: inflate error |
| 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 | |
| 52 | rm * |
| 53 | |
Rob Landley | 641c353 | 2006-06-24 22:55:13 +0000 | [diff] [blame] | 54 | # Clean up scratch directory. |
| 55 | |
| 56 | cd .. |
| 57 | rm -rf temp |
| 58 | |
| 59 | exit $FAILCOUNT |