From patchwork Mon Oct 7 18:14:55 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2, of, 2, BLACKGNAROCK-V2] formatting: introduce a `test-check-format-black.t` that enforce formatting From: Pierre-Yves David X-Patchwork-Id: 42069 Message-Id: To: mercurial-devel@mercurial-scm.org Cc: raf@durin42.com Date: Mon, 07 Oct 2019 14:14:55 -0400 # HG changeset patch # User Pierre-Yves David # Date 1570463578 14400 # Mon Oct 07 11:52:58 2019 -0400 # Node ID c5294d305666f3b5de9a001c9327ec8eab97eee5 # Parent 3c5fc04c5cbc3b146105b0e6764634c77067dbd5 # EXP-Topic blackgnarok-bytemageddon # Available At https://bitbucket.org/octobus/mercurial-devel/ # hg pull https://bitbucket.org/octobus/mercurial-devel/ -r c5294d305666 formatting: introduce a `test-check-format-black.t` that enforce formatting This should prevent use to drift away from the expect format. diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -1,4 +1,4 @@ -from __future__ import absolute_import +from __future__ import absolute_import, print_function import os import re @@ -972,3 +972,14 @@ def has_emacs(): # 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) diff --git a/tests/test-check-format.t b/tests/test-check-format.t new file mode 100644 --- /dev/null +++ b/tests/test-check-format.t @@ -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'` +