tests: introduce check-perf-code.py to add extra checks on perf.py
This patch introduces tests/check-perf-code.py as a preparation for
adding extra checks on contrib/perf.py in subsequent patches (mainly,
for historical portability).
At this change, check-perf-code.py doesn't add any extra check, and is
equal to check-code.py. This makes subsequent patch focus only on
adding an extra check on perf.py check-perf-code.py.
check-perf-code.py adds extra checks on perf.py by wrapping
contrib/check-code.py, because "filtering" by check-code.py (e.g.
normalize characters in string literal or comment line) is useful to
simplify regexp for check, and avoid false positive matching.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/check-perf-code.py Fri May 20 09:47:35 2016 +0900
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+#
+# check-perf-code - (historical) portability checker for contrib/perf.py
+
+from __future__ import absolute_import
+
+import os
+import sys
+
+# write static check patterns here
+perfpypats = [
+ [
+ ],
+ # warnings
+ [
+ ]
+]
+
+if __name__ == "__main__":
+ # import contrib/check-code.py as checkcode
+ assert 'RUNTESTDIR' in os.environ, "use check-perf-code.py in *.t script"
+ contribpath = os.path.join(os.environ['RUNTESTDIR'], '..', 'contrib')
+ sys.path.insert(0, contribpath)
+ checkcode = __import__('check-code')
+
+ # register perf.py specific entry with "checks" in check-code.py
+ checkcode.checks.append(('perf.py', r'contrib/perf.py$', '',
+ checkcode.pyfilters, perfpypats))
+
+ sys.exit(checkcode.main())
--- a/tests/test-contrib-perf.t Fri May 20 09:47:35 2016 +0900
+++ b/tests/test-contrib-perf.t Fri May 20 09:47:35 2016 +0900
@@ -148,3 +148,8 @@
$ hg perfwalk
$ hg perfparents
+Check perf.py for historical portability
+
+ $ cd "$TESTDIR/.."
+
+ $ "$TESTDIR"/check-perf-code.py contrib/perf.py