summaryrefslogtreecommitdiff
path: root/libcxx
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2023-05-12 16:17:10 +0300
committerMartin Storsjö <martin@martin.st>2023-05-16 21:27:54 +0300
commit391b51b18f37dd2a130de12167f8b4416eb3210e (patch)
treee04b25f7fd68c3a309edec0b473bdb27c23d4065 /libcxx
parent4072c8aee4c89c4457f4f30d01dc9bb4dfa52559 (diff)
downloadllvm-391b51b18f37dd2a130de12167f8b4416eb3210e.tar.gz
[libcxx] [test] Improve error reporting around invoked commands
This was requested in the review of D145807, but I had missed to apply it before landing the patch. Differential Revision: https://reviews.llvm.org/D150444
Diffstat (limited to 'libcxx')
-rw-r--r--libcxx/utils/libcxx/test/dsl.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/libcxx/utils/libcxx/test/dsl.py b/libcxx/utils/libcxx/test/dsl.py
index 9f59d3b447e6..5410d25d16b8 100644
--- a/libcxx/utils/libcxx/test/dsl.py
+++ b/libcxx/utils/libcxx/test/dsl.py
@@ -228,9 +228,9 @@ def commandOutput(config, command):
could appear on the right-hand-side of a `RUN:` keyword.
"""
with _makeConfigTest(config) as test:
- out, _, exitCode, _, _ = _executeScriptInternal(test, command)
+ out, err, exitCode, _, cmd = _executeScriptInternal(test, command)
if exitCode != 0:
- raise ConfigurationRuntimeError()
+ raise ConfigurationRuntimeError("Failed to run command: {}\nstderr is:\n{}".format(cmd, err))
return out
@_memoizeExpensiveOperation(lambda c, l: (c.substitutions, c.environment, l))
@@ -281,11 +281,11 @@ def compilerMacros(config, flags=''):
# include <__config_site>
#endif
""")
- unparsedOutput, err, exitCode, _, _ = _executeScriptInternal(test, [
+ unparsedOutput, err, exitCode, _, cmd = _executeScriptInternal(test, [
"%{{cxx}} %s -dM -E %{{flags}} %{{compile_flags}} {}".format(flags)
])
if exitCode != 0:
- raise ConfigurationCompilationError("Failed to retrieve compiler macros, stderr is:\n{}".format(err))
+ raise ConfigurationCompilationError("Failed to retrieve compiler macros, compiler invocation is:\n{}\nstderr is:\n{}".format(cmd, err))
parsedMacros = dict()
defines = (l.strip() for l in unparsedOutput.split('\n') if l.startswith('#define '))
for line in defines: