[PATCH] tests: run check-code.py on working directory files

Patrick Mezard pmezard at gmail.com
Sat Aug 7 09:00:22 CDT 2010


# HG changeset patch
# User Patrick Mezard <pmezard at gmail.com>
# Date 1281188285 -7200
# Node ID 7ce73bd363cc06243b666e771c67b21dbf628e47
# Parent  46039b2af34950b53bcdc52760a53bcfd7a7b802
tests: run check-code.py on working directory files

If we insist on Mercurial sources to pass check-code.py, let automate the
process and make it part of the tests.

Objections?

diff --git a/tests/test-check-code-hg.py b/tests/test-check-code-hg.py
new file mode 100644
--- /dev/null
+++ b/tests/test-check-code-hg.py
@@ -0,0 +1,20 @@
+# Pass all working directory files through check-code.py
+
+import sys, os, imp
+rootdir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..'))
+if not os.path.isdir(os.path.join(rootdir, '.hg')):
+    sys.stderr.write('skipped: cannot check code on non-repository sources\n')
+    sys.exit(80)
+
+checkpath = os.path.join(rootdir, 'contrib/check-code.py')
+checkcode = imp.load_source('checkcode', checkpath)
+
+from mercurial import hg, ui
+u = ui.ui()
+repo = hg.repository(u, rootdir)
+checked = 0
+for f in repo[None]:
+    checked += 1
+    checkcode.checkfile(os.path.join(rootdir, f))
+if not checked:
+    sys.stderr.write('no file checked!\n')


More information about the Mercurial-devel mailing list