mirror of
https://git.zx2c4.com/cgit
synced 2024-12-23 07:31:53 +00:00
75bfec6448
This means that we can avoid hardcoding the number of headers we expect CGit to generate in test cases and simply remove whatever headers happen to by there when we are checking body content. Signed-off-by: John Keeping <john@keeping.me.uk>
83 lines
1.6 KiB
Bash
Executable File
83 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='Verify snapshot'
|
|
. ./setup.sh
|
|
|
|
test_expect_success 'get foo/snapshot/master.tar.gz' '
|
|
cgit_url "foo/snapshot/master.tar.gz" >tmp
|
|
'
|
|
|
|
test_expect_success 'check html headers' '
|
|
head -n 1 tmp |
|
|
grep "Content-Type: application/x-gzip" &&
|
|
|
|
head -n 2 tmp |
|
|
grep "Content-Disposition: inline; filename=.master.tar.gz."
|
|
'
|
|
|
|
test_expect_success 'strip off the header lines' '
|
|
strip_headers <tmp >master.tar.gz
|
|
'
|
|
|
|
test_expect_success 'verify gzip format' '
|
|
gunzip --test master.tar.gz
|
|
'
|
|
|
|
test_expect_success 'untar' '
|
|
rm -rf master &&
|
|
tar -xzf master.tar.gz
|
|
'
|
|
|
|
test_expect_success 'count files' '
|
|
ls master/ >output &&
|
|
test_line_count = 5 output
|
|
'
|
|
|
|
test_expect_success 'verify untarred file-5' '
|
|
grep "^5$" master/file-5 &&
|
|
test_line_count = 1 master/file-5
|
|
'
|
|
|
|
test_expect_success 'get foo/snapshot/master.zip' '
|
|
cgit_url "foo/snapshot/master.zip" >tmp
|
|
'
|
|
|
|
test_expect_success 'check HTML headers (zip)' '
|
|
head -n 1 tmp |
|
|
grep "Content-Type: application/x-zip" &&
|
|
|
|
head -n 2 tmp |
|
|
grep "Content-Disposition: inline; filename=.master.zip."
|
|
'
|
|
|
|
test_expect_success 'strip off the header lines (zip)' '
|
|
strip_headers <tmp >master.zip
|
|
'
|
|
|
|
if test -n "$(which unzip 2>/dev/null)"; then
|
|
test_set_prereq UNZIP
|
|
else
|
|
say 'Skipping ZIP validation tests: unzip not found'
|
|
fi
|
|
|
|
test_expect_success UNZIP 'verify zip format' '
|
|
unzip -t master.zip
|
|
'
|
|
|
|
test_expect_success UNZIP 'unzip' '
|
|
rm -rf master &&
|
|
unzip master.zip
|
|
'
|
|
|
|
test_expect_success UNZIP 'count files (zip)' '
|
|
ls master/ >output &&
|
|
test_line_count = 5 output
|
|
'
|
|
|
|
test_expect_success UNZIP 'verify unzipped file-5' '
|
|
grep "^5$" master/file-5 &&
|
|
test_line_count = 1 master/file-5
|
|
'
|
|
|
|
test_done
|