Mercurial > hgsubversion
view tests/test_fetch_exec.py @ 657:9cf547fc36e8
pull: fix shallow clone when lastest change isn't HEAD.
Previously, using `hg clone --startrev HEAD` when the actual HEAD
revision didn't touch the prefix, would cause it to report that no
changes were found. Using last_changed_rev instead of HEAD fixes
this. In order to better test this scenario, we now clone the trunk
subdirectory of all the fixtures.
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)