##// END OF EJS Templates
tests: fix unzip -l variability
tests: fix unzip -l variability

File last commit:

r12379:6aa2c86d stable
r12379:6aa2c86d stable
Show More
test-archive
150 lines | 3.9 KiB | text/plain | TextLexer
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 #!/bin/sh
mkdir test
cd test
hg init
echo foo>foo
Brendan Cully
archive: test md5 consistency
r4653 hg commit -Am 1 -d '1 0'
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 echo bar>bar
Brendan Cully
archive: test md5 consistency
r4653 hg commit -Am 2 -d '2 0'
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 mkdir baz
echo bletch>baz/bletch
Brendan Cully
archive: test md5 consistency
r4653 hg commit -Am 3 -d '1000000000 0'
mpm@selenic.com
hgweb: use ui:username rather than web:contact...
r1260 echo "[web]" >> .hg/hgrc
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 echo "name = test-archive" >> .hg/hgrc
Rocco Rutte
hgweb: Respond with HTTP 403 for disabled archive types instead of 404...
r7029 cp .hg/hgrc .hg/hgrc-base
# check http return codes
test_archtype() {
echo "allow_archive = $1" >> .hg/hgrc
hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % $1 allowed should give 200
"$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.$2" | head -n 1
echo % $3 and $4 disallowed should both give 403
"$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.$3" | head -n 1
"$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.$4" | head -n 1
Matt Mackall
tests: add killdaemons helper script
r7344 "$TESTDIR/killdaemons.py"
Rocco Rutte
hgweb: Respond with HTTP 403 for disabled archive types instead of 404...
r7029 cat errors.log
cp .hg/hgrc-base .hg/hgrc
}
echo
test_archtype gz tar.gz tar.bz2 zip
test_archtype bz2 tar.bz2 zip tar.gz
test_archtype zip zip tar.gz tar.bz2
echo "allow_archive = gz bz2 zip" >> .hg/hgrc
Dirkjan Ochtman
better error reporting for hg serve errors in tests
r5924 hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log
Vadim Gelfer
tests: add timeouts, make run-tests.py clean up dead daemon processes...
r2571 cat hg.pid >> $DAEMON_PIDS
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166
Rocco Rutte
hgweb: Respond with HTTP 403 for disabled archive types instead of 404...
r7029 echo % invalid arch type should give 404
"$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.invalid" | head -n 1
echo
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 TIP=`hg id -v | cut -f1 -d' '`
QTIP=`hg id -q`
cat > getarchive.py <<EOF
Bryan O'Sullivan
Allow tests to run in parallel.
r5384 import os, sys, urllib2
Patrick Mezard
tests: Windows compatibility fixes...
r7080 try:
# Set stdout to binary mode for win32 platforms
import msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
except ImportError:
pass
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 node, archive = sys.argv[1:]
Bryan O'Sullivan
Allow tests to run in parallel.
r5384 f = urllib2.urlopen('http://127.0.0.1:%s/?cmd=archive;node=%s;type=%s'
% (os.environ['HGPORT'], node, archive))
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 sys.stdout.write(f.read())
EOF
Wagner Bruna
run-tests.py: clears http_proxy for all tests
r10154 python getarchive.py "$TIP" gz | gunzip | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
python getarchive.py "$TIP" bz2 | bunzip2 | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
python getarchive.py "$TIP" zip > archive.zip
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 unzip -t archive.zip | sed "s/$QTIP/TIP/"
Matt Mackall
tests: add killdaemons helper script
r7344 "$TESTDIR/killdaemons.py"
Vadim Gelfer
update tests after changing archival code....
r2114 hg archive -t tar test.tar
tar tf test.tar
hg archive -t tbz2 -X baz test.tar.bz2
Matt Mackall
test-archive: silence stupid messages from GNU tar...
r8145 bunzip2 -dc test.tar.bz2 | tar tf - 2>/dev/null
Vadim Gelfer
update tests after changing archival code....
r2114
hg archive -t tgz -p %b-%h test-%h.tar.gz
Matt Mackall
test-archive: silence stupid messages from GNU tar...
r8145 gzip -dc test-$QTIP.tar.gz | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
Vadim Gelfer
update tests after changing archival code....
r2114
David Wolever
archive: autodetect archive type by extension (issue2058)
r10650 hg archive autodetected_test.tar
tar tf autodetected_test.tar
# The '-t' should override autodetection
hg archive -t tar autodetect_override_test.zip
tar tf autodetect_override_test.zip
for ext in tar tar.gz tgz tar.bz2 tbz2 zip; do
hg archive auto_test.$ext
if [ -d auto_test.$ext ]; then
echo "extension $ext was not autodetected."
fi
done
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 cat > md5comp.py <<EOF
Martin Geisler
util: remove md5...
r8296 try:
from hashlib import md5
except ImportError:
from md5 import md5
Dirkjan Ochtman
python-2.6: md5 import in test-archive helper
r6496 import sys
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 f1, f2 = sys.argv[1:3]
Dirkjan Ochtman
python-2.6: md5 import in test-archive helper
r6496 h1 = md5(file(f1, 'rb').read()).hexdigest()
h2 = md5(file(f2, 'rb').read()).hexdigest()
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 print h1 == h2 or "md5 differ: " + repr((h1, h2))
Brendan Cully
archive: test md5 consistency
r4653 EOF
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 # archive name is stored in the archive, so create similar
# archives and rename them afterwards.
Brendan Cully
archive: test md5 consistency
r4653 hg archive -t tgz tip.tar.gz
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 mv tip.tar.gz tip1.tar.gz
Brendan Cully
archive: test md5 consistency
r4653 sleep 1
hg archive -t tgz tip.tar.gz
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 mv tip.tar.gz tip2.tar.gz
python md5comp.py tip1.tar.gz tip2.tar.gz
Brendan Cully
archive: test md5 consistency
r4653
Vadim Gelfer
update tests after changing archival code....
r2114 hg archive -t zip -p /illegal test.zip
hg archive -t zip -p very/../bad test.zip
Thomas Arendsen Hein
Add config option to disable putting .hg_archival.txt inside archives.
r6183 hg archive --config ui.archivemeta=false -t zip -r 2 test.zip
Vadim Gelfer
update tests after changing archival code....
r2114 unzip -t test.zip
Vadim Gelfer
archive: make "hg archive -t XXX -" to write to stdout
r2476
Matt Mackall
test-archive: silence stupid messages from GNU tar...
r8145 hg archive -t tar - | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
Brendan Cully
archive: abort on empty repository. Fixes #624.
r4863
Alexis S. L. Carvalho
archive: make the %r escape work.
r4836 hg archive -r 0 -t tar rev-%r.tar
if [ -f rev-0.tar ]; then
echo 'rev-0.tar created'
fi
Brendan Cully
archive: abort on empty repository. Fixes #624.
r5061
Gilles Moris
archive: add branch and tag informations to the .hg_archival.txt file...
r9614 echo '% test .hg_archival.txt'
hg archive ../test-tags
cat ../test-tags/.hg_archival.txt
hg tag -r 2 mytag
hg tag -r 2 anothertag
hg archive -r 2 ../test-lasttag
cat ../test-lasttag/.hg_archival.txt
Dirkjan Ochtman
cleanly abort on unknown archive type (issue966)
r6019 hg archive -t bogus test.bogus
Dirkjan Ochtman
better error reporting for hg serve errors in tests
r5924 echo % server errors
cat errors.log
Brendan Cully
archive: abort on empty repository. Fixes #624.
r5061 echo '% empty repo'
hg init ../empty
cd ../empty
hg archive ../test-empty
Dirkjan Ochtman
better error reporting for hg serve errors in tests
r5924
Martin Geisler
archive: set date to 1980 for very old zip files...
r12319 echo '% old file -- date clamped to 1980'
touch -d 1975-01-01 old
hg add old
hg commit -m old
hg archive ../old.zip
Matt Mackall
tests: fix unzip -l variability
r12379 unzip -l ../old.zip | grep 80 && echo ok
Martin Geisler
archive: set date to 1980 for very old zip files...
r12319
Brendan Cully
archive: abort on empty repository. Fixes #624.
r5061 exit 0