Mercurial > hg > mercurial-source
view tests/test-check-commit.t @ 42247:c67f55b02f02
tests: write commit message using file I/O
Python 2.7 will print() \x94\x5c\x0a whereas Python 3 will
print() \xc2\x94\x5c\x0a. Why, I'm not sure. It probably has to
do with print() being Unicode aware on Python 3 and Python
attempting some kind of encoding before emitting the output.
This difference results in a different bytes making it to the
commit message and the JSON output varying. We work around
this by writing bytes to a commit message file.
Differential Revision: https://phab.mercurial-scm.org/D5741
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 29 Jan 2019 11:51:19 -0800 |
parents | 33817e09c663 |
children |
line wrap: on
line source
#require test-repo Enable obsolescence to avoid the warning issue when obsmarker are found $ . "$TESTDIR/helpers-testrepo.sh" Go back in the hg repo $ cd $TESTDIR/.. $ REVSET='not public() and ::. and not desc("# no-check-commit")' $ mkdir "$TESTTMP/p" $ REVS=`testrepohg log -r "$REVSET" -T.` $ if [ -n "$REVS" ] ; then > testrepohg export --git -o "$TESTTMP/p/%n-%h" -r "$REVSET" > for f in `ls "$TESTTMP/p"`; do > contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out" > if [ $? -ne 0 ]; then > node="${f##*-}" > echo "Revision $node does not comply with rules" > echo '------------------------------------------------------' > cat ${TESTTMP}/check-commit.out > echo > fi > done > fi