Refactoring: Avoid to load posix.cfg multiple times while testing (testother.cpp) (#6336)

This commit is contained in:
orbitcowboy 2014-12-17 16:33:34 +01:00 committed by PKEuS
parent a1537e1a6e
commit 4cbbca3db0
1 changed files with 7 additions and 17 deletions

View File

@ -34,9 +34,11 @@ public:
private: private:
Settings settings_std; Settings settings_std;
Settings settings_posix;
void run() { void run() {
LOAD_LIB_2(settings_std.library, "std.cfg"); LOAD_LIB_2(settings_std.library, "std.cfg");
LOAD_LIB_2(settings_posix.library, "posix.cfg");
TEST_CASE(emptyBrackets); TEST_CASE(emptyBrackets);
@ -183,6 +185,9 @@ private:
static Settings _settings; static Settings _settings;
settings = &_settings; settings = &_settings;
} }
if (posix) {
settings = &settings_posix;
}
settings->addEnabled("style"); settings->addEnabled("style");
settings->addEnabled("warning"); settings->addEnabled("warning");
settings->addEnabled("portability"); settings->addEnabled("portability");
@ -191,16 +196,6 @@ private:
settings->experimental = experimental; settings->experimental = experimental;
settings->standards.posix = posix; settings->standards.posix = posix;
if (posix) {
const char cfg[] = "<?xml version=\"1.0\"?>\n"
"<def>\n"
" <function name=\"usleep\"> <arg nr=\"1\"><valid>0:999999</valid></arg> </function>\n"
"</def>";
tinyxml2::XMLDocument xmldoc;
xmldoc.Parse(cfg, sizeof(cfg));
settings->library.load(xmldoc);
}
// Tokenize.. // Tokenize..
Tokenizer tokenizer(settings, this); Tokenizer tokenizer(settings, this);
std::istringstream istr(code); std::istringstream istr(code);
@ -6369,9 +6364,6 @@ private:
} }
void testReturnIgnoredReturnValuePosix() { void testReturnIgnoredReturnValuePosix() {
Settings settings_posix;
LOAD_LIB_2(settings_posix.library, "posix.cfg");
check("void f() {\n" check("void f() {\n"
" strdupa(\"test\");\n" " strdupa(\"test\");\n"
"}", "}",
@ -6379,8 +6371,7 @@ private:
false, // experimental false, // experimental
false, // inconclusive false, // inconclusive
true, // posix true, // posix
false, // runSimpleChecks false // runSimpleChecks
&settings_posix
); );
ASSERT_EQUALS("[test.cpp:2]: (warning) Return value of function strdupa() is not used.\n", errout.str()); ASSERT_EQUALS("[test.cpp:2]: (warning) Return value of function strdupa() is not used.\n", errout.str());
@ -6394,8 +6385,7 @@ private:
false, // experimental false, // experimental
false, // inconclusive false, // inconclusive
true, // posix true, // posix
false, // runSimpleChecks false // runSimpleChecks
&settings_posix
); );
ASSERT_EQUALS("[test.cpp:3]: (warning) Return value of function mmap() is not used.\n", errout.str()); ASSERT_EQUALS("[test.cpp:3]: (warning) Return value of function mmap() is not used.\n", errout.str());
} }