tests/test-gendoc.t
author Olivier Trempe <oliviertrempe@gmail.com>
Wed, 08 Mar 2017 09:03:42 -0500
changeset 31846 1064a296a2a7
parent 28809 7a1ad08b9ff5
child 32940 75be14993fda
permissions -rw-r--r--
fsmonitor: match watchman and filesystem encoding watchman's paths encoding can differ from filesystem encoding. For example, on Windows, it's always utf-8. Before this patch, on Windows, mismatch in path comparison between fsmonitor state and osutil.statfiles would yield a clean status for added/modified files. In addition to status reporting wrong results, this leads to files being discarded from changesets while doing history editing operations such as rebase. Benchmark: There is a little overhead at module import: python -m timeit "import hgext.fsmonitor" Windows before patch: 1000000 loops, best of 3: 0.563 usec per loop Windows after patch: 1000000 loops, best of 3: 0.583 usec per loop Linx before patch: 1000000 loops, best of 3: 0.579 usec per loop Linux after patch: 1000000 loops, best of 3: 0.588 usec per loop 10000 calls to _watchmantofsencoding: python -m timeit -s "from hgext.fsmonitor import _watchmantofsencoding, _fixencoding" "fname = '/path/to/file'" "for i in range(10000):" " if _fixencoding: fname = _watchmantofsencoding(fname)" Windows (_fixencoding is True): 100 loops, best of 3: 19.5 msec per loop Linux (_fixencoding is False): 100 loops, best of 3: 3.08 msec per loop

#require docutils
#require gettext

Test document extraction

  $ HGENCODING=UTF-8
  $ export HGENCODING
  $ { echo C; ls "$TESTDIR/../i18n"/*.po | sort; } | while read PO; do
  >     LOCALE=`basename "$PO" .po`
  >     echo "% extracting documentation from $LOCALE"
  >     LANGUAGE=$LOCALE python "$TESTDIR/../doc/gendoc.py" >> gendoc-$LOCALE.txt 2> /dev/null || exit
  > 
  >     if [ $LOCALE != C ]; then
  >         if [ ! -f $TESTDIR/test-gendoc-$LOCALE.t ]; then
  >             echo missing test-gendoc-$LOCALE.t
  >         fi
  >         cmp -s gendoc-C.txt gendoc-$LOCALE.txt && echo "** NOTHING TRANSLATED ($LOCALE) **"
  >     fi
  > done; true
  % extracting documentation from C
  % extracting documentation from da
  % extracting documentation from de
  % extracting documentation from el
  % extracting documentation from fr
  % extracting documentation from it
  % extracting documentation from ja
  % extracting documentation from pt_BR
  % extracting documentation from ro
  % extracting documentation from ru
  % extracting documentation from sv
  % extracting documentation from zh_CN
  % extracting documentation from zh_TW