10 mkdir baz |
10 mkdir baz |
11 echo bletch>baz/bletch |
11 echo bletch>baz/bletch |
12 hg commit -Am 3 -d '1000000000 0' |
12 hg commit -Am 3 -d '1000000000 0' |
13 echo "[web]" >> .hg/hgrc |
13 echo "[web]" >> .hg/hgrc |
14 echo "name = test-archive" >> .hg/hgrc |
14 echo "name = test-archive" >> .hg/hgrc |
15 echo "allow_archive = gz bz2, zip" >> .hg/hgrc |
15 cp .hg/hgrc .hg/hgrc-base |
|
16 |
|
17 # check http return codes |
|
18 test_archtype() { |
|
19 echo "allow_archive = $1" >> .hg/hgrc |
|
20 hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log |
|
21 cat hg.pid >> $DAEMON_PIDS |
|
22 echo % $1 allowed should give 200 |
|
23 "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.$2" | head -n 1 |
|
24 echo % $3 and $4 disallowed should both give 403 |
|
25 "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.$3" | head -n 1 |
|
26 "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.$4" | head -n 1 |
|
27 kill `cat hg.pid` |
|
28 cat errors.log |
|
29 cp .hg/hgrc-base .hg/hgrc |
|
30 } |
|
31 |
|
32 echo |
|
33 test_archtype gz tar.gz tar.bz2 zip |
|
34 test_archtype bz2 tar.bz2 zip tar.gz |
|
35 test_archtype zip zip tar.gz tar.bz2 |
|
36 |
|
37 echo "allow_archive = gz bz2 zip" >> .hg/hgrc |
16 hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log |
38 hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log |
17 cat hg.pid >> $DAEMON_PIDS |
39 cat hg.pid >> $DAEMON_PIDS |
|
40 |
|
41 echo % invalid arch type should give 404 |
|
42 "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.invalid" | head -n 1 |
|
43 echo |
18 |
44 |
19 TIP=`hg id -v | cut -f1 -d' '` |
45 TIP=`hg id -v | cut -f1 -d' '` |
20 QTIP=`hg id -q` |
46 QTIP=`hg id -q` |
21 cat > getarchive.py <<EOF |
47 cat > getarchive.py <<EOF |
22 import os, sys, urllib2 |
48 import os, sys, urllib2 |