blob: d8738a3bdcfb69f035aba712c90dfb8759254c10 [file] [log] [blame]
Rob Landley641c3532006-06-24 22:55:13 +00001#!/bin/sh
2
3# Tests for unzip.
4# Copyright 2006 Rob Landley <rob@landley.net>
Denis Vlasenko0beaff82007-09-21 13:16:32 +00005# Copyright 2006 Glenn McGrath
Denys Vlasenko0ef64bd2010-08-16 20:14:46 +02006# Licensed under GPLv2, see file LICENSE in this source tree.
Rob Landley641c3532006-06-24 22:55:13 +00007
Mike Frysingercaa79402009-11-04 18:41:22 -05008. ./testing.sh
Rob Landley641c3532006-06-24 22:55:13 +00009
Denys Vlasenko1de25a62015-10-26 19:33:05 +010010# testing "test name" "commands" "expected result" "file input" "stdin"
Rob Landley641c3532006-06-24 22:55:13 +000011# 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
16mkdir temp
17cd temp
18
19# Create test file to work with.
20
21mkdir foo
22touch foo/bar
23zip foo.zip foo foo/bar > /dev/null
24rm -f foo/bar
25rmdir foo
26
27# Test that unzipping just foo doesn't create bar.
28testing "unzip (subdir only)" "unzip -q foo.zip foo/ && test -d foo && test ! -f foo/bar && echo yes" "yes\n" "" ""
29
30rmdir foo
31rm foo.zip
32
Denys Vlasenko1de25a62015-10-26 19:33:05 +010033# File containing some damaged encrypted stream
34testing "unzip (bad archive)" "uudecode; unzip bad.zip 2>&1; echo \$?" \
35"Archive: bad.zip
36 inflating: ]3j½r«IK-%Ix
Denys Vlasenko6bd3fff2015-10-30 23:41:53 +010037unzip: corrupted data
Denys Vlasenko1de25a62015-10-26 19:33:05 +010038unzip: inflate error
391
40" \
41"" "\
42begin-base64 644 bad.zip
43UEsDBBQAAgkIAAAAIQA5AAAANwAAADwAAAAQAAcAXTNqwr1ywqtJGxJLLSVJ
44eCkBD0AdKBk8JzQsIj01JC0/ORJQSwMEFAECCAAAAAAhADoAAAAPAAAANgAA
45AAwAAQASw73Ct1DCokohPXQiNjoUNTUiHRwgLT4WHlBLAQIQABQAAggIAAAA
46oQA5AAAANwAAADwAAAAQQAcADAAAACwAMgCAAAAAAABdM2rCvXLCq0kbEkst
47JUl4KQEPQB0oGSY4Cz4QNgEnJSYIPVBLAQIAABQAAggAAAAAIQAqAAAADwAA
48BDYAAAAMAAEADQAAADIADQAAAEEAAAASw73Ct1DKokohPXQiNzA+FAI1HCcW
49NzITNFBLBQUKAC4JAA04Cw0EOhZQSwUGAQAABAIAAgCZAAAAeQAAAAIALhM=
50====
51"
52
53rm *
54
Rob Landley641c3532006-06-24 22:55:13 +000055# Clean up scratch directory.
56
57cd ..
58rm -rf temp
59
60exit $FAILCOUNT