# HG changeset patch # User Kyle Lippincott # Date 1619823640 25200 # Node ID 1ff06ceb070fd17ee7423bc6c68edb90c451587d # Parent 6ca72719b60b1313d6629cc753fe8d4125342986 tests: allow Google's internal builds of clang-format to be used These builds do not actually include any Google-specific formatting changes; the only reason they don't include the LLVM version number is due to a decision to elide the version number from *all* LLVM/clang projects. For most builds of clang-format, even "unofficial" ones, the LLVM version will be displayed; example: ``` clang-format version 14.0.0 (https://github.com/llvm/llvm-project.git 1830ec94ac022ae0b6d6876fc2251e6b91e5931e) ``` The Google-internal build looks like this: ``` clang-format version google3-trunk (1830ec94ac022ae0b6d6876fc2251e6b91e5931e) ``` Differential Revision: https://phab.mercurial-scm.org/D10538 diff -r 6ca72719b60b -r 1ff06ceb070f tests/hghave.py --- a/tests/hghave.py Tue Oct 26 18:53:58 2021 +0530 +++ b/tests/hghave.py Fri Apr 30 16:00:40 2021 -0700 @@ -611,7 +611,14 @@ def has_clang_format(): m = matchoutput('clang-format --version', br'clang-format version (\d+)') # style changed somewhere between 10.x and 11.x - return m and int(m.group(1)) >= 11 + if m: + return int(m.group(1)) >= 11 + # Assist Googler contributors, they have a centrally-maintained version of + # clang-format that is generally very fresh, but unlike most builds (both + # official and unofficial), it does *not* include a version number. + return matchoutput( + 'clang-format --version', br'clang-format .*google3-trunk \([0-9a-f]+\)' + ) @check("jshint", "JSHint static code analysis tool")