comparison tests/test_externals.py @ 1554:258fb67fb956

externals: correctly enable hgsubversion externals support during tests For now this is defaulted to off, because it's a subclass of the Subversion support which we've disabled by default in core.
author Augie Fackler <raf@durin42.com>
date Sat, 24 Mar 2018 15:44:11 -0400
parents 7d82131e7801
children
comparison
equal deleted inserted replaced
1553:601eaa89ca98 1554:258fb67fb956
15 15
16 from hgsubversion import svnexternals 16 from hgsubversion import svnexternals
17 17
18 class TestFetchExternals(test_util.TestBase): 18 class TestFetchExternals(test_util.TestBase):
19 stupid_mode_tests = True 19 stupid_mode_tests = True
20
21 def setUp(self):
22 test_util.TestBase.setUp(self)
23 with open(self.hgrc, 'a') as rc:
24 rc.write('\n[subrepos]\nhgsubversion:allowed = true\n')
25
26 def ui(self, *args, **kwargs):
27 kwargs['subrepo'] = True
28 return test_util.TestBase.ui(self, *args, **kwargs)
20 29
21 def test_externalsfile(self): 30 def test_externalsfile(self):
22 f = svnexternals.externalsfile() 31 f = svnexternals.externalsfile()
23 f['t1'] = 'dir1 -r10 svn://foobar' 32 f['t1'] = 'dir1 -r10 svn://foobar'
24 f['t 2'] = 'dir2 -r10 svn://foobar' 33 f['t 2'] = 'dir2 -r10 svn://foobar'
137 for d in nodeps: 146 for d in nodeps:
138 p = os.path.join(repo.root, d) 147 p = os.path.join(repo.root, d)
139 self.assertTrue(not os.path.isdir(p), 148 self.assertTrue(not os.path.isdir(p),
140 'unexpected: %s@%r' % (d, rev)) 149 'unexpected: %s@%r' % (d, rev))
141 150
142 ui = self.ui() 151 ui = self.ui(subrepo=True)
143 repo = self._load_fixture_and_fetch('externals.svndump') 152 repo = self._load_fixture_and_fetch('externals.svndump')
144 commands.update(ui, repo) 153 commands.update(ui, repo)
145 checkdeps(['deps/project1'], [], repo, 0) 154 checkdeps(['deps/project1'], [], repo, 0)
146 checkdeps(['deps/project1', 'deps/project2'], [], repo, 1) 155 checkdeps(['deps/project1', 'deps/project2'], [], repo, 1)
147 checkdeps(['subdir/deps/project1', 'subdir2/deps/project1', 156 checkdeps(['subdir/deps/project1', 'subdir2/deps/project1',
237 'unexpected: %s@%r' % (d, repo[None].rev())) 246 'unexpected: %s@%r' % (d, repo[None].rev()))
238 247
239 if subrepo is None: 248 if subrepo is None:
240 return 249 return
241 250
242 ui = self.ui() 251 ui = self.ui(subrepo=True)
243 repo = self._load_fixture_and_fetch('externals.svndump', 252 repo = self._load_fixture_and_fetch('externals.svndump',
244 externals='subrepos') 253 externals='subrepos')
245 checkdeps(ui, repo, 0, ['deps/project1'], []) 254 checkdeps(ui, repo, 0, ['deps/project1'], [])
246 checkdeps(ui, repo, 1, ['deps/project1', 'deps/project2'], []) 255 checkdeps(ui, repo, 1, ['deps/project1', 'deps/project2'], [])
247 checkdeps(ui, repo, 2, ['subdir/deps/project1', 'subdir2/deps/project1', 256 checkdeps(ui, repo, 2, ['subdir/deps/project1', 'subdir2/deps/project1',
269 278
270 class TestPushExternals(test_util.TestBase): 279 class TestPushExternals(test_util.TestBase):
271 stupid_mode_tests = True 280 stupid_mode_tests = True
272 obsolete_mode_tests = True 281 obsolete_mode_tests = True
273 282
283 def setUp(self):
284 test_util.TestBase.setUp(self)
285 with open(self.hgrc, 'a') as rc:
286 rc.write('\n[subrepos]\nhgsubversion:allowed = true\n')
287
288 def ui(self, *args, **kwargs):
289 kwargs['subrepo'] = True
290 return test_util.TestBase.ui(self, *args, **kwargs)
291
274 def test_push_externals(self): 292 def test_push_externals(self):
275 repo = self._load_fixture_and_fetch('pushexternals.svndump') 293 repo = self._load_fixture_and_fetch('pushexternals.svndump')
276 # Add a new reference on an existing and non-existing directory 294 # Add a new reference on an existing and non-existing directory
277 changes = [ 295 changes = [
278 ('.hgsvnexternals', '.hgsvnexternals', 296 ('.hgsvnexternals', '.hgsvnexternals',