Mercurial > hgsubversion
view tests/test_fetch_exec.py @ 658:d101b39f6c51
test_startrev: add a few assertions about clone lengths
A few tweaks are added to the test to ensure that all tests pass these
assertions:
Some fixtures fail them by resulting in empty clones. Explicitly
blacklisting such fixtures allows as to ensure that the other fixtures
continue to work as expected.
Other fixtures contain no files in trunk at HEAD, so we test them with
other subdirectories instead.
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 11 Aug 2010 19:57:34 +0200 |
parents | d2ef7220a079 |
children | 312b37bc5e20 |
line wrap: on
line source
import test_util import unittest from mercurial import node class TestFetchExec(test_util.TestBase): def _load_fixture_and_fetch(self, fixture_name, stupid): return test_util.load_fixture_and_fetch(fixture_name, self.repo_path, self.wc_path, stupid=stupid) def assertexec(self, ctx, files, isexec=True): for f in files: self.assertEqual(isexec, 'x' in ctx[f].flags()) def test_exec(self, stupid=False): repo = self._load_fixture_and_fetch('executebit.svndump', stupid) self.assertexec(repo[0], ['text1', 'binary1', 'empty1'], True) self.assertexec(repo[0], ['text2', 'binary2', 'empty2'], False) self.assertexec(repo[1], ['text1', 'binary1', 'empty1'], False) self.assertexec(repo[1], ['text2', 'binary2', 'empty2'], True) def test_exec_stupid(self): self.test_exec(True) def test_empty_prop_val_executable(self, stupid=False): repo = self._load_fixture_and_fetch('executable_file_empty_prop.svndump', stupid) self.assertEqual(node.hex(repo['tip'].node()), '08e6b380bf291b361a418203a1cb9427213cd1fd') self.assertEqual(repo['tip']['foo'].flags(), 'x') def test_empty_prop_val_executable_stupid(self): self.test_empty_prop_val_executable(True) def suite(): all = [unittest.TestLoader().loadTestsFromTestCase(TestFetchExec), ] return unittest.TestSuite(all)