mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
tests: unify test-patchbomb
This commit is contained in:
parent
0e8913d417
commit
ccfa11f997
@ -1,208 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
fixheaders()
|
||||
{
|
||||
sed -e 's/\(Message-Id:.*@\).*/\1/' \
|
||||
-e 's/\(In-Reply-To:.*@\).*/\1/' \
|
||||
-e 's/\(References:.*@\).*/\1/' \
|
||||
-e 's/\(User-Agent:.*\)\/.*/\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 -r 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 -r 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 (base64)"
|
||||
hg email --date '1970-1-1 0:4' -f quux -t foo -c bar -r tip -m mbox
|
||||
cat mbox | fixheaders
|
||||
rm mbox
|
||||
|
||||
echo "% mime encoded mbox (quoted-printable)"
|
||||
python -c 'fp = open("qp", "wb"); fp.write("%s\nfoo\n\nbar\n" % \
|
||||
("x" * 1024)); fp.close();'
|
||||
hg commit -A -d '4 0' -m \
|
||||
'charset=utf-8; content-transfer-encoding: quoted-printable'
|
||||
|
||||
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 qp output"
|
||||
$TESTDIR/md5sum.py mailtest
|
||||
rm mailtest
|
||||
|
||||
echo "% mime encoded mbox (quoted-printable)"
|
||||
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 -r 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 \
|
||||
-r 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 -r 2 | \
|
||||
fixheaders
|
||||
|
||||
echo "% test inline for single patch (quoted-printable)"
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -i -r 4 | \
|
||||
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 \
|
||||
-r 0:1 -r 4 | 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 -r 2 | \
|
||||
fixheaders
|
||||
|
||||
echo "% test attach for single patch (quoted-printable)"
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -a -r 4 | \
|
||||
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 \
|
||||
-r 0:1 -r 4 | 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 \
|
||||
-r 2 | fixheaders
|
||||
|
||||
echo "% test --desc without --intro for a single patch"
|
||||
echo foo > intro.text
|
||||
hg email --date '1970-1-1 0:1' -n --desc intro.text -f quux -t foo -c bar \
|
||||
-s test -r 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 \
|
||||
-r 0:1 | fixheaders
|
||||
|
||||
echo "% test reply-to via config"
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
|
||||
--config patchbomb.reply-to='baz@example.com' | fixheaders
|
||||
|
||||
echo "% test reply-to via command line"
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar -s test -r 2 \
|
||||
--reply-to baz --reply-to fred | 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 -r 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 -r 0:1 | \
|
||||
fixheaders
|
||||
|
||||
echo "% test inreplyto"
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
|
||||
-r tip | fixheaders
|
||||
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
|
||||
-r 0:1 | fixheaders
|
||||
|
||||
hg email --date '1970-1-1 0:1' -n -f quux -t foo -c bar --in-reply-to baz \
|
||||
-s test -r 0:1 | fixheaders
|
||||
|
||||
echo "% test single flag for single patch"
|
||||
hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
|
||||
-r 2 | fixheaders
|
||||
|
||||
echo "% test single flag for multiple patches"
|
||||
hg email --date '1970-1-1 0:1' -n --flag fooFlag -f quux -t foo -c bar -s test \
|
||||
-r 0:1 | fixheaders
|
||||
|
||||
echo "% test mutiple flags for single patch"
|
||||
hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
|
||||
-c bar -s test -r 2 | fixheaders
|
||||
|
||||
echo "% test multiple flags for multiple patches"
|
||||
hg email --date '1970-1-1 0:1' -n --flag fooFlag --flag barFlag -f quux -t foo \
|
||||
-c bar -s test -r 0:1 | fixheaders
|
||||
|
||||
echo "% test multi-address parsing"
|
||||
hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t 'spam<spam><eggs>' \
|
||||
-t toast -c 'foo,bar@example.com' -c '"A, B <>" <a@example.com>' -s test -r 0 \
|
||||
--config email.bcc='"Quux, A." <quux>'
|
||||
cat tmp.mbox | fixheaders
|
||||
|
||||
echo "% test multi-byte domain parsing"
|
||||
UUML=`python -c 'import sys; sys.stdout.write("\374")'`
|
||||
HGENCODING=iso-8859-1
|
||||
export HGENCODING
|
||||
hg email --date '1980-1-1 0:1' -m tmp.mbox -f quux -t "bar@${UUML}nicode.com" \
|
||||
-s test -r 0
|
||||
cat tmp.mbox | fixheaders
|
||||
|
||||
echo "% test outgoing"
|
||||
hg up 1
|
||||
hg branch test
|
||||
echo d > d
|
||||
hg add d
|
||||
hg ci -md -d '4 0'
|
||||
hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t | fixheaders
|
||||
|
||||
echo "% dest#branch URIs"
|
||||
hg email --date '1980-1-1 0:1' -n -t foo -s test -o ../t#test | fixheaders
|
File diff suppressed because it is too large
Load Diff
2119
tests/test-patchbomb.t
Normal file
2119
tests/test-patchbomb.t
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user