tests/test-check-commit.t
author Mads Kiilerich <madski@unity3d.com>
Wed, 14 Jan 2015 01:15:26 +0100
changeset 30448 8836f13e3c5b
parent 29219 3c9066ed557c
child 30648 2cab496db1e0
permissions -rw-r--r--
posix: give checklink a fast path that cache the check file and is read only util.checklink would create a symlink and remove it again. That would sometimes happen multiple times. Write operations are relatively expensive and give disk tear and noise for applications monitoring file system activity. Instead of creating a symlink and deleting it again, just create it once and leave it in .hg/cache/check-link . If the file exists, just verify that os.islink reports true. We will assume that this check is as good as symlink creation not failing. Note: The symlink left in .hg/cache has to resolve to a file - otherwise 'make dist' will fail ... test-symlink-os-yes-fs-no.py does some monkey patching to simulate a platform without symlink support. The slightly different testing method requires additional monkeying.
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
27756
598e21079884 tests: run check-commit on secret changes too
Matt Mackall <mpm@selenic.com>
parents: 27368
diff changeset
    11
  $ for node in `hg log --rev 'not public() and ::.' --template '{node|short}\n'`; do
22067
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    12
  >    hg export $node | contrib/check-commit > ${TESTTMP}/check-commit.out
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    13
  >    if [ $? -ne 0 ]; then
28293
a22b6fa5a844 tests: minor grammar change for check-commit
timeless <timeless@mozdev.org>
parents: 27756
diff changeset
    14
  >        echo "Revision $node does not comply with rules"
22067
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    15
  >        echo '------------------------------------------------------'
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    16
  >        cat ${TESTTMP}/check-commit.out
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    17
  >        echo
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    18
  >   fi
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    19
  > done
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    20
14306a686e71 test-check-commit-hg.t: automatically test all 'draft() and ::.' changesets
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff changeset
    21