Mercurial > hgsubversion
diff tests/test_util.py @ 645:3cb5042531fb
tests: verify locations of any imported hgsubversion modules
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 14 Jul 2010 15:39:24 +0200 |
parents | 95abc4cfc78f |
children | c3900ad3bf69 |
line wrap: on
line diff
--- a/tests/test_util.py +++ b/tests/test_util.py @@ -142,9 +142,29 @@ def rmtree(path): os.chmod(f, s.st_mode | stat.S_IWRITE) shutil.rmtree(path) +def _verify_our_modules(): + ''' + Verify that hgsubversion was imported from the correct location. + + The correct location is any location within the parent directory of the + directory containing this file. + ''' + + for modname, module in sys.modules.iteritems(): + if not module or not modname.startswith('hgsubversion.'): + continue + + modloc = module.__file__ + cp = os.path.commonprefix((os.path.abspath(__file__), modloc)) + assert cp.rstrip(os.sep) == _rootdir, ( + 'Module location verification failed: hgsubversion was imported ' + 'from the wrong path!' + ) class TestBase(unittest.TestCase): def setUp(self): + _verify_our_modules() + self.oldenv = dict([(k, os.environ.get(k, None), ) for k in ('LANG', 'LC_ALL', 'HGRCPATH', )]) self.oldt = i18n.t @@ -182,6 +202,8 @@ class TestBase(unittest.TestCase): os.chdir(self.oldwd) setattr(ui.ui, self.patch[0].func_name, self.patch[0]) + _verify_our_modules() + def assertStringEqual(self, l, r): try: self.assertEqual(l, r, 'failed string equality check, see stdout for details')