Mercurial > hg
annotate tests/test-debian-packages.t @ 36672:9e7b14caf67f
xdiff: remove patience and histogram diff algorithms
Patience diff is the normal diff algorithm, plus some greediness that
unconditionally matches common common unique lines. That means it is easy to
construct cases to let it generate suboptimal result, like:
```
open('a', 'w').write('\n'.join(list('a' + 'x' * 300 + 'u' + 'x' * 700 + 'a\n')))
open('b', 'w').write('\n'.join(list('b' + 'x' * 700 + 'u' + 'x' * 300 + 'b\n')))
```
Patience diff has been advertised as being able to generate better results for
some C code changes. However, the more scientific way to do that is the
indention heuristic [1].
Since patience diff could generate suboptimal result more easily and its
"better" diff feature could be replaced by the new indention heuristic, let's
just remove it and its variant histogram diff to simplify the code.
[1]: https://github.com/git/git/commit/433860f3d0beb0c6f205290bd16cda413148f098
Test Plan:
`gcc -fPIC *.c --shared -o xdiff.so` still builds.
Differential Revision: https://phab.mercurial-scm.org/D2573
author | Jun Wu <quark@fb.com> |
---|---|
date | Sat, 03 Mar 2018 10:39:55 -0800 |
parents | 0133ca39c688 |
children | 7574ccd87200 |
rev | line source |
---|---|
34401
13d3f8aaed87
tests: add "have" check for dpkg builddeps
Kyle Lippincott <spectral@google.com>
parents:
34400
diff
changeset
|
1 #require test-repo slow debhelper debdeps |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
2 |
29219
3c9066ed557c
tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
26148
diff
changeset
|
3 $ . "$TESTDIR/helpers-testrepo.sh" |
33204
ddd65b4f3ae6
tests: alias syshg and syshgenv so they can be switched conditionally
Yuya Nishihara <yuya@tcha.org>
parents:
33116
diff
changeset
|
4 $ testrepohgenv |
29219
3c9066ed557c
tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
26148
diff
changeset
|
5 |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
6 Ensure debuild doesn't run the testsuite, as that could get silly. |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
7 $ DEB_BUILD_OPTIONS=nocheck |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
8 $ export DEB_BUILD_OPTIONS |
26147
a02c22e48142
test-debian-packages: new test for testing construction of debian packages
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 $ OUTPUTDIR=`pwd` |
a02c22e48142
test-debian-packages: new test for testing construction of debian packages
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 $ export OUTPUTDIR |
a02c22e48142
test-debian-packages: new test for testing construction of debian packages
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
11 |
a02c22e48142
test-debian-packages: new test for testing construction of debian packages
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
12 $ cd "$TESTDIR"/.. |
a02c22e48142
test-debian-packages: new test for testing construction of debian packages
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
13 $ make deb > $OUTPUTDIR/build.log 2>&1 |
a02c22e48142
test-debian-packages: new test for testing construction of debian packages
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
14 $ cd $OUTPUTDIR |
34400
3d936da4f97b
tests: expect parsers.so in cext, parsers.py in pure (test-debian-packages)
Kyle Lippincott <spectral@google.com>
parents:
33204
diff
changeset
|
15 $ ls *.deb | grep -v 'dbg' |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
16 mercurial-common_*.deb (glob) |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
17 mercurial_*.deb (glob) |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
18 main deb should have .so but no .py |
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
19 $ dpkg --contents mercurial_*.deb | egrep '(localrepo|parsers)' |
34400
3d936da4f97b
tests: expect parsers.so in cext, parsers.py in pure (test-debian-packages)
Kyle Lippincott <spectral@google.com>
parents:
33204
diff
changeset
|
20 * ./usr/lib/python2.7/dist-packages/mercurial/cext/parsers*.so (glob) |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
21 mercurial-common should have py but no .so or pyc |
34400
3d936da4f97b
tests: expect parsers.so in cext, parsers.py in pure (test-debian-packages)
Kyle Lippincott <spectral@google.com>
parents:
33204
diff
changeset
|
22 $ dpkg --contents mercurial-common_*.deb | egrep '(localrepo|parsers.*so)' |
26148
7f49efcaa9b4
debian: switch to using debhelper and dh_python2 to build debs
Augie Fackler <augie@google.com>
parents:
26147
diff
changeset
|
23 * ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py (glob) |
34405
9ecc622ca23f
deb: install zsh completions to /usr/share/zsh/vendor-completions
Kyle Lippincott <spectral@google.com>
parents:
34401
diff
changeset
|
24 zsh completions should be in the common package |
9ecc622ca23f
deb: install zsh completions to /usr/share/zsh/vendor-completions
Kyle Lippincott <spectral@google.com>
parents:
34401
diff
changeset
|
25 $ dpkg --contents mercurial-common_*.deb | egrep 'zsh.*[^/]$' |
9ecc622ca23f
deb: install zsh completions to /usr/share/zsh/vendor-completions
Kyle Lippincott <spectral@google.com>
parents:
34401
diff
changeset
|
26 * ./usr/share/zsh/vendor-completions/_hg (glob) |
34406
0133ca39c688
deb: build and install chg
Kyle Lippincott <spectral@google.com>
parents:
34405
diff
changeset
|
27 chg should be installed alongside hg, in the 'mercurial' package |
0133ca39c688
deb: build and install chg
Kyle Lippincott <spectral@google.com>
parents:
34405
diff
changeset
|
28 $ dpkg --contents mercurial_*.deb | egrep 'chg$' |
0133ca39c688
deb: build and install chg
Kyle Lippincott <spectral@google.com>
parents:
34405
diff
changeset
|
29 * ./usr/bin/chg (glob) |
0133ca39c688
deb: build and install chg
Kyle Lippincott <spectral@google.com>
parents:
34405
diff
changeset
|
30 chg should come with a man page |
0133ca39c688
deb: build and install chg
Kyle Lippincott <spectral@google.com>
parents:
34405
diff
changeset
|
31 $ dpkg --contents mercurial_*.deb | egrep 'man.*chg' |
0133ca39c688
deb: build and install chg
Kyle Lippincott <spectral@google.com>
parents:
34405
diff
changeset
|
32 * ./usr/share/man/man1/chg.1.gz (glob) |