tests: introduce check-perf-code.py to add extra checks on perf.py
authorFUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Fri, 20 May 2016 09:47:35 +0900
changeset 29570 cbd240188e4e
parent 29569 3d52e7c78a6b
child 29571 d1a7d9c279bb
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.
tests/check-perf-code.py
tests/test-contrib-perf.t
--- /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