--- 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')