tests/test-archive
changeset 7029 b84d27386285
parent 6496 118720f857b9
child 7080 a6477aa893b8
equal deleted inserted replaced
7028:93746cbf15b5 7029:b84d27386285
    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