view tests/test-patchbomb @ 7460:3342e6ada4b9

push: use the fast changegroup() path on push The race doesn't happen on push (because the discovery is done in the same hg process), so use the fast path instead.
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Tue, 02 Dec 2008 19:36:43 +0100
parents 0b6428da1f22
children 4949729ee9ee
line wrap: on
line source

#!/bin/sh

fixheaders()
{
    sed -e 's/\(Message-Id:.*@\).*/\1/'  \
        -e 's/\(In-Reply-To:.*@\).*/\1/' \
        -e 's/\(References:.*@\).*/\1/'  \
        -e 's/===.*/===/'
}

echo "[extensions]" >> $HGRCPATH
echo "patchbomb=" >> $HGRCPATH

hg init t
cd t
echo a > a
hg commit -Ama -d '1 0'

hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \
  fixheaders

echo b > b
hg commit -Amb -d '2 0'

hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \
  fixheaders

hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip

cd ..

hg clone -q t t2
cd t2
echo c > c
hg commit -Amc -d '3 0'

cat > description <<EOF
a multiline

description
EOF

echo "% test bundle and description"
hg email --date '1970-1-1 0:3' -n -f quux -t foo \
    -c bar -s test -r tip -b --desc description | \
    fixheaders

echo "% utf-8 patch"
python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();'
hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64'

echo "% no mime encoding for email --test"
hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | fixheaders > mailtest
echo "% md5sum of 8-bit output"
$TESTDIR/md5sum.py mailtest
rm mailtest

echo "% mime encoded mbox"
hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
cat mbox | fixheaders
rm mbox

echo "% iso-8859-1 patch"
python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();'
hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit'

echo "% fake ascii mbox"
hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox
fixheaders < mbox > mboxfix
echo "% md5sum of 8-bit output"
$TESTDIR/md5sum.py mboxfix

echo "% test diffstat for single patch"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 2 | \
  fixheaders

echo "% test diffstat for multiple patches"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -d -y 0:1 | \
  fixheaders

echo "% test inline for single patch"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \
  fixheaders

echo "% test inline for multiple patches"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \
  fixheaders

echo "% test attach for single patch"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 2 | \
  fixheaders

echo "% test attach for multiple patches"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a 0:1 | \
  fixheaders

echo "% test intro for single patch"
hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 2 | \
  fixheaders

echo "% test intro for multiple patches"
hg email --date '1970-1-1 0:1' -n --intro -f quux -t foo -c bar -s test 0:1 | \
  fixheaders

echo "% tagging csets"
hg tag -r0 zero zero.foo
hg tag -r1 one one.patch
hg tag -r2 two two.diff

echo "% test inline for single named patch"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 2 | \
  fixheaders

echo "% test inline for multiple named/unnamed patches"
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i 0:1 | \
  fixheaders