Mercurial > hg
annotate tests/test-gendoc.t @ 30866:5249b6470de9
verify: replace _validpath() by matcher
The verifier calls out to _validpath() to check if it should verify
that path and the narrowhg extension overrides _validpath() to tell
the verifier to skip that path. In treemanifest repos, the verifier
calls the same method to check if it should visit a
directory. However, the decision to visit a directory is different
from the condition that it's a matching path, and narrowhg was working
around it by returning True from its _validpath() override if *either*
was true.
Similar to how one can do "hg files -I foo/bar/ -X foo/" (making the
include pointless), narrowhg can be configured to track the same
paths. In that case match("foo/bar/baz") would be false, but
match.visitdir("foo/bar/baz") turns out to be true, causing verify to
fail. This may seem like a bug in visitdir(), but it's explicitly
documented to be undefined for subdirectories of excluded
directories. When using treemanifests, the walk would not descend into
foo/, so verification would pass. However, when using flat manifests,
there is no recursive directory walk and the file path "foo/bar/baz"
would be passed to _validpath() without "foo/" (actually without the
slash) being passed first. As explained above, _validpath() would
return true for the file path and "hg verify" would fail.
Replacing the _validpath() method by a matcher seems like the obvious
fix. Narrowhg can then pass in its own matcher and not have to
conflate the two matching functions (for dirs and files). I think it
also makes the code clearer.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 23 Jan 2017 10:48:55 -0800 |
parents | 7a1ad08b9ff5 |
children | 75be14993fda |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
20390
diff
changeset
|
1 #require docutils |
24043
1fdb1d909c79
test-gendoc: require gettext
Eric Sumner <ericsumner@fb.com>
parents:
22046
diff
changeset
|
2 #require gettext |
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
20390
diff
changeset
|
3 |
12427 | 4 Test document extraction |
9446
57d682d7d2da
test-gendoc: test documentation generation
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
5 |
12427 | 6 $ HGENCODING=UTF-8 |
7 $ export HGENCODING | |
20390
3fedc29a98bb
tests: use ls instead of find, all files are in the same directory
Simon Heimberg <simohe@besonet.ch>
parents:
19923
diff
changeset
|
8 $ { echo C; ls "$TESTDIR/../i18n"/*.po | sort; } | while read PO; do |
16350
4f795f5fbb0b
tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14475
diff
changeset
|
9 > LOCALE=`basename "$PO" .po` |
12427 | 10 > echo "% extracting documentation from $LOCALE" |
19922
f27deed5c23f
tests: really test translations for rst syntax errors (issue4003)
Simon Heimberg <simohe@besonet.ch>
parents:
16350
diff
changeset
|
11 > LANGUAGE=$LOCALE python "$TESTDIR/../doc/gendoc.py" >> gendoc-$LOCALE.txt 2> /dev/null || exit |
12427 | 12 > |
19923
52bc80d0769f
tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch>
parents:
19922
diff
changeset
|
13 > if [ $LOCALE != C ]; then |
28809
7a1ad08b9ff5
tests: splitting test-gendoc.t into per file tests
timeless <timeless@mozdev.org>
parents:
27733
diff
changeset
|
14 > if [ ! -f $TESTDIR/test-gendoc-$LOCALE.t ]; then |
7a1ad08b9ff5
tests: splitting test-gendoc.t into per file tests
timeless <timeless@mozdev.org>
parents:
27733
diff
changeset
|
15 > echo missing test-gendoc-$LOCALE.t |
7a1ad08b9ff5
tests: splitting test-gendoc.t into per file tests
timeless <timeless@mozdev.org>
parents:
27733
diff
changeset
|
16 > fi |
7a1ad08b9ff5
tests: splitting test-gendoc.t into per file tests
timeless <timeless@mozdev.org>
parents:
27733
diff
changeset
|
17 > cmp -s gendoc-C.txt gendoc-$LOCALE.txt && echo "** NOTHING TRANSLATED ($LOCALE) **" |
19923
52bc80d0769f
tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch>
parents:
19922
diff
changeset
|
18 > fi |
28809
7a1ad08b9ff5
tests: splitting test-gendoc.t into per file tests
timeless <timeless@mozdev.org>
parents:
27733
diff
changeset
|
19 > done; true |
12427 | 20 % extracting documentation from C |
21 % extracting documentation from da | |
22 % extracting documentation from de | |
23 % extracting documentation from el | |
24 % extracting documentation from fr | |
25 % extracting documentation from it | |
26 % extracting documentation from ja | |
27 % extracting documentation from pt_BR | |
28 % extracting documentation from ro | |
14475
ac9a89dbdc00
test-gendoc: update for new Russian translation
Martin Geisler <mg@lazybytes.net>
parents:
12427
diff
changeset
|
29 % extracting documentation from ru |
12427 | 30 % extracting documentation from sv |
31 % extracting documentation from zh_CN | |
32 % extracting documentation from zh_TW |