formatting: introduce a `test-check-format-black.t` that enforce formatting
This should prevent use to drift away from the expect format.
--- a/tests/hghave.py Mon Oct 07 10:58:51 2019 -0400
+++ b/tests/hghave.py Mon Oct 07 11:52:58 2019 -0400
@@ -1,4 +1,4 @@
-from __future__ import absolute_import
+from __future__ import absolute_import, print_function
import os
import re
@@ -972,3 +972,14 @@
# 24.4, so we allow emacs 24.4, 24.5, and 25+ (24.5 was the last
# 24 release)
return matchoutput('emacs --version', b'GNU Emacs 2(4.4|4.5|5|6|7|8|9)')
+
+
+# @check('black', 'the black formatter for python')
+@check('grey', 'grey, the fork of the black formatter for python')
+def has_black():
+ # use that to actual black as soon as possible
+ # blackcmd = b'black --version'
+ blackcmd = b'python3 $RUNTESTDIR/../contrib/grey.py --version'
+ # version_regex = b'black, version \d'
+ version_regex = b'grey.py, version \d'
+ return matchoutput(blackcmd, version_regex)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-check-format.t Mon Oct 07 11:52:58 2019 -0400
@@ -0,0 +1,7 @@
+#require grey
+
+(this should use the actual black as soon as possible)
+
+ $ cd $RUNTESTDIR/..
+ $ python3 contrib/grey.py -S --quiet --check --diff `hg files 'set:**.py - hgext/fsmonitor/pywatchman/** - mercurial/thirdparty/** - "contrib/python-zstandard/**" - contrib/grey.py'`
+