diff -r ed048e317eae -r bf8a53a11b6d devtools/testlib.py --- a/devtools/testlib.py Fri Mar 26 16:15:16 2010 +0100 +++ b/devtools/testlib.py Fri Mar 26 16:15:41 2010 +0100 @@ -251,7 +251,14 @@ def setUp(self): pause_tracing() - self._init_repo() + previous_failure = self.__class__.__dict__.get('_repo_init_failed') + if previous_failure is not None: + self.skip('repository is not initialised: %r' % previous_failure) + try: + self._init_repo() + except Exception, ex: + self.__class__._repo_init_failed = ex + raise resume_tracing() self.setup_database() self.commit() @@ -495,7 +502,8 @@ else: cleanup = lambda p: (p[0], unquote(p[1])) params = dict(cleanup(p.split('=', 1)) for p in params.split('&') if p) - path = path[len(req.base_url()):] + if path.startswith(req.base_url()): # may be relative + path = path[len(req.base_url()):] return path, params else: self.fail('expected a Redirect exception')