[libcxx-commits] [PATCH] D120087: [libc++] Check clang-tidy version
Nikolas Klauser via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 2 09:42:24 PST 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
philnik marked an inline comment as done.
Closed by commit rGb324798fc8fb: [libc++] Check clang-tidy version (authored by philnik).
Changed prior to commit:
https://reviews.llvm.org/D120087?vs=412415&id=412467#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D120087/new/
https://reviews.llvm.org/D120087
Files:
libcxx/utils/libcxx/test/dsl.py
libcxx/utils/libcxx/test/features.py
Index: libcxx/utils/libcxx/test/features.py
===================================================================
--- libcxx/utils/libcxx/test/features.py
+++ libcxx/utils/libcxx/test/features.py
@@ -18,6 +18,13 @@
_isMSVC = lambda cfg: '_MSC_VER' in compilerMacros(cfg)
_msvcVersion = lambda cfg: (int(compilerMacros(cfg)['_MSC_VER']) // 100, int(compilerMacros(cfg)['_MSC_VER']) % 100)
+def _hasSuitableClangTidy(cfg):
+ try:
+ return int(re.search('[0-9]+', commandOutput(cfg, ['clang-tidy --version'])).group()) >= 13
+ except ConfigurationRuntimeError:
+ return False
+
+
DEFAULT_FEATURES = [
Feature(name='fcoroutines-ts',
when=lambda cfg: hasCompileFlag(cfg, '-fcoroutines-ts') and
@@ -109,7 +116,7 @@
Feature(name='executor-has-no-bash',
when=lambda cfg: runScriptExitCode(cfg, ['%{exec} bash -c \'bash --version\'']) != 0),
Feature(name='has-clang-tidy',
- when=lambda cfg: runScriptExitCode(cfg, ['clang-tidy --version']) == 0),
+ when=_hasSuitableClangTidy),
Feature(name='apple-clang', when=_isAppleClang),
Feature(name=lambda cfg: 'apple-clang-{__clang_major__}'.format(**compilerMacros(cfg)), when=_isAppleClang),
Index: libcxx/utils/libcxx/test/dsl.py
===================================================================
--- libcxx/utils/libcxx/test/dsl.py
+++ libcxx/utils/libcxx/test/dsl.py
@@ -217,6 +217,21 @@
_, _, exitCode, _ = _executeScriptInternal(test, script)
return exitCode
+ at _memoizeExpensiveOperation(lambda c, s: (c.substitutions, c.environment, s))
+def commandOutput(config, command):
+ """
+ Runs the given script as a Lit test, and returns the output.
+ If the exit code isn't 0 an exception is raised.
+
+ The script must be a list of commands, each of which being something that
+ could appear on the right-hand-side of a `RUN:` keyword.
+ """
+ with _makeConfigTest(config) as test:
+ out, _, exitCode, _ = _executeScriptInternal(test, command)
+ if exitCode != 0:
+ raise ConfigurationRuntimeError()
+ return out
+
@_memoizeExpensiveOperation(lambda c, l: (c.substitutions, c.environment, l))
def hasAnyLocale(config, locales):
"""
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D120087.412467.patch
Type: text/x-patch
Size: 2324 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20220302/1e9d1213/attachment.bin>
More information about the libcxx-commits
mailing list