comparison 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
comparison
equal deleted inserted replaced
644:95abc4cfc78f 645:3cb5042531fb
140 raise 140 raise
141 if (s.st_mode & stat.S_IWRITE) == 0: 141 if (s.st_mode & stat.S_IWRITE) == 0:
142 os.chmod(f, s.st_mode | stat.S_IWRITE) 142 os.chmod(f, s.st_mode | stat.S_IWRITE)
143 shutil.rmtree(path) 143 shutil.rmtree(path)
144 144
145 def _verify_our_modules():
146 '''
147 Verify that hgsubversion was imported from the correct location.
148
149 The correct location is any location within the parent directory of the
150 directory containing this file.
151 '''
152
153 for modname, module in sys.modules.iteritems():
154 if not module or not modname.startswith('hgsubversion.'):
155 continue
156
157 modloc = module.__file__
158 cp = os.path.commonprefix((os.path.abspath(__file__), modloc))
159 assert cp.rstrip(os.sep) == _rootdir, (
160 'Module location verification failed: hgsubversion was imported '
161 'from the wrong path!'
162 )
145 163
146 class TestBase(unittest.TestCase): 164 class TestBase(unittest.TestCase):
147 def setUp(self): 165 def setUp(self):
166 _verify_our_modules()
167
148 self.oldenv = dict([(k, os.environ.get(k, None), ) for k in 168 self.oldenv = dict([(k, os.environ.get(k, None), ) for k in
149 ('LANG', 'LC_ALL', 'HGRCPATH', )]) 169 ('LANG', 'LC_ALL', 'HGRCPATH', )])
150 self.oldt = i18n.t 170 self.oldt = i18n.t
151 os.environ['LANG'] = os.environ['LC_ALL'] = 'C' 171 os.environ['LANG'] = os.environ['LC_ALL'] = 'C'
152 i18n.t = gettext.translation('hg', i18n.localedir, fallback=True) 172 i18n.t = gettext.translation('hg', i18n.localedir, fallback=True)
179 os.environ[var] = val 199 os.environ[var] = val
180 i18n.t = self.oldt 200 i18n.t = self.oldt
181 rmtree(self.tmpdir) 201 rmtree(self.tmpdir)
182 os.chdir(self.oldwd) 202 os.chdir(self.oldwd)
183 setattr(ui.ui, self.patch[0].func_name, self.patch[0]) 203 setattr(ui.ui, self.patch[0].func_name, self.patch[0])
204
205 _verify_our_modules()
184 206
185 def assertStringEqual(self, l, r): 207 def assertStringEqual(self, l, r):
186 try: 208 try:
187 self.assertEqual(l, r, 'failed string equality check, see stdout for details') 209 self.assertEqual(l, r, 'failed string equality check, see stdout for details')
188 except: 210 except: