testrunner: make sure that more redirects/outputs are actually being consumed (#5721)
This commit is contained in:
parent
613bbe7674
commit
453800211c
2
Makefile
2
Makefile
|
@ -758,7 +758,7 @@ test/testfunctions.o: test/testfunctions.cpp lib/addoninfo.h lib/check.h lib/che
|
||||||
test/testgarbage.o: test/testgarbage.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h
|
test/testgarbage.o: test/testgarbage.cpp externals/simplecpp/simplecpp.h lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/preprocessor.h lib/settings.h lib/standards.h lib/suppressions.h lib/templatesimplifier.h lib/token.h lib/tokenize.h lib/tokenlist.h lib/utils.h lib/vfvalue.h test/fixture.h
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testgarbage.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testgarbage.cpp
|
||||||
|
|
||||||
test/testimportproject.o: test/testimportproject.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h
|
test/testimportproject.o: test/testimportproject.cpp lib/addoninfo.h lib/check.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/filesettings.h lib/importproject.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/utils.h test/fixture.h test/redirect.h
|
||||||
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testimportproject.cpp
|
$(CXX) ${INCLUDE_FOR_TEST} $(CPPFLAGS) $(CXXFLAGS) -c -o $@ test/testimportproject.cpp
|
||||||
|
|
||||||
test/testincompletestatement.o: test/testincompletestatement.cpp lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
|
test/testincompletestatement.o: test/testincompletestatement.cpp lib/addoninfo.h lib/check.h lib/checkother.h lib/color.h lib/config.h lib/errorlogger.h lib/errortypes.h lib/library.h lib/mathlib.h lib/platform.h lib/settings.h lib/standards.h lib/suppressions.h lib/tokenize.h lib/tokenlist.h lib/utils.h test/fixture.h test/helpers.h
|
||||||
|
|
|
@ -114,6 +114,20 @@ bool TestFixture::prepareTest(const char testname[])
|
||||||
void TestFixture::teardownTest()
|
void TestFixture::teardownTest()
|
||||||
{
|
{
|
||||||
teardownTestInternal();
|
teardownTestInternal();
|
||||||
|
|
||||||
|
// TODO: enable
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
const std::string s = errout.str();
|
||||||
|
if (!s.empty())
|
||||||
|
throw std::runtime_error("unconsumed ErrorLogger err: " + s);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
const std::string s = output_str();
|
||||||
|
if (!s.empty())
|
||||||
|
throw std::runtime_error("unconsumed ErrorLogger out: " + s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string TestFixture::getLocationStr(const char * const filename, const unsigned int linenr) const
|
std::string TestFixture::getLocationStr(const char * const filename, const unsigned int linenr) const
|
||||||
|
@ -381,7 +395,7 @@ std::size_t TestFixture::runTests(const options& args)
|
||||||
|
|
||||||
void TestFixture::reportOut(const std::string & outmsg, Color /*c*/)
|
void TestFixture::reportOut(const std::string & outmsg, Color /*c*/)
|
||||||
{
|
{
|
||||||
output << outmsg << std::endl;
|
mOutput << outmsg << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestFixture::reportErr(const ErrorMessage &msg)
|
void TestFixture::reportErr(const ErrorMessage &msg)
|
||||||
|
@ -389,6 +403,7 @@ void TestFixture::reportErr(const ErrorMessage &msg)
|
||||||
if (msg.severity == Severity::none && msg.id == "logChecker")
|
if (msg.severity == Severity::none && msg.id == "logChecker")
|
||||||
return;
|
return;
|
||||||
const std::string errormessage(msg.toString(mVerbose, mTemplateFormat, mTemplateLocation));
|
const std::string errormessage(msg.toString(mVerbose, mTemplateFormat, mTemplateLocation));
|
||||||
|
// TODO: remove the unique error handling?
|
||||||
if (errout.str().find(errormessage) == std::string::npos)
|
if (errout.str().find(errormessage) == std::string::npos)
|
||||||
errout << errormessage << std::endl;
|
errout << errormessage << std::endl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -236,11 +236,17 @@ protected:
|
||||||
return SettingsBuilder(*this, std::move(settings));
|
return SettingsBuilder(*this, std::move(settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: make sure the output has been consumed in the test
|
std::string output_str() {
|
||||||
|
std::string s = mOutput.str();
|
||||||
|
mOutput.str("");
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
std::ostringstream errout;
|
std::ostringstream errout;
|
||||||
std::ostringstream output;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
std::ostringstream mOutput;
|
||||||
|
|
||||||
void reportOut(const std::string &outmsg, Color c = Color::Reset) override;
|
void reportOut(const std::string &outmsg, Color c = Color::Reset) override;
|
||||||
void reportErr(const ErrorMessage &msg) override;
|
void reportErr(const ErrorMessage &msg) override;
|
||||||
void run(const std::string &str);
|
void run(const std::string &str);
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
#include "filesettings.h"
|
#include "filesettings.h"
|
||||||
#include "fixture.h"
|
#include "fixture.h"
|
||||||
|
#include "redirect.h"
|
||||||
|
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
@ -112,6 +113,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands1() const {
|
void importCompileCommands1() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] = R"([{
|
constexpr char json[] = R"([{
|
||||||
"directory": "/tmp",
|
"directory": "/tmp",
|
||||||
"command": "gcc -DTEST1 -DTEST2=2 -o /tmp/src.o -c /tmp/src.c",
|
"command": "gcc -DTEST1 -DTEST2=2 -o /tmp/src.o -c /tmp/src.c",
|
||||||
|
@ -125,6 +127,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands2() const {
|
void importCompileCommands2() const {
|
||||||
|
REDIRECT;
|
||||||
// Absolute file path
|
// Absolute file path
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
const char json[] = R"([{
|
const char json[] = R"([{
|
||||||
|
@ -152,6 +155,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands3() const {
|
void importCompileCommands3() const {
|
||||||
|
REDIRECT;
|
||||||
const char json[] = R"([{
|
const char json[] = R"([{
|
||||||
"directory": "/tmp/",
|
"directory": "/tmp/",
|
||||||
"command": "gcc -c src.c",
|
"command": "gcc -c src.c",
|
||||||
|
@ -165,6 +169,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands4() const {
|
void importCompileCommands4() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] = R"([{
|
constexpr char json[] = R"([{
|
||||||
"directory": "/tmp/",
|
"directory": "/tmp/",
|
||||||
"command": "gcc -c src.mm",
|
"command": "gcc -c src.mm",
|
||||||
|
@ -177,6 +182,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands5() const {
|
void importCompileCommands5() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
"directory": "C:/Users/dan/git/build-test-cppcheck-Desktop_Qt_5_15_0_MSVC2019_64bit-Debug",
|
"directory": "C:/Users/dan/git/build-test-cppcheck-Desktop_Qt_5_15_0_MSVC2019_64bit-Debug",
|
||||||
|
@ -196,6 +202,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands6() const {
|
void importCompileCommands6() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
"directory": "C:/Users/dan/git/build-test-cppcheck-Desktop_Qt_5_15_0_MSVC2019_64bit-Debug",
|
"directory": "C:/Users/dan/git/build-test-cppcheck-Desktop_Qt_5_15_0_MSVC2019_64bit-Debug",
|
||||||
|
@ -217,6 +224,7 @@ private:
|
||||||
|
|
||||||
|
|
||||||
void importCompileCommands7() const {
|
void importCompileCommands7() const {
|
||||||
|
REDIRECT;
|
||||||
// cmake -DFILESDIR="/some/path" ..
|
// cmake -DFILESDIR="/some/path" ..
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
|
@ -237,6 +245,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands8() const {
|
void importCompileCommands8() const {
|
||||||
|
REDIRECT;
|
||||||
// cmake -DFILESDIR="C:\Program Files\Cppcheck" -G"NMake Makefiles" ..
|
// cmake -DFILESDIR="C:\Program Files\Cppcheck" -G"NMake Makefiles" ..
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
|
@ -250,6 +259,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands9() const {
|
void importCompileCommands9() const {
|
||||||
|
REDIRECT;
|
||||||
// IAR output (https://sourceforge.net/p/cppcheck/discussion/general/thread/608af51e0a/)
|
// IAR output (https://sourceforge.net/p/cppcheck/discussion/general/thread/608af51e0a/)
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
|
@ -266,6 +276,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands10() const { // #10887
|
void importCompileCommands10() const { // #10887
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
"file": "/home/danielm/cppcheck/1/test folder/1.c" ,
|
"file": "/home/danielm/cppcheck/1/test folder/1.c" ,
|
||||||
|
@ -285,6 +296,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommands11() const { // include path order
|
void importCompileCommands11() const { // include path order
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] =
|
constexpr char json[] =
|
||||||
R"([{
|
R"([{
|
||||||
"file": "1.c" ,
|
"file": "1.c" ,
|
||||||
|
@ -307,6 +319,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommandsArgumentsSection() const {
|
void importCompileCommandsArgumentsSection() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] = "[ { \"directory\": \"/tmp/\","
|
constexpr char json[] = "[ { \"directory\": \"/tmp/\","
|
||||||
"\"arguments\": [\"gcc\", \"-c\", \"src.c\"],"
|
"\"arguments\": [\"gcc\", \"-c\", \"src.c\"],"
|
||||||
"\"file\": \"src.c\" } ]";
|
"\"file\": \"src.c\" } ]";
|
||||||
|
@ -318,15 +331,18 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCompileCommandsNoCommandSection() const {
|
void importCompileCommandsNoCommandSection() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char json[] = "[ { \"directory\": \"/tmp/\","
|
constexpr char json[] = "[ { \"directory\": \"/tmp/\","
|
||||||
"\"file\": \"src.mm\" } ]";
|
"\"file\": \"src.mm\" } ]";
|
||||||
std::istringstream istr(json);
|
std::istringstream istr(json);
|
||||||
TestImporter importer;
|
TestImporter importer;
|
||||||
ASSERT_EQUALS(false, importer.importCompileCommands(istr));
|
ASSERT_EQUALS(false, importer.importCompileCommands(istr));
|
||||||
ASSERT_EQUALS(0, importer.fileSettings.size());
|
ASSERT_EQUALS(0, importer.fileSettings.size());
|
||||||
|
ASSERT_EQUALS("cppcheck: error: no 'arguments' or 'command' field found in compilation database entry\n", GET_REDIRECT_OUTPUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
void importCppcheckGuiProject() const {
|
void importCppcheckGuiProject() const {
|
||||||
|
REDIRECT;
|
||||||
constexpr char xml[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
constexpr char xml[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
||||||
"<project version=\"1\">\n"
|
"<project version=\"1\">\n"
|
||||||
" <root name=\".\"/>\n"
|
" <root name=\".\"/>\n"
|
||||||
|
|
|
@ -67,7 +67,6 @@ private:
|
||||||
*/
|
*/
|
||||||
void check(unsigned int jobs, int files, int result, const std::string &data, const CheckOptions& opt = make_default_obj{}) {
|
void check(unsigned int jobs, int files, int result, const std::string &data, const CheckOptions& opt = make_default_obj{}) {
|
||||||
errout.str("");
|
errout.str("");
|
||||||
output.str("");
|
|
||||||
|
|
||||||
std::list<FileSettings> fileSettings;
|
std::list<FileSettings> fileSettings;
|
||||||
|
|
||||||
|
@ -265,7 +264,7 @@ private:
|
||||||
$.executeCommandCalled = true,
|
$.executeCommandCalled = true,
|
||||||
$.exe = exe,
|
$.exe = exe,
|
||||||
$.args = {"-quiet", "-checks=*,-clang-analyzer-*,-llvm*", file, "--"}*/));
|
$.args = {"-quiet", "-checks=*,-clang-analyzer-*,-llvm*", file, "--"}*/));
|
||||||
ASSERT_EQUALS("Checking " + file + " ...\n", output.str());
|
ASSERT_EQUALS("Checking " + file + " ...\n", output_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: provide data which actually shows values above 0
|
// TODO: provide data which actually shows values above 0
|
||||||
|
|
|
@ -72,7 +72,6 @@ private:
|
||||||
|
|
||||||
void check(int files, int result, const std::string &data, const CheckOptions& opt = make_default_obj{}) {
|
void check(int files, int result, const std::string &data, const CheckOptions& opt = make_default_obj{}) {
|
||||||
errout.str("");
|
errout.str("");
|
||||||
output.str("");
|
|
||||||
|
|
||||||
std::list<FileSettings> fileSettings;
|
std::list<FileSettings> fileSettings;
|
||||||
|
|
||||||
|
@ -169,7 +168,7 @@ private:
|
||||||
expected += "Checking " + fprefix() + "_" + zpad3(i) + ".cpp ...\n";
|
expected += "Checking " + fprefix() + "_" + zpad3(i) + ".cpp ...\n";
|
||||||
expected += std::to_string(i) + "/100 files checked " + std::to_string(i) + "% done\n";
|
expected += std::to_string(i) + "/100 files checked " + std::to_string(i) + "% done\n";
|
||||||
}
|
}
|
||||||
ASSERT_EQUALS(expected, output.str());
|
ASSERT_EQUALS(expected, output_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void many_files_showtime() {
|
void many_files_showtime() {
|
||||||
|
@ -259,7 +258,7 @@ private:
|
||||||
$.executeCommandCalled = true,
|
$.executeCommandCalled = true,
|
||||||
$.exe = exe,
|
$.exe = exe,
|
||||||
$.args = {"-quiet", "-checks=*,-clang-analyzer-*,-llvm*", file, "--"}));
|
$.args = {"-quiet", "-checks=*,-clang-analyzer-*,-llvm*", file, "--"}));
|
||||||
ASSERT_EQUALS("Checking " + file + " ...\n", output.str());
|
ASSERT_EQUALS("Checking " + file + " ...\n", output_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: provide data which actually shows values above 0
|
// TODO: provide data which actually shows values above 0
|
||||||
|
|
|
@ -200,7 +200,6 @@ private:
|
||||||
unsigned int checkSuppression(std::map<std::string, std::string> &f, const std::string &suppression = emptyString) {
|
unsigned int checkSuppression(std::map<std::string, std::string> &f, const std::string &suppression = emptyString) {
|
||||||
// Clear the error log
|
// Clear the error log
|
||||||
errout.str("");
|
errout.str("");
|
||||||
output.str("");
|
|
||||||
|
|
||||||
std::list<std::pair<std::string, std::size_t>> files;
|
std::list<std::pair<std::string, std::size_t>> files;
|
||||||
for (std::map<std::string, std::string>::const_iterator i = f.cbegin(); i != f.cend(); ++i) {
|
for (std::map<std::string, std::string>::const_iterator i = f.cbegin(); i != f.cend(); ++i) {
|
||||||
|
@ -210,6 +209,7 @@ private:
|
||||||
CppCheck cppCheck(*this, true, nullptr);
|
CppCheck cppCheck(*this, true, nullptr);
|
||||||
Settings& settings = cppCheck.settings();
|
Settings& settings = cppCheck.settings();
|
||||||
settings.jobs = 1;
|
settings.jobs = 1;
|
||||||
|
settings.quiet = true;
|
||||||
settings.inlineSuppressions = true;
|
settings.inlineSuppressions = true;
|
||||||
settings.severity.enable(Severity::information);
|
settings.severity.enable(Severity::information);
|
||||||
if (suppression == "unusedFunction")
|
if (suppression == "unusedFunction")
|
||||||
|
@ -234,13 +234,13 @@ private:
|
||||||
|
|
||||||
unsigned int checkSuppressionThreads(const char code[], const std::string &suppression = emptyString) {
|
unsigned int checkSuppressionThreads(const char code[], const std::string &suppression = emptyString) {
|
||||||
errout.str("");
|
errout.str("");
|
||||||
output.str("");
|
|
||||||
|
|
||||||
std::list<std::pair<std::string, std::size_t>> files;
|
std::list<std::pair<std::string, std::size_t>> files;
|
||||||
files.emplace_back("test.cpp", strlen(code));
|
files.emplace_back("test.cpp", strlen(code));
|
||||||
|
|
||||||
Settings settings;
|
Settings settings;
|
||||||
settings.jobs = 2;
|
settings.jobs = 2;
|
||||||
|
settings.quiet = true;
|
||||||
settings.inlineSuppressions = true;
|
settings.inlineSuppressions = true;
|
||||||
settings.severity.enable(Severity::information);
|
settings.severity.enable(Severity::information);
|
||||||
if (!suppression.empty()) {
|
if (!suppression.empty()) {
|
||||||
|
@ -264,13 +264,13 @@ private:
|
||||||
#if !defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
|
#if !defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
|
||||||
unsigned int checkSuppressionProcesses(const char code[], const std::string &suppression = emptyString) {
|
unsigned int checkSuppressionProcesses(const char code[], const std::string &suppression = emptyString) {
|
||||||
errout.str("");
|
errout.str("");
|
||||||
output.str("");
|
|
||||||
|
|
||||||
std::list<std::pair<std::string, std::size_t>> files;
|
std::list<std::pair<std::string, std::size_t>> files;
|
||||||
files.emplace_back("test.cpp", strlen(code));
|
files.emplace_back("test.cpp", strlen(code));
|
||||||
|
|
||||||
Settings settings;
|
Settings settings;
|
||||||
settings.jobs = 2;
|
settings.jobs = 2;
|
||||||
|
settings.quiet = true;
|
||||||
settings.inlineSuppressions = true;
|
settings.inlineSuppressions = true;
|
||||||
settings.severity.enable(Severity::information);
|
settings.severity.enable(Severity::information);
|
||||||
if (!suppression.empty()) {
|
if (!suppression.empty()) {
|
||||||
|
@ -1089,6 +1089,7 @@ private:
|
||||||
|
|
||||||
CppCheck cppCheck(*this, false, nullptr); // <- do not "use global suppressions". pretend this is a thread that just checks a file.
|
CppCheck cppCheck(*this, false, nullptr); // <- do not "use global suppressions". pretend this is a thread that just checks a file.
|
||||||
Settings& settings = cppCheck.settings();
|
Settings& settings = cppCheck.settings();
|
||||||
|
settings.quiet = true;
|
||||||
settings.nomsg.addSuppressionLine("uninitvar");
|
settings.nomsg.addSuppressionLine("uninitvar");
|
||||||
settings.exitCode = 1;
|
settings.exitCode = 1;
|
||||||
|
|
||||||
|
@ -1123,6 +1124,7 @@ private:
|
||||||
|
|
||||||
CppCheck cppCheck(*this, true, nullptr);
|
CppCheck cppCheck(*this, true, nullptr);
|
||||||
Settings& settings = cppCheck.settings();
|
Settings& settings = cppCheck.settings();
|
||||||
|
settings.quiet = true;
|
||||||
settings.severity.enable(Severity::style);
|
settings.severity.enable(Severity::style);
|
||||||
settings.inlineSuppressions = true;
|
settings.inlineSuppressions = true;
|
||||||
settings.relativePaths = true;
|
settings.relativePaths = true;
|
||||||
|
|
|
@ -67,7 +67,6 @@ private:
|
||||||
*/
|
*/
|
||||||
void check(unsigned int jobs, int files, int result, const std::string &data, const CheckOptions& opt = make_default_obj{}) {
|
void check(unsigned int jobs, int files, int result, const std::string &data, const CheckOptions& opt = make_default_obj{}) {
|
||||||
errout.str("");
|
errout.str("");
|
||||||
output.str("");
|
|
||||||
|
|
||||||
std::list<FileSettings> fileSettings;
|
std::list<FileSettings> fileSettings;
|
||||||
|
|
||||||
|
@ -262,7 +261,7 @@ private:
|
||||||
$.executeCommandCalled = true,
|
$.executeCommandCalled = true,
|
||||||
$.exe = exe,
|
$.exe = exe,
|
||||||
$.args = {"-quiet", "-checks=*,-clang-analyzer-*,-llvm*", file, "--"}));
|
$.args = {"-quiet", "-checks=*,-clang-analyzer-*,-llvm*", file, "--"}));
|
||||||
ASSERT_EQUALS("Checking " + file + " ...\n", output.str());
|
ASSERT_EQUALS("Checking " + file + " ...\n", output_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: provide data which actually shows values above 0
|
// TODO: provide data which actually shows values above 0
|
||||||
|
|
Loading…
Reference in New Issue