tests/test-check-commit.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 25 Apr 2018 09:24:07 -0700
branchstable
changeset 37819 ee3d58b4a47f
parent 37816 33817e09c663
permissions -rw-r--r--
revlog: make pure version of _partialmatch() support 40-byte hex nodeids Without this patch, test-histedit-arguments.t would fail when run with --pure. It turned out to be because the pure version of _partialmatch() does not support full 40-byte hex nodeids. When histedit's instructions include things like "pick tip", it resolves the "tip" revision early to a full nodeid (but plain hex nodeid prefixes are not resolved to full nodeids). Then the nodeid (full or not) is looked up using to a full nodeid later. This step is what fails in pure mode. It has been failing since my c4131138eadb (histedit: look up partial nodeid as partial nodeid, 2018-04-06). I haven't verified, but I suspect histedit instructions like "pick <full hex nodeid>" would have been failing before my commit too, though. The fix is trivial: change a "< 40" to "<= 40". Differential Revision: https://phab.mercurial-scm.org/D3428
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22067
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     1
#require test-repo
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     2
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     3
Enable obsolescence to avoid the warning issue when obsmarker are found
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     4
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 28293
diff changeset
     5
  $ . "$TESTDIR/helpers-testrepo.sh"
22067
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     6
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     7
Go back in the hg repo
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     8
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
     9
  $ cd $TESTDIR/..
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    10
37816
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    11
  $ REVSET='not public() and ::. and not desc("# no-check-commit")'
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    12
37687
8872d46643b6 test-check-commit: don't run hg per commit
Yuya Nishihara <yuya@tcha.org>
parents: 33204
diff changeset
    13
  $ mkdir "$TESTTMP/p"
37816
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    14
  $ REVS=`testrepohg log -r "$REVSET" -T.`
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    15
  $ if [ -n "$REVS" ] ; then
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    16
  >   testrepohg export --git -o "$TESTTMP/p/%n-%h" -r "$REVSET"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    17
  >   for f in `ls "$TESTTMP/p"`; do
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    18
  >      contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    19
  >      if [ $? -ne 0 ]; then
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    20
  >          node="${f##*-}"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    21
  >          echo "Revision $node does not comply with rules"
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    22
  >          echo '------------------------------------------------------'
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    23
  >          cat ${TESTTMP}/check-commit.out
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    24
  >          echo
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    25
  >     fi
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    26
  >   done
33817e09c663 tests: fix test-check-commit.t when all commits are public
Augie Fackler <augie@google.com>
parents: 37687
diff changeset
    27
  > fi