Mercurial > hg
view mercurial/error.py @ 12895:53cfde2b3cf9 stable
run-tests: use regex when searching for $HGPORT in test output
This prevents spurious errors when a changeset hash happens to match
the port number. Before, this invocation gave a test failure:
$ ./run-tests.py test-log.t --port 24427
ERROR: /home/mg/src/mercurial-crew/tests/test-log.t output changed
--- /home/mg/src/mercurial-crew/tests/test-log.t
+++ /home/mg/src/mercurial-crew/tests/test-log.t.err
@@ -626,12 +626,12 @@
$ hg log -b default
changeset: 2:c3a4f03cc9a7
- parent: 0:24427303d56f
+ parent: 0:$HGPORT303d56f
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: commit on default
...
author | Martin Geisler <mg@aragost.com> |
---|---|
date | Mon, 01 Nov 2010 10:24:07 +0100 |
parents | 6381fa7bfa53 |
children | 931a72e00efa |
line wrap: on
line source
# error.py - Mercurial exceptions # # Copyright 2005-2008 Matt Mackall <mpm@selenic.com> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. """Mercurial exceptions. This allows us to catch exceptions at higher levels without forcing imports. """ # Do not import anything here, please class RevlogError(Exception): pass class LookupError(RevlogError, KeyError): def __init__(self, name, index, message): self.name = name if isinstance(name, str) and len(name) == 20: from node import short name = short(name) RevlogError.__init__(self, '%s@%s: %s' % (index, name, message)) def __str__(self): return RevlogError.__str__(self) class CommandError(Exception): """Exception raised on errors in parsing the command line.""" class Abort(Exception): """Raised if a command needs to print an error and exit.""" def __init__(self, *args, **kw): Exception.__init__(self, *args) self.hint = kw.get('hint') class ConfigError(Abort): 'Exception raised when parsing config files' class ParseError(Exception): 'Exception raised when parsing config files (msg[, pos])' class RepoError(Exception): pass class RepoLookupError(RepoError): pass class CapabilityError(RepoError): pass class LockError(IOError): def __init__(self, errno, strerror, filename, desc): IOError.__init__(self, errno, strerror, filename) self.desc = desc class LockHeld(LockError): def __init__(self, errno, filename, desc, locker): LockError.__init__(self, errno, 'Lock held', filename, desc) self.locker = locker class LockUnavailable(LockError): pass class ResponseError(Exception): """Raised to print an error with part of output and exit.""" class UnknownCommand(Exception): """Exception raised if command is not in the command table.""" class AmbiguousCommand(Exception): """Exception raised if command shortcut matches more than one command.""" # derived from KeyboardInterrupt to simplify some breakout code class SignalInterrupt(KeyboardInterrupt): """Exception raised on SIGTERM and SIGHUP.""" class SignatureError(Exception): pass