Mercurial > hg
view tests/test-lock-badness.t @ 23936:30b016ef4bd8 stable
check-code.py: avoid warning against "reverting subrepo ..." lines
Before this patch, "reverting subrepo subrepo/path" lines in *.t test
files require "(glob)", because such lines are recognized as
"reverting path/to/managed/file" by "check-code.py".
On the other hand, "(glob)" for such "reverting ..." line is
recognized as useless by "runt-tests.py", because subrepo paths shown
in such lines are always normalized by "util.pconvert". And this
causes "no result code from test" warning.
As a preparation for discarding "(glob)" from such lines in subsequent
patch, this patch avoids warning against them, by adding negative
lookahead assertion "(?!subrepo )" to the regexp.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 22 Jan 2015 00:10:26 +0900 |
parents | f484be02bd35 |
children | 6fbe35588433 |
line wrap: on
line source
#require unix-permissions no-root no-windows Prepare $ hg init a $ echo a > a/a $ hg -R a ci -A -m a adding a $ hg clone a b updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Test that raising an exception in the release function doesn't cause the lock to choke $ cat > testlock.py << EOF > from mercurial import cmdutil, error, util > > cmdtable = {} > command = cmdutil.command(cmdtable) > > def acquiretestlock(repo, releaseexc): > def unlock(): > if releaseexc: > raise util.Abort('expected release exception') > l = repo._lock(repo.vfs, 'testlock', False, unlock, None, 'test lock') > return l > > @command('testlockexc') > def testlockexc(ui, repo): > testlock = acquiretestlock(repo, True) > try: > testlock.release() > finally: > try: > testlock = acquiretestlock(repo, False) > except error.LockHeld: > raise util.Abort('lockfile on disk even after releasing!') > testlock.release() > EOF $ cat >> $HGRCPATH << EOF > [extensions] > testlock=$TESTTMP/testlock.py > EOF $ hg -R b testlockexc abort: expected release exception [255] One process waiting for another $ cat > hooks.py << EOF > import time > def sleepone(**x): time.sleep(1) > def sleephalf(**x): time.sleep(0.5) > EOF $ echo b > b/b $ hg -R b ci -A -m b --config hooks.precommit="python:`pwd`/hooks.py:sleepone" > stdout & $ hg -R b up -q --config hooks.pre-update="python:`pwd`/hooks.py:sleephalf" waiting for lock on working directory of b held by '*:*' (glob) got lock after ? seconds (glob) warning: ignoring unknown working parent d2ae7f538514! $ wait $ cat stdout adding b Pushing to a local read-only repo that can't be locked $ chmod 100 a/.hg/store $ hg -R b push a pushing to a searching for changes abort: could not lock repository a: Permission denied [255] $ chmod 700 a/.hg/store