Mercurial > hg
annotate tests/test-mdiff.py @ 46472:98e39f04d60e
upgrade: implement partial upgrade for upgrading persistent-nodemap
Upgrading repositories to use persistent nodemap should be fast and easy as it
requires only two things:
1) Updating the requirements
2) Writing a persistent-nodemap on disk
For both of the steps above, we don't need to edit existing revlogs.
This patch makes upgrade only do the above mentioned two steps if we are
only upgarding to use persistent-nodemap feature.
Since `nodemap.persist_nodemap()` assumes that there exists a nodemap file for
the given revlog if we are trying to call it, this patch adds `force` argument
to create a file if does not exist which is true in our upgrade case.
The test changes demonstrate that we no longer write nodemap files for manifest
after upgrade which I think is desirable.
Differential Revision: https://phab.mercurial-scm.org/D9936
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 01 Feb 2021 00:02:00 +0530 |
parents | 2372284d9457 |
children | 6000f5b25c9b |
rev | line source |
---|---|
35862
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 from __future__ import absolute_import |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 from __future__ import print_function |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
3 |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
4 import unittest |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
5 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
6 from mercurial import mdiff |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
7 |
35862
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 class splitnewlinesTests(unittest.TestCase): |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 def test_splitnewlines(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
11 cases = { |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
12 b'a\nb\nc\n': [b'a\n', b'b\n', b'c\n'], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
13 b'a\nb\nc': [b'a\n', b'b\n', b'c'], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
14 b'a\nb\nc\n\n': [b'a\n', b'b\n', b'c\n', b'\n'], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
15 b'': [], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
16 b'abcabc': [b'abcabc'], |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
17 } |
36327
58c1368ab629
py3: use dict.items() instead of dict.iteritems() in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35862
diff
changeset
|
18 for inp, want in cases.items(): |
35862
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
19 self.assertEqual(mdiff.splitnewlines(inp), want) |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
20 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
21 |
35862
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
22 if __name__ == '__main__': |
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
23 import silenttestrunner |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
36328
diff
changeset
|
24 |
35862
1ab7b16c9437
tests: start a set of unit tests for mdiff.py, starting with splitnewlines
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
25 silenttestrunner.main(__name__) |