test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
authorPierre-Yves David <pierre-yves.david@fb.com>
Wed, 06 Aug 2014 01:40:51 -0700
changeset 22067 14306a686e71
parent 22059 d5cef58d8ec8
child 22068 d34058dd3246
test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets We introduce a test-check-commit-hg.t file that will happily run the check-commit file on all draft changeset under the working directory. This should help newcomers to catch up with the rules. (And will helps old timer from time to time).
tests/test-check-commit-hg.t
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-check-commit-hg.t	Wed Aug 06 01:40:51 2014 -0700
@@ -0,0 +1,26 @@
+#require test-repo
+
+Enable obsolescence to avoid the warning issue when obsmarker are found
+
+  $ cat > obs.py << EOF
+  > import mercurial.obsolete
+  > mercurial.obsolete._enabled = True
+  > EOF
+  $ echo '[extensions]' >> $HGRCPATH
+  $ echo "obs=${TESTTMP}/obs.py" >> $HGRCPATH
+
+Go back in the hg repo
+
+  $ cd $TESTDIR/..
+
+  $ for node in `hg log --rev 'draft() and ::.' --template '{node|short}\n'`; do
+  >    hg export $node | contrib/check-commit > ${TESTTMP}/check-commit.out
+  >    if [ $? -ne 0 ]; then
+  >        echo "Revision $node does not comply to commit message rules"
+  >        echo '------------------------------------------------------'
+  >        cat ${TESTTMP}/check-commit.out
+  >        echo
+  >   fi
+  > done
+
+