[PATCH 2 of 2] tests: use jshint when available to check .js files

Anton Shestakov av6 at dwimlabs.net
Sat Nov 11 02:40:36 EST 2017


# HG changeset patch
# User Anton Shestakov <av6 at dwimlabs.net>
# Date 1510384041 -28800
#      Sat Nov 11 15:07:21 2017 +0800
# Node ID 42809ebcbc783e0d27385c6ea1e1731df44a4f4e
# Parent  36e26161d81233a8ef18e40b4198d86b23113159
tests: use jshint when available to check .js files

diff --git a/tests/hghave.py b/tests/hghave.py
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -444,6 +444,10 @@ def has_clang_format():
     return matchoutput("clang-format --help",
                        br"^OVERVIEW: A tool to format C/C\+\+[^ ]+ code.")
 
+ at check("jshint", "JSHint static code analysis tool")
+def has_jshint():
+    return matchoutput("jshint --version 2>&1", br"jshint v")
+
 @check("pygments", "Pygments source highlighting library")
 def has_pygments():
     try:
diff --git a/tests/test-check-jshint.t b/tests/test-check-jshint.t
new file mode 100644
--- /dev/null
+++ b/tests/test-check-jshint.t
@@ -0,0 +1,12 @@
+#require test-repo jshint hg10
+
+  $ . "$TESTDIR/helpers-testrepo.sh"
+
+run jshint on all tracked files ending in .js except vendored dependencies
+
+  $ cd "`dirname "$TESTDIR"`"
+
+  $ testrepohg locate 'set:**.js' \
+  > -X mercurial/templates/static/excanvas.js \
+  > 2>/dev/null \
+  > | xargs jshint


More information about the Mercurial-devel mailing list