annotate tests/test-gendoc.t @ 31454:a5bad127128d

branchmap: handle nullrev in setcachedata 906be86990 recently changed to switch from: self._rbcrevs[rbcrevidx:rbcrevidx + _rbcrecsize] = rec to pack_into(_rbcrecfmt, self._rbcrevs, rbcrevidx, node, branchidx) This causes an exception if rbcrevidx is -1 (i.e. the nullrev). The old code handled this because python handles out of bound sets to arrays gracefully. The new code throws because the self._rbcrevs buffer isn't long enough to write 8 bytes to. Normally it would've been resized by the immediately preceding line, but because the 0 length buffer is greater than the idx (-1) times the size, no resize happens. Setting the branch for the nullrev doesn't make sense anyway, so let's skip it. This was caught by external tests in the Facebook extensions repo, but I've added a test here that catches the issue.
author Durham Goode <durham@fb.com>
date Wed, 15 Mar 2017 15:48:57 -0700
parents 7a1ad08b9ff5
children 75be14993fda
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
4 Test document extraction
9446
57d682d7d2da test-gendoc: test documentation generation
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
5
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
6 $ HGENCODING=UTF-8
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
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
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
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
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
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
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
20 % extracting documentation from C
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
21 % extracting documentation from da
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
22 % extracting documentation from de
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
23 % extracting documentation from el
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
24 % extracting documentation from fr
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
25 % extracting documentation from it
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
26 % extracting documentation from ja
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
27 % extracting documentation from pt_BR
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
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
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
30 % extracting documentation from sv
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
31 % extracting documentation from zh_CN
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
32 % extracting documentation from zh_TW