Mercurial > hg
view tests/test-archive @ 10545:b9e4a67329cd stable
Updated contrib/vim/patchreview.* to version 0.2.1
1) adds a :DiffReview command to review code changes
in the current workspace.
2) removes the need to have patchutils (specifically filterdiff)
installed on the system by implementing patch extraction in
pure vim script.
author | Manpreet Singh <junkblocker@yahoo.com> |
---|---|
date | Wed, 24 Feb 2010 13:12:17 -0800 |
parents | d4a62b6d4a58 |
children | 9ea7238ad935 |
line wrap: on
line source
#!/bin/sh mkdir test cd test hg init echo foo>foo hg commit -Am 1 -d '1 0' echo bar>bar hg commit -Am 2 -d '2 0' mkdir baz echo bletch>baz/bletch hg commit -Am 3 -d '1000000000 0' echo "[web]" >> .hg/hgrc echo "name = test-archive" >> .hg/hgrc 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 "$TESTDIR/killdaemons.py" 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 hg serve -p $HGPORT -d --pid-file=hg.pid -E errors.log cat hg.pid >> $DAEMON_PIDS echo % invalid arch type should give 404 "$TESTDIR/get-with-headers.py" localhost:$HGPORT "/archive/tip.invalid" | head -n 1 echo TIP=`hg id -v | cut -f1 -d' '` QTIP=`hg id -q` cat > getarchive.py <<EOF import os, sys, urllib2 try: # Set stdout to binary mode for win32 platforms import msvcrt msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY) except ImportError: pass node, archive = sys.argv[1:] f = urllib2.urlopen('http://127.0.0.1:%s/?cmd=archive;node=%s;type=%s' % (os.environ['HGPORT'], node, archive)) sys.stdout.write(f.read()) EOF 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 unzip -t archive.zip | sed "s/$QTIP/TIP/" "$TESTDIR/killdaemons.py" hg archive -t tar test.tar tar tf test.tar hg archive -t tbz2 -X baz test.tar.bz2 bunzip2 -dc test.tar.bz2 | tar tf - 2>/dev/null hg archive -t tgz -p %b-%h test-%h.tar.gz gzip -dc test-$QTIP.tar.gz | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/" cat > md5comp.py <<EOF try: from hashlib import md5 except ImportError: from md5 import md5 import sys f1, f2 = sys.argv[1:3] h1 = md5(file(f1, 'rb').read()).hexdigest() h2 = md5(file(f2, 'rb').read()).hexdigest() print h1 == h2 or "md5 differ: " + repr((h1, h2)) EOF # archive name is stored in the archive, so create similar # archives and rename them afterwards. hg archive -t tgz tip.tar.gz mv tip.tar.gz tip1.tar.gz sleep 1 hg archive -t tgz tip.tar.gz mv tip.tar.gz tip2.tar.gz python md5comp.py tip1.tar.gz tip2.tar.gz hg archive -t zip -p /illegal test.zip hg archive -t zip -p very/../bad test.zip hg archive --config ui.archivemeta=false -t zip -r 2 test.zip unzip -t test.zip hg archive -t tar - | tar tf - 2>/dev/null | sed "s/$QTIP/TIP/" hg archive -r 0 -t tar rev-%r.tar if [ -f rev-0.tar ]; then echo 'rev-0.tar created' fi 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 hg archive -t bogus test.bogus echo % server errors cat errors.log echo '% empty repo' hg init ../empty cd ../empty hg archive ../test-empty exit 0