aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tests/t0107-snapshot.sh
blob: 8e90e10508e70df4c1d60ec53e21b91e3e647607 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
lass="s1"> CGIT_VERSION=$(sed -n "s/CGIT_VERSION = //p" ../../VERSION) git --git-dir="$PWD/repos/foo/.git" format-patch -p --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD^ >tmp2 sed "1,5d" tmp >tmp_ cmp tmp_ tmp2 ' test_expect_success 'find initial commit' ' root=$(git --git-dir="$PWD/repos/foo/.git" rev-list --max-parents=0 HEAD) ' test_expect_success 'generate patch for initial commit' ' cgit_query "url=foo/patch&id=$root" >tmp ' test_expect_success 'find `cgit` signature' ' tail -2 tmp | head -1 | grep "^cgit" ' test_expect_success 'generate patches for multiple commits' ' id=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD) id2=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD~3) cgit_query "url=foo/patch&id=$id&id2=$id2" >tmp ' test_expect_success 'find `cgit` signature' ' tail -2 tmp | head -1 | grep "^cgit" ' test_expect_success 'compare with output of git-format-patch(1)' ' CGIT_VERSION=$(sed -n "s/CGIT_VERSION = //p" ../../VERSION) git --git-dir="$PWD/repos/foo/.git" format-patch -p -N --subject-prefix="" --signature="cgit $CGIT_VERSION" --stdout HEAD~3..HEAD >tmp2 sed "1,5d" tmp >tmp_ cmp tmp_ tmp2 ' test_done