tests/test-check-config.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sun, 09 Oct 2016 01:03:16 +0900
changeset 30143 2d858c771760
parent 29219 3c9066ed557c
child 32864 7c11869cf23a
permissions -rw-r--r--
perf: introduce safeattrsetter to replace direct attribute assignment Referring not-existing attribute immediately causes failure, but assigning a value to such attribute doesn't. For example, perf.py has code paths below, which assign a value to not-existing attribute. This causes incorrect performance measurement, but these code paths are executed successfully. - "repo._tags = None" in perftags() recent Mercurial has tags cache information in repo._tagscache - "branchmap.write = lambda repo: None" in perfbranchmap() branchmap cache is written out by branchcache.write() in branchmap.py "util.safehasattr() before assignment" can avoid this issue, but might increase mistake at "copy & paste" attribute name or so. To centralize (1) examining existence of, (2) assigning a value to, and (3) restoring an old value to the attribute, this patch introduces safeattrsetter(). This is used to replace direct attribute assignment in subsequent patches. Encapsulation of restoring is needed to completely remove direct attribute assignment from perf.py, even though restoring isn't needed so often.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     1
#require test-repo
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     2
29219
3c9066ed557c tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents: 27992
diff changeset
     3
  $ . "$TESTDIR/helpers-testrepo.sh"
25854
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     4
  $ cd "$TESTDIR"/..
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     5
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     6
New errors are not allowed. Warnings are strongly discouraged.
eabba9c75061 tests: add a check-config pass
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
25866
8c1d7a0e737b test-check-config: convert directory separators to '/' for MSYS
Matt Harbison <matt_harbison@yahoo.com>
parents: 25854
diff changeset
     8
  $ hg files "set:(**.py or **.txt) - tests/**" | sed 's|\\|/|g' |
27992
8f244b75cc5e tests: execute check-config.py without xargs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 27368
diff changeset
     9
  >   python contrib/check-config.py