summaryrefslogtreecommitdiffabout
path: root/tests/t0107-snapshot.sh
authorLars Hjemli <hjemli@gmail.com>2007-11-10 23:40:58 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2007-11-11 11:00:13 (UTC)
commitb4649fc90597910c89c3f37a6aec9af54d9f416b (patch) (side-by-side diff)
treec4542a13f9509ebd92baf4f26548ddc72ac1f05f /tests/t0107-snapshot.sh
parentab21082c21867e035cd925a06d6d55fb3143d883 (diff)
downloadcgit-b4649fc90597910c89c3f37a6aec9af54d9f416b.zip
cgit-b4649fc90597910c89c3f37a6aec9af54d9f416b.tar.gz
cgit-b4649fc90597910c89c3f37a6aec9af54d9f416b.tar.bz2
Create initial testsuite
This creates a simple testsuite, heavily inspired by the testsuite in git. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'tests/t0107-snapshot.sh') (more/less context) (ignore whitespace changes)
-rwxr-xr-xtests/t0107-snapshot.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh
new file mode 100755
index 0000000..8e90e10
--- a/dev/null
+++ b/tests/t0107-snapshot.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+. ./setup.sh
+
+prepare_tests "Verify snapshot"
+
+run_test 'get foo/snapshot/test.tar.gz' '
+ cgit_url "foo/snapshot/test.tar.gz" >trash/tmp
+'
+
+run_test 'check html headers' '
+ head -n 1 trash/tmp |
+ grep -e "Content-Type: application/x-tar" &&
+
+ head -n 2 trash/tmp |
+ grep -e "Content-Disposition: inline; filename=.test.tar.gz."
+'
+
+run_test 'strip off the header lines' '
+ tail -n +6 trash/tmp > trash/test.tar.gz
+'
+
+run_test 'verify gzip format' 'gunzip --test trash/test.tar.gz'
+run_test 'untar' 'tar -xf trash/test.tar.gz -C trash'
+
+run_test 'count files' '
+ c=$(ls -1 trash/foo/ | wc -l) &&
+ test $c = 5
+'
+
+run_test 'verify untarred file-5' '
+ grep -e "^5$" trash/foo/file-5 &&
+ test $(cat trash/foo/file-5 | wc -l) = 1
+'
+
+tests_done