diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-12 11:43:04 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2016-12-13 10:00:51 +0000 |
commit | a700217274eda09127820da28bda440e8d89b7c5 (patch) | |
tree | af18e55f42e802af26809edd864437ed047d49c4 | |
parent | 4024632de96c3d12dfb787cfd9d2e5783ea8442e (diff) |
Fix clangdb autotest on Windows
clang-check.exe does not understand MSVC-style command-line arguments.
Change-Id: If273d0a1f2a04918fccb2af06fddbdb3a6568cf1
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
-rw-r--r-- | tests/auto/blackbox/tst_clangdb.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/auto/blackbox/tst_clangdb.cpp b/tests/auto/blackbox/tst_clangdb.cpp index 7ef379c71..fbcd01be1 100644 --- a/tests/auto/blackbox/tst_clangdb.cpp +++ b/tests/auto/blackbox/tst_clangdb.cpp @@ -186,6 +186,18 @@ void TestClangDb::checkClangDetectsSourceCodeProblems() if (clangVersion() < Version(3, 7)) QSKIP("This test requires clang-check to be based on at least LLVM 3.7.0."); + // clang-check.exe does not understand MSVC command-line syntax + qbs::Settings settings((QString())); + qbs::Profile profile(profileName(), &settings); + if (profile.value("qbs.toolchain").toStringList().contains("msvc")) { + QFile commandsFile(relativeBuildDir() + "/compile_commands.json"); + QVERIFY2(commandsFile.open(QIODevice::ReadWrite), qPrintable(commandsFile.errorString())); + QByteArray data = commandsFile.readAll(); + data.replace("/D", "-D"); + commandsFile.resize(0); + commandsFile.write(data); + } + arguments = QStringList() << "-analyze" << "-p" << relativeBuildDir() << sourceFilePath; QVERIFY(runProcess(executable, arguments, stdErr, stdOut) == 0); const QString output = QString::fromLocal8Bit(stdErr); |