Skip to content

Commit 4e7b8d9

Browse files
committed
TestFixture: immediately bail out when library could not be loaded
1 parent 5a4e437 commit 4e7b8d9

File tree

2 files changed

+1
-21
lines changed

2 files changed

+1
-21
lines changed

test/fixture.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ unsigned int TestFixture::countTests;
7474
std::size_t TestFixture::fails_counter = 0;
7575
std::size_t TestFixture::todos_counter = 0;
7676
std::size_t TestFixture::succeeded_todos_counter = 0;
77-
std::set<std::string> TestFixture::missingLibs;
7877

7978
TestFixture::TestFixture(const char * const _name)
8079
: mVerbose(false),
@@ -284,11 +283,6 @@ void TestFixture::assertNoThrowFail(const char * const filename, const unsigned
284283

285284
}
286285

287-
void TestFixture::complainMissingLib(const char * const libname)
288-
{
289-
missingLibs.insert(libname);
290-
}
291-
292286
void TestFixture::printHelp()
293287
{
294288
std::cout << "Testrunner - run Cppcheck tests\n"
@@ -372,12 +366,6 @@ std::size_t TestFixture::runTests(const options& args)
372366
std::cerr << "Tests failed: " << fails_counter << std::endl << std::endl;
373367
std::cerr << errmsg.str();
374368

375-
if (!missingLibs.empty()) {
376-
std::cerr << "Missing libraries: ";
377-
for (const std::string & missingLib : missingLibs)
378-
std::cerr << missingLib << " ";
379-
std::cerr << std::endl << std::endl;
380-
}
381369
std::cerr.flush();
382370
return fails_counter + succeeded_todos_counter;
383371
}

test/fixture.h

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ class TestFixture : public ErrorLogger {
4343
static std::size_t fails_counter;
4444
static std::size_t todos_counter;
4545
static std::size_t succeeded_todos_counter;
46-
static std::set<std::string> missingLibs;
4746
bool mVerbose;
4847
std::string mTemplateFormat;
4948
std::string mTemplateLocation;
@@ -95,7 +94,6 @@ class TestFixture : public ErrorLogger {
9594
void assertThrow(const char * const filename, const unsigned int linenr) const;
9695
void assertThrowFail(const char * const filename, const unsigned int linenr) const;
9796
void assertNoThrowFail(const char * const filename, const unsigned int linenr) const;
98-
static void complainMissingLib(const char * const libname);
9997
static std::string deleteLineNumber(const std::string &message);
10098

10199
void setVerbose(bool v) {
@@ -165,13 +163,7 @@ extern std::ostringstream output;
165163
#define EXPECT_EQ( EXPECTED, ACTUAL ) assertEquals(__FILE__, __LINE__, EXPECTED, ACTUAL)
166164
#define REGISTER_TEST( CLASSNAME ) namespace { CLASSNAME instance_ ## CLASSNAME; }
167165

168-
#define LOAD_LIB_2(LIB, NAME) \
169-
do { \
170-
if (((LIB).load(exename.c_str(), NAME).errorcode != Library::ErrorCode::OK)) { \
171-
complainMissingLib(NAME); \
172-
abort(); \
173-
} \
174-
} while (false)
166+
#define LOAD_LIB_2( LIB, NAME ) do { if (((LIB).load(exename.c_str(), NAME).errorcode != Library::ErrorCode::OK)) throw std::runtime_error("library '" + std::string(NAME) + "' not found"); } while (false)
175167

176168
#define PLATFORM( P, T ) do { std::string errstr; assertEquals(__FILE__, __LINE__, true, P.set(cppcheck::Platform::toString(T), errstr, {exename}), errstr); } while (false)
177169

0 commit comments

Comments
 (0)