tests/test-profile.t
author Matt Mackall <mpm@selenic.com>
Tue, 22 Nov 2011 17:26:32 -0600
branchstable
changeset 15551 1fa41d1f1351
parent 12478 bb665db49e32
child 16898 bb91c602d4ad
permissions -rw-r--r--
posix: add extended support for OS X path folding OS X does the following transformation on paths for comparisons: a) 8-bit strings are decoded as UTF-8 to UTF-16 b) undecodable bytes are percent-escaped c) accented characters are converted to NFD decomposed form, approximately d) characters are converted to _lowercase_ using internal tables Both (c) and (d) are done using internal tables that vary from release to release and match Unicode specs to greater or lesser extent. We approximate these functions using Python's internal Unicode data. With this change, Mercurial will (in almost all cases) match OS X folding and not report unknown file aliases for files in UTF-8 or other encodings.

test --time

  $ hg --time help -q help 2>&1 | grep Time > /dev/null
  $ hg init a
  $ cd a

test --profile

  $ if "$TESTDIR/hghave" -q lsprof; then
  >     hg --profile st 2>../out || echo --profile failed
  >     grep CallCount < ../out > /dev/null || echo wrong --profile
  > 
  >     hg --profile --config profiling.output=../out st 2>&1 \
  >         || echo --profile + output to file failed
  >     grep CallCount < ../out > /dev/null \
  >         || echo wrong --profile output when saving to a file
  > 
  >     hg --profile --config profiling.format=text st 2>&1 \
  >         | grep CallCount > /dev/null || echo --profile format=text failed
  > 
  >     echo "[profiling]" >> $HGRCPATH
  >     echo "format=kcachegrind" >> $HGRCPATH
  > 
  >     hg --profile st 2>../out || echo --profile format=kcachegrind failed
  >     grep 'events: Ticks' < ../out > /dev/null || echo --profile output is wrong
  > 
  >     hg --profile --config profiling.output=../out st 2>&1 \
  >         || echo --profile format=kcachegrind + output to file failed
  >     grep 'events: Ticks' < ../out > /dev/null \
  >         || echo --profile output is wrong
  > fi