Mercurial > hg
annotate tests/test-annotate.py @ 41855:2dbdb9abcc4b
inno: remove w9xpopen.exe
w9xpopen.exe is a utility program shipped with Python <3.4
(https://bugs.python.org/issue14470 tracked its removal).
The program was used by subprocess to wrap invoked processes
on Windows 95 and 98 or when command.com was used in order to
work around a redirect bug.
The workaround is only used on ancient Windows versions -
versions that we shouldn't see in 2019.
While Python 2.7's subprocess module still references
w9xpopen.exe, not shipping it shouldn't matter unless we're
running an ancient version of Windows. Python will raise
an exception if w9xpopen.exe can't be found.
It's highly unlikely anyone is using current Mercurial releases
on these ancient Windows versions. So remove w9xpopen.exe
from the Inno installer.
.. bc::
The 32-bit Windows Inno installers no longer distribute
w9xpopen.exe. This should only impact people running
Mercurial on Windows 95, 98, or ME.
Differential Revision: https://phab.mercurial-scm.org/D6068
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sun, 03 Mar 2019 17:22:03 -0800 |
parents | 434e520adb8c |
children | 2372284d9457 |
rev | line source |
---|---|
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
1 from __future__ import absolute_import |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
2 from __future__ import print_function |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
3 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
4 import unittest |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
5 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
6 from mercurial import ( |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
7 mdiff, |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
8 pycompat, |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
9 ) |
36917
7affcabf561e
dagop: move annotateline and _annotatepair from context.py
Yuya Nishihara <yuya@tcha.org>
parents:
35947
diff
changeset
|
10 from mercurial.dagop import ( |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
11 annotateline, |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
12 _annotatedfile, |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
13 _annotatepair, |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
14 ) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
15 |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
16 def tr(a): |
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
17 return [annotateline(fctx, lineno, skip) |
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
18 for fctx, lineno, skip in zip(a.fctxs, a.linenos, a.skips)] |
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
19 |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
20 class AnnotateTests(unittest.TestCase): |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
21 """Unit tests for annotate code.""" |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
22 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
23 def testannotatepair(self): |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
24 self.maxDiff = None # camelcase-required |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
25 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
26 oldfctx = b'old' |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
27 p1fctx, p2fctx, childfctx = b'p1', b'p2', b'c' |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
28 olddata = b'a\nb\n' |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
29 p1data = b'a\nb\nc\n' |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
30 p2data = b'a\nc\nd\n' |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
31 childdata = b'a\nb2\nc\nc2\nd\n' |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
32 diffopts = mdiff.diffopts() |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
33 |
36935
ec46b0ee2e3c
annotate: correct parameter name of decorate() function
Yuya Nishihara <yuya@tcha.org>
parents:
36917
diff
changeset
|
34 def decorate(text, fctx): |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
35 n = text.count(b'\n') |
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
36 linenos = pycompat.rangelist(1, n + 1) |
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
37 return _annotatedfile([fctx] * n, linenos, [False] * n, text) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
38 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
39 # Basic usage |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
40 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
41 oldann = decorate(olddata, oldfctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
42 p1ann = decorate(p1data, p1fctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
43 p1ann = _annotatepair([oldann], p1fctx, p1ann, False, diffopts) |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
44 self.assertEqual(tr(p1ann), [ |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
45 annotateline(b'old', 1), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
46 annotateline(b'old', 2), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
47 annotateline(b'p1', 3), |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
48 ]) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
49 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
50 p2ann = decorate(p2data, p2fctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
51 p2ann = _annotatepair([oldann], p2fctx, p2ann, False, diffopts) |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
52 self.assertEqual(tr(p2ann), [ |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
53 annotateline(b'old', 1), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
54 annotateline(b'p2', 2), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
55 annotateline(b'p2', 3), |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
56 ]) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
57 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
58 # Test with multiple parents (note the difference caused by ordering) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
59 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
60 childann = decorate(childdata, childfctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
61 childann = _annotatepair([p1ann, p2ann], childfctx, childann, False, |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
62 diffopts) |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
63 self.assertEqual(tr(childann), [ |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
64 annotateline(b'old', 1), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
65 annotateline(b'c', 2), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
66 annotateline(b'p2', 2), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
67 annotateline(b'c', 4), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
68 annotateline(b'p2', 3), |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
69 ]) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
70 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
71 childann = decorate(childdata, childfctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
72 childann = _annotatepair([p2ann, p1ann], childfctx, childann, False, |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
73 diffopts) |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
74 self.assertEqual(tr(childann), [ |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
75 annotateline(b'old', 1), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
76 annotateline(b'c', 2), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
77 annotateline(b'p1', 3), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
78 annotateline(b'c', 4), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
79 annotateline(b'p2', 3), |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
80 ]) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
81 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
82 # Test with skipchild (note the difference caused by ordering) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
83 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
84 childann = decorate(childdata, childfctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
85 childann = _annotatepair([p1ann, p2ann], childfctx, childann, True, |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
86 diffopts) |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
87 self.assertEqual(tr(childann), [ |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
88 annotateline(b'old', 1), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
89 annotateline(b'old', 2, True), |
34433
2f5a135b2b04
annotate: track whether a particular annotation was the result of a skip
Siddharth Agarwal <sid0@fb.com>
parents:
34432
diff
changeset
|
90 # note that this line was carried over from earlier so it is *not* |
2f5a135b2b04
annotate: track whether a particular annotation was the result of a skip
Siddharth Agarwal <sid0@fb.com>
parents:
34432
diff
changeset
|
91 # marked skipped |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
92 annotateline(b'p2', 2), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
93 annotateline(b'p2', 2, True), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
94 annotateline(b'p2', 3), |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
95 ]) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
96 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
97 childann = decorate(childdata, childfctx) |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
98 childann = _annotatepair([p2ann, p1ann], childfctx, childann, True, |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
99 diffopts) |
37064
434e520adb8c
annotate: do not construct attr.s object per line while computing history
Yuya Nishihara <yuya@tcha.org>
parents:
36935
diff
changeset
|
100 self.assertEqual(tr(childann), [ |
35947
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
101 annotateline(b'old', 1), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
102 annotateline(b'old', 2, True), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
103 annotateline(b'p1', 3), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
104 annotateline(b'p1', 3, True), |
a36d3c8a0e41
py3: add b'' prefixes to string literals in test files
Pulkit Goyal <7895pulkit@gmail.com>
parents:
35946
diff
changeset
|
105 annotateline(b'p2', 3), |
34432
2e32c6a31cc7
annotate: introduce attr for storing per-line annotate data
Siddharth Agarwal <sid0@fb.com>
parents:
34430
diff
changeset
|
106 ]) |
34430
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
107 |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
108 if __name__ == '__main__': |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
109 import silenttestrunner |
80215865d154
annotate: move annotatepair unit tests to a separate file
Siddharth Agarwal <sid0@fb.com>
parents:
diff
changeset
|
110 silenttestrunner.main(__name__) |