blob: 6cf7aaa6fca5dd8d9c48fca1a4f988db31aff539 [file] [log] [blame]
Lars Hjemlib4649fc2007-11-11 00:40:58 +01001#!/bin/sh
2
John Keepingc95cc5e2013-04-01 15:09:05 +01003test_description='Verify snapshot'
Lars Hjemlib4649fc2007-11-11 00:40:58 +01004. ./setup.sh
5
John Keepingc95cc5e2013-04-01 15:09:05 +01006test_expect_success 'get foo/snapshot/master.tar.gz' '
7 cgit_url "foo/snapshot/master.tar.gz" >tmp
Lars Hjemlib4649fc2007-11-11 00:40:58 +01008'
9
John Keepingc95cc5e2013-04-01 15:09:05 +010010test_expect_success 'check html headers' '
11 head -n 1 tmp |
John Keepingf9b801a2013-03-04 21:58:50 +000012 grep "Content-Type: application/x-gzip" &&
Lars Hjemlib4649fc2007-11-11 00:40:58 +010013
John Keepingc95cc5e2013-04-01 15:09:05 +010014 head -n 2 tmp |
John Keepingf9b801a2013-03-04 21:58:50 +000015 grep "Content-Disposition: inline; filename=.master.tar.gz."
Lars Hjemlib4649fc2007-11-11 00:40:58 +010016'
17
John Keepingc95cc5e2013-04-01 15:09:05 +010018test_expect_success 'strip off the header lines' '
John Keeping75bfec62013-05-18 18:46:38 +010019 strip_headers <tmp >master.tar.gz
Lars Hjemlib4649fc2007-11-11 00:40:58 +010020'
21
John Keepingc95cc5e2013-04-01 15:09:05 +010022test_expect_success 'verify gzip format' '
23 gunzip --test master.tar.gz
John Keepingf9b801a2013-03-04 21:58:50 +000024'
25
John Keepingc95cc5e2013-04-01 15:09:05 +010026test_expect_success 'untar' '
27 rm -rf master &&
Lukas Fleischer410da3a2013-04-09 00:13:52 +020028 tar -xzf master.tar.gz
Lars Hjemli204669f2008-10-05 13:13:03 +020029'
Lars Hjemlib4649fc2007-11-11 00:40:58 +010030
John Keepingc95cc5e2013-04-01 15:09:05 +010031test_expect_success 'count files' '
32 ls master/ >output &&
33 test_line_count = 5 output
Lars Hjemlib4649fc2007-11-11 00:40:58 +010034'
35
John Keepingc95cc5e2013-04-01 15:09:05 +010036test_expect_success 'verify untarred file-5' '
37 grep "^5$" master/file-5 &&
38 test_line_count = 1 master/file-5
Lars Hjemlib4649fc2007-11-11 00:40:58 +010039'
40
John Keepingc95cc5e2013-04-01 15:09:05 +010041test_expect_success 'get foo/snapshot/master.zip' '
42 cgit_url "foo/snapshot/master.zip" >tmp
John Keepingd5a43b42013-03-04 21:58:51 +000043'
44
John Keepingc95cc5e2013-04-01 15:09:05 +010045test_expect_success 'check HTML headers (zip)' '
46 head -n 1 tmp |
John Keepingd5a43b42013-03-04 21:58:51 +000047 grep "Content-Type: application/x-zip" &&
48
John Keepingc95cc5e2013-04-01 15:09:05 +010049 head -n 2 tmp |
John Keepingd5a43b42013-03-04 21:58:51 +000050 grep "Content-Disposition: inline; filename=.master.zip."
51'
52
John Keepingc95cc5e2013-04-01 15:09:05 +010053test_expect_success 'strip off the header lines (zip)' '
John Keeping75bfec62013-05-18 18:46:38 +010054 strip_headers <tmp >master.zip
John Keepingd5a43b42013-03-04 21:58:51 +000055'
56
Lukas Fleischer81bf4d32013-04-09 20:02:33 +020057if test -n "$(which unzip 2>/dev/null)"; then
58 test_set_prereq UNZIP
59else
60 say 'Skipping ZIP validation tests: unzip not found'
61fi
62
63test_expect_success UNZIP 'verify zip format' '
John Keepingc95cc5e2013-04-01 15:09:05 +010064 unzip -t master.zip
John Keepingd5a43b42013-03-04 21:58:51 +000065'
66
Lukas Fleischer81bf4d32013-04-09 20:02:33 +020067test_expect_success UNZIP 'unzip' '
John Keepingc95cc5e2013-04-01 15:09:05 +010068 rm -rf master &&
69 unzip master.zip
John Keepingd5a43b42013-03-04 21:58:51 +000070'
71
Lukas Fleischer81bf4d32013-04-09 20:02:33 +020072test_expect_success UNZIP 'count files (zip)' '
John Keepingc95cc5e2013-04-01 15:09:05 +010073 ls master/ >output &&
74 test_line_count = 5 output
John Keepingd5a43b42013-03-04 21:58:51 +000075'
76
Lukas Fleischer81bf4d32013-04-09 20:02:33 +020077test_expect_success UNZIP 'verify unzipped file-5' '
John Keepingc95cc5e2013-04-01 15:09:05 +010078 grep "^5$" master/file-5 &&
79 test_line_count = 1 master/file-5
John Keepingd5a43b42013-03-04 21:58:51 +000080'
81
John Keepingc95cc5e2013-04-01 15:09:05 +010082test_done