tests/test-gendoc.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Fri, 30 Jan 2015 04:59:05 +0900
branchstable
changeset 23971 6becb9dbca25
parent 22046 7a9cbb315d84
child 24043 1fdb1d909c79
permissions -rw-r--r--
merge: mark .hgsubstate as possibly dirty before submerge for consistency Before this patch, failure of updating subrepos may cause inconsistent ".hgsubstate". For example: 1. dirstate entry for ".hgsubstate" of the parent repo is filled with valid size/date (via "hg state" or so) 2. "hg update" is invoked at the parent repo 3. ".hgsubstate" of the parent repo is updated on the filesystem as a part of "g"(et) action in "merge.applyupdates" 4. it is assumed that size/date of ".hgsubstate" on the filesystem aren't changed from ones at (1) this is not so difficult condition, because just changing hash ids (every ids are same in length) in ".hgsubstate" doesn't change the file size of it 5. "subrepo.submerge()" is invoked to update subrepos 6. failure of updating in one of subrepos raises exception (e.g. "untracked file differs") 7. "hg update" is aborted without updating dirstate of the parent repo dirstate entry for ".hgsubstate" still holds size/date at (1) Then, ".hgsubstate" of the parent repo is treated as "CLEAN" unexpectedly, because updating ".hgsubstate" at (3) doesn't change size/date of it on the filesystem: see assumption at (4). This inconsistent ".hgsubstate" status causes unexpected behavior, for example: - "hg revert" forgets to revert ".hgsubstate" - "hg update" misunderstands that (not yet updated) subrepos diverge (then, it shows the prompt to confirm user's decision) To avoid inconsistent ".hgsubstate" status above, this patch marks ".hgsubstate" as possibly dirty before "submerge" invocation. "normallookup"-ed (= dirty) dirstate should be written out, even if processing is aborted by failure. This patch marks ".hgsubstate" as possibly dirty before "submerge", also when it is removed or merged while merging, for safety. This should prevent Mercurial from misunderstanding inconsistent ".hgsubstate" as clean. To satisfy conditions at (1) and (4) above, this patch uses "hg status --config debug.dirstate.delaywrite=2" (to fill valid size/date into dirstate) and "touch" (to fix date of the file).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 20390
diff changeset
     1
#require docutils
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 20390
diff changeset
     2
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
     3
Test document extraction
9446
57d682d7d2da test-gendoc: test documentation generation
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     4
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
     5
  $ HGENCODING=UTF-8
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
     6
  $ 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
     7
  $ { 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
     8
  >     LOCALE=`basename "$PO" .po`
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
     9
  >     echo
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    10
  >     echo "% extracting documentation from $LOCALE"
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    11
  >     echo ".. -*- coding: utf-8 -*-" > gendoc-$LOCALE.txt
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    12
  >     echo "" >> gendoc-$LOCALE.txt
19922
f27deed5c23f tests: really test translations for rst syntax errors (issue4003)
Simon Heimberg <simohe@besonet.ch>
parents: 16350
diff changeset
    13
  >     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
    14
  > 
19923
52bc80d0769f tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch>
parents: 19922
diff changeset
    15
  >     if [ $LOCALE != C ]; then
52bc80d0769f tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch>
parents: 19922
diff changeset
    16
  >         cmp -s gendoc-C.txt gendoc-$LOCALE.txt && echo '** NOTHING TRANSLATED **'
52bc80d0769f tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch>
parents: 19922
diff changeset
    17
  >     fi
52bc80d0769f tests: test-gendoc.t checks if anything was translated
Simon Heimberg <simohe@besonet.ch>
parents: 19922
diff changeset
    18
  > 
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    19
  >     # We call runrst without adding "--halt warning" to make it report
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    20
  >     # all errors instead of stopping on the first one.
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    21
  >     echo "checking for parse errors"
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 14475
diff changeset
    22
  >     python "$TESTDIR/../doc/runrst" html gendoc-$LOCALE.txt /dev/null
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    23
  > done
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    24
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    25
  % extracting documentation from C
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    26
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    27
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    28
  % extracting documentation from da
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    29
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    30
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    31
  % extracting documentation from de
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    32
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    33
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    34
  % extracting documentation from el
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    35
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    36
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    37
  % extracting documentation from fr
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    38
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    39
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    40
  % extracting documentation from it
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    41
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    42
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    43
  % extracting documentation from ja
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    44
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    45
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    46
  % extracting documentation from pt_BR
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    47
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    48
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    49
  % extracting documentation from ro
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    50
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    51
  
14475
ac9a89dbdc00 test-gendoc: update for new Russian translation
Martin Geisler <mg@lazybytes.net>
parents: 12427
diff changeset
    52
  % extracting documentation from ru
ac9a89dbdc00 test-gendoc: update for new Russian translation
Martin Geisler <mg@lazybytes.net>
parents: 12427
diff changeset
    53
  checking for parse errors
ac9a89dbdc00 test-gendoc: update for new Russian translation
Martin Geisler <mg@lazybytes.net>
parents: 12427
diff changeset
    54
  
12427
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    55
  % extracting documentation from sv
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    56
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    57
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    58
  % extracting documentation from zh_CN
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    59
  checking for parse errors
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    60
  
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    61
  % extracting documentation from zh_TW
f933b99eeb14 tests: unify test-gendoc
Matt Mackall <mpm@selenic.com>
parents: 12397
diff changeset
    62
  checking for parse errors