test-patchbomb
108 lines
| 2.7 KiB
| text/plain
|
TextLexer
/ tests / test-patchbomb
|
r4420 | #!/bin/sh | ||
|
r5753 | fixheaders() | ||
{ | ||||
sed -e 's/\(Message-Id:.*@\).*/\1/' \ | ||||
-e 's/\(In-Reply-To:.*@\).*/\1/' \ | ||||
-e 's/===.*/===/' | ||||
} | ||||
|
r4420 | echo "[extensions]" >> $HGRCPATH | ||
echo "patchbomb=" >> $HGRCPATH | ||||
|
r5753 | hg init t | ||
cd t | ||||
|
r4420 | echo a > a | ||
hg commit -Ama -d '1 0' | ||||
|
r4567 | hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar tip | \ | ||
|
r5753 | fixheaders | ||
|
r4420 | |||
echo b > b | ||||
hg commit -Amb -d '2 0' | ||||
|
r4567 | hg email --date '1970-1-1 0:2' -n -f quux -t foo -c bar -s test 0:tip | \ | ||
|
r5753 | fixheaders | ||
|
r4565 | |||
|
r4567 | hg email -m test.mbox -f quux -t foo -c bar -s test 0:tip | ||
|
r5753 | |||
cd .. | ||||
hg clone -q t t2 | ||||
cd t2 | ||||
echo c > c | ||||
hg commit -Amc -d '3 0' | ||||
cat > description <<EOF | ||||
a multiline | ||||
description | ||||
EOF | ||||
|
r7357 | echo "% test bundle and description" | ||
|
r5753 | hg email --date '1970-1-1 0:3' -n -f quux -t foo \ | ||
-c bar -s test -r tip -b --desc description | \ | ||||
fixheaders | ||||
|
r7357 | echo "% utf-8 patch" | ||
|
r7265 | python -c 'fp = open("utf", "wb"); fp.write("h\xC3\xB6mma!\n"); fp.close();' | ||
|
r7193 | hg commit -A -d '4 0' -m 'charset=utf-8; content-transfer-encoding: base64' | ||
|
r7357 | echo "% no mime encoding for email --test" | ||
|
r7265 | hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -n | fixheaders > mailtest | ||
|
r7357 | echo "% md5sum of 8-bit output" | ||
|
r7193 | $TESTDIR/md5sum.py mailtest | ||
rm mailtest | ||||
|
r7357 | echo "% mime encoded mbox" | ||
|
r7265 | hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox | ||
|
r7193 | cat mbox | fixheaders | ||
rm mbox | ||||
|
r7357 | echo "% iso-8859-1 patch" | ||
|
r7265 | python -c 'fp = open("isolatin", "wb"); fp.write("h\xF6mma!\n"); fp.close();' | ||
|
r7193 | hg commit -A -d '5 0' -m 'charset=us-ascii; content-transfer-encoding: 8bit' | ||
|
r7357 | echo "% fake ascii mbox" | ||
|
r7265 | hg email --date '1970-1-1 0:5' -f quux -t foo -c bar -r tip -m mbox | ||
|
r7193 | fixheaders < mbox > mboxfix | ||
|
r7357 | echo "% md5sum of 8-bit output" | ||
|
r7193 | $TESTDIR/md5sum.py mboxfix | ||
|
r7358 | |||
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 "% 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 | ||||