tests/test-profile.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 24 Dec 2011 19:05:35 +0900
branchstable
changeset 15723 1581da01d5c4
parent 12478 bb665db49e32
child 16898 bb91c602d4ad
permissions -rw-r--r--
windows: use normalized path as path to subrepo path to subrepo is used to identify or check location of subrepo. it should be normalized (in "/" delimiter form), because it is also used with narrowmatcher which uses only normalized path even on Windows environment. this patch applies "util.pconvert()" on path to subrepo (called "subpath") to normalize it. for this patch, referers of below were checked. - subrepo.state() - subrepo.itersubrepos() - subrepo.subrepo() - context.sub() - context.substate() typical usecase is: for subpath in ctx.substate: sub = ctx.sub(subpath) ... ctx.substate[subpath] .... in this case, normalization has no side effect, because keys given from substate are used as key itself. other cases shown below also seem to require subpath to be normalized. - path components are joined by "/", in "commands.forget()": for subpath in ctx.substate: subforget[subpath + '/' + fsub] = (fsub, sub) - normalized "file" is used to check below condition, in "commands.revert()", "localrepository.commit()", and "localrepository._checknested()" file in ctx.substate - substate.keys() is passed to dirstate.walk()/status() which use only normalized pathes

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