Mercurial > python-hglib
annotate tests/test-update.py @ 142:fe74d5599539
hglib: wrap all application string literals in util.b() (issue4520)
Conversion also included changing use of string interpolation to
string concatenation as bytes interpolation does not exist in Python
3. Indexing related to bytes was also changed to length-1 bytes
through slicing as Python 3 returns an int in this instance.
Tests have not been switched to using util.b() so that the change to
application code can be independently verified as not being broken.
author | Brett Cannon <brett@python.org> |
---|---|
date | Sun, 08 Mar 2015 13:08:37 -0400 |
parents | 9c4f52467208 |
children | 4359cabcb0cc |
rev | line source |
---|---|
20 | 1 import common |
2 from hglib import error | |
3 | |
4 class test_update(common.basetest): | |
5 def setUp(self): | |
6 common.basetest.setUp(self) | |
7 self.append('a', 'a') | |
8 self.rev0, self.node0 = self.client.commit('first', addremove=True) | |
9 self.append('a', 'a') | |
10 self.rev1, self.node1 = self.client.commit('second') | |
11 | |
12 def test_basic(self): | |
13 u, m, r, ur = self.client.update(self.rev0) | |
14 self.assertEquals(u, 1) | |
15 self.assertEquals(m, 0) | |
16 self.assertEquals(r, 0) | |
17 self.assertEquals(ur, 0) | |
18 | |
19 def test_unresolved(self): | |
20 self.client.update(self.rev0) | |
21 self.append('a', 'b') | |
22 u, m, r, ur = self.client.update() | |
23 self.assertEquals(u, 0) | |
24 self.assertEquals(m, 0) | |
25 self.assertEquals(r, 0) | |
26 self.assertEquals(ur, 1) | |
34
f6e1d9a6e0cd
client: change return value of status() to a list of (code, file path)
Idan Kamara <idankk86@gmail.com>
parents:
20
diff
changeset
|
27 self.assertTrue(('M', 'a') in self.client.status()) |
20 | 28 |
29 def test_merge(self): | |
30 self.append('a', '\n\n\n\nb') | |
31 rev2, node2 = self.client.commit('third') | |
32 self.append('a', 'b') | |
33 self.client.commit('fourth') | |
34 self.client.update(rev2) | |
35 old = open('a').read() | |
118
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
36 f = open('a', 'wb') |
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
37 f.write('a' + old) |
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
38 f.close() |
20 | 39 u, m, r, ur = self.client.update() |
40 self.assertEquals(u, 0) | |
41 self.assertEquals(m, 1) | |
42 self.assertEquals(r, 0) | |
43 self.assertEquals(ur, 0) | |
34
f6e1d9a6e0cd
client: change return value of status() to a list of (code, file path)
Idan Kamara <idankk86@gmail.com>
parents:
20
diff
changeset
|
44 self.assertEquals(self.client.status(), [('M', 'a')]) |
20 | 45 |
46 def test_tip(self): | |
47 self.client.update(self.rev0) | |
48 u, m, r, ur = self.client.update() | |
49 self.assertEquals(u, 1) | |
50 self.assertEquals(self.client.parents()[0].node, self.node1) | |
51 | |
52 self.client.update(self.rev0) | |
53 self.append('a', 'b') | |
54 rev2, node2 = self.client.commit('new head') | |
55 self.client.update(self.rev0) | |
56 | |
57 self.client.update() | |
58 self.assertEquals(self.client.parents()[0].node, node2) | |
59 | |
60 def test_check_clean(self): | |
134 | 61 self.assertRaises(ValueError, self.client.update, clean=True, |
62 check=True) | |
20 | 63 |
64 def test_clean(self): | |
65 old = open('a').read() | |
66 self.append('a', 'b') | |
67 self.assertRaises(error.CommandError, self.client.update, check=True) | |
68 | |
69 u, m, r, ur = self.client.update(clean=True) | |
70 self.assertEquals(u, 1) | |
71 self.assertEquals(old, open('a').read()) | |
105
86ff8611a8fa
client: always set HGPLAIN=1 (issue3502)
Siddharth Agarwal <sid0@fb.com>
parents:
68
diff
changeset
|
72 |
86ff8611a8fa
client: always set HGPLAIN=1 (issue3502)
Siddharth Agarwal <sid0@fb.com>
parents:
68
diff
changeset
|
73 def test_basic_plain(self): |
118
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
74 f = open('.hg/hgrc', 'a') |
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
75 f.write('[defaults]\nupdate=-v\n') |
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
76 f.close() |
105
86ff8611a8fa
client: always set HGPLAIN=1 (issue3502)
Siddharth Agarwal <sid0@fb.com>
parents:
68
diff
changeset
|
77 self.test_basic() |
109
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
78 |
140
9c4f52467208
tests: disable largefiles test in update
Matt Mackall <mpm@selenic.com>
parents:
134
diff
changeset
|
79 def disabled_largefiles(self): |
9c4f52467208
tests: disable largefiles test in update
Matt Mackall <mpm@selenic.com>
parents:
134
diff
changeset
|
80 # we don't run reposetup after a session has started, so this |
9c4f52467208
tests: disable largefiles test in update
Matt Mackall <mpm@selenic.com>
parents:
134
diff
changeset
|
81 # test is broken |
109
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
82 import os |
118
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
83 f = open('.hg/hgrc', 'a') |
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
84 f.write('[extensions]\nlargefiles=\n') |
e738d6fe5f3f
tests: make the tests work under Pypy (issue3965)
Matt Mackall <mpm@selenic.com>
parents:
115
diff
changeset
|
85 f.close() |
109
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
86 self.append('b', 'a') |
115
8867908fe8c7
tests: deal with missing largefiles support for 1.9
Matt Mackall <mpm@selenic.com>
parents:
109
diff
changeset
|
87 try: |
8867908fe8c7
tests: deal with missing largefiles support for 1.9
Matt Mackall <mpm@selenic.com>
parents:
109
diff
changeset
|
88 self.client.rawcommand(['add', 'b', '--large']) |
8867908fe8c7
tests: deal with missing largefiles support for 1.9
Matt Mackall <mpm@selenic.com>
parents:
109
diff
changeset
|
89 except error.CommandError: |
8867908fe8c7
tests: deal with missing largefiles support for 1.9
Matt Mackall <mpm@selenic.com>
parents:
109
diff
changeset
|
90 return |
8867908fe8c7
tests: deal with missing largefiles support for 1.9
Matt Mackall <mpm@selenic.com>
parents:
109
diff
changeset
|
91 |
109
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
92 rev2, node2 = self.client.commit('third') |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
93 # Go back to 0 |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
94 self.client.rawcommand(['update', str(self.rev0)], |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
95 # Keep the 'changed' version |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
96 prompt=lambda s, d: 'c\n') |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
97 u, m, r, ur = self.client.update(rev2, clean=True) |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
98 self.assertEquals(u, 2) |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
99 self.assertEquals(m, 0) |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
100 self.assertEquals(r, 0) |
9324a89dd84e
client: Be more permissive on the output of update (issue3892)
Benoit Allard <benoit@aeteurope.nl>
parents:
105
diff
changeset
|
101 self.assertEquals(ur, 0) |