##// END OF EJS Templates
test-archive: silence stupid messages from GNU tar...
test-archive: silence stupid messages from GNU tar Recent versions of GNU tar have apparently decided they're old enough that it's ok for them to prattle on senselessly about things no one cares about without anyone objecting. We object; apply duct tape.

File last commit:

r8145:0c2ba484 default
r8145:0c2ba484 default
Show More
test-archive
118 lines | 3.2 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
Matt Mackall
test-archive: silence stupid messages from GNU tar...
r8145 http_proxy= python getarchive.py "$TIP" gz | gunzip | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
http_proxy= python getarchive.py "$TIP" bz2 | bunzip2 | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/"
Thomas Arendsen Hein
Added test case for zip/gz/bz2 archive downloads.
r1166 http_proxy= python getarchive.py "$TIP" zip > archive.zip
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
Patrick Mezard
test-archive: stop checking md5 absolute values...
r4805 cat > md5comp.py <<EOF
Dirkjan Ochtman
python-2.6: md5 import in test-archive helper
r6496 from mercurial.util import md5
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
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
Brendan Cully
archive: abort on empty repository. Fixes #624.
r5061 exit 0