annotate tests/test_push_eol.py @ 785:40ddf8213fa2

pushmod: do not delete the whole branch when deleting .hgsub When deleting .hgsub, and only .hgsub, the root directory '' was marked as changed. Since it was not listed in the existing directory list, this single record was enough to trigger a deletion of the current branch. We changed the directory parser to always emit the '' element.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 13 Feb 2011 20:14:01 +0100
parents d2ef7220a079
children 312b37bc5e20
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
642
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
1 import test_util
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
2
643
d2ef7220a079 tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 642
diff changeset
3 import unittest
d2ef7220a079 tests: import test_util as the first module in all relevant tests
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 642
diff changeset
4
642
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
5 class TestPushEol(test_util.TestBase):
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
6 def setUp(self):
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
7 test_util.TestBase.setUp(self)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
8 test_util.load_fixture_and_fetch('emptyrepo.svndump',
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
9 self.repo_path,
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
10 self.wc_path)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
11
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
12 def _test_push_dirs(self, stupid):
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
13 changes = [
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
14 # Root files with LF, CRLF and mixed EOL
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
15 ('lf', 'lf', 'a\nb\n\nc'),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
16 ('crlf', 'crlf', 'a\r\nb\r\n\r\nc'),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
17 ('mixed', 'mixed', 'a\r\nb\n\r\nc\nd'),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
18 ]
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
19 self.commitchanges(changes)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
20 self.pushrevisions(stupid)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
21 self.assertchanges(changes, self.repo['tip'])
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
22
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
23 changes = [
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
24 # Update all files once, with same EOL
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
25 ('lf', 'lf', 'a\nb\n\nc\na\nb\n\nc'),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
26 ('crlf', 'crlf', 'a\r\nb\r\n\r\nc\r\na\r\nb\r\n\r\nc'),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
27 ('mixed', 'mixed', 'a\r\nb\n\r\nc\nd\r\na\r\nb\n\r\nc\nd'),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
28 ]
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
29 self.commitchanges(changes)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
30 self.pushrevisions(stupid)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
31 self.assertchanges(changes, self.repo['tip'])
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
32
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
33 def test_push_dirs(self):
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
34 self._test_push_dirs(False)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
35
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
36 def test_push_dirs_stupid(self):
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
37 self._test_push_dirs(True)
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
38
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
39 def suite():
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
40 all = [unittest.TestLoader().loadTestsFromTestCase(TestPushEol),
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
41 ]
c2d606a1dc6f tests: get rid of DOS line endings.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 96
diff changeset
42 return unittest.TestSuite(all)