Skip to content

Commit 1b83028

Browse files
committed
id [skip ci]
1 parent 534df51 commit 1b83028

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

test/fixture.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,13 @@ void TestFixture::assertEquals(const char * const filename, const unsigned int l
194194
}
195195
}
196196

197+
// TODO: handle multiple lines
197198
std::string TestFixture::deleteLineNumber(const std::string &message)
198199
{
199200
std::string result(message);
201+
// skip location
202+
std::string::size_type pos = result.find("]:") + 2;
200203
// delete line number in "...:NUMBER:..."
201-
std::string::size_type pos = 0;
202204
while ((pos = result.find(':', pos)) != std::string::npos) {
203205
// get number
204206
if (pos + 1 == result.find_first_of("0123456789", pos + 1)) {

test/testvalueflow.cpp

+18-17
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ class TestValueFlow : public TestFixture {
5454
"</def>";
5555
settings = settingsBuilder(settings).libraryxml(cfg).build();
5656

57+
mNewTemplate = true;
5758
TEST_CASE(valueFlowNumber);
5859
TEST_CASE(valueFlowString);
5960
TEST_CASE(valueFlowTypeTraits);
@@ -1893,7 +1894,7 @@ class TestValueFlow : public TestFixture {
18931894
" if (x == 123) {}\n"
18941895
"}");
18951896
ASSERT_EQUALS(
1896-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y\n",
1897+
"[test.cpp:2:9]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar]\n",
18971898
errout_str());
18981899
}
18991900

@@ -2034,7 +2035,7 @@ class TestValueFlow : public TestFixture {
20342035
" y = ((x<0) ? x : ((x==2)?3:4));\n"
20352036
"}");
20362037
ASSERT_EQUALS(
2037-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y\n",
2038+
"[test.cpp:2:5]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar]\n",
20382039
errout_str());
20392040

20402041
bailout("int f(int x) {\n"
@@ -2099,7 +2100,7 @@ class TestValueFlow : public TestFixture {
20992100
" if (x == 123) {}\n"
21002101
"}");
21012102
ASSERT_EQUALS(
2102-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable b\n",
2103+
"[test.cpp:2:21]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable b [valueFlowBailoutIncompleteVar]\n",
21032104
errout_str());
21042105

21052106
code = "void f(int x, bool abc) {\n"
@@ -2148,7 +2149,7 @@ class TestValueFlow : public TestFixture {
21482149
" };\n"
21492150
"}");
21502151
ASSERT_EQUALS(
2151-
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n",
2152+
"[test.cpp:3:13]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a [valueFlowBailoutIncompleteVar]\n",
21522153
errout_str());
21532154

21542155
bailout("void f(int x, int y) {\n"
@@ -2158,7 +2159,7 @@ class TestValueFlow : public TestFixture {
21582159
" };\n"
21592160
"}");
21602161
ASSERT_EQUALS(
2161-
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n",
2162+
"[test.cpp:3:13]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a [valueFlowBailoutIncompleteVar]\n",
21622163
errout_str());
21632164
}
21642165

@@ -2170,9 +2171,9 @@ class TestValueFlow : public TestFixture {
21702171
" M;\n"
21712172
"}");
21722173
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
2173-
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n"
2174-
"[test.cpp:4]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro\n"
2175-
"[test.cpp:4]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro\n", // duplicate
2174+
"[test.cpp:3:5]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a [valueFlowBailoutIncompleteVar]\n"
2175+
"[test.cpp:4:5]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro [valueFlowBailout]\n"
2176+
"[test.cpp:4:5]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro [valueFlowBailout]\n", // duplicate
21762177
errout_str());
21772178

21782179
bailout("#define FREE(obj) ((obj) ? (free((char *) (obj)), (obj) = 0) : 0)\n" // #8349
@@ -2182,8 +2183,8 @@ class TestValueFlow : public TestFixture {
21822183
"}");
21832184
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
21842185
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n"
2185-
"[test.cpp:4]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro\n"
2186-
"[test.cpp:4]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro\n", // duplicate
2186+
"[test.cpp:4]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro [valueFlowBailout]\n"
2187+
"[test.cpp:4]: (debug) valueflow.cpp:1260:(valueFlow) bailout: variable 'x', condition is defined in macro [valueFlowBailout]\n", // duplicate
21872188
errout_str());
21882189
}
21892190

@@ -2196,9 +2197,9 @@ class TestValueFlow : public TestFixture {
21962197
" if (x==123){}\n"
21972198
"}");
21982199
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
2199-
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n"
2200-
"[test.cpp:2]: (debug) valueflow.cpp::(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block\n"
2201-
"[test.cpp:2]: (debug) valueflow.cpp::(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block\n", // duplicate
2200+
"[test.cpp:3:5]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a [valueFlowBailoutIncompleteVar]\n"
2201+
"[test.cpp:2:31]: (debug) valueflow.cpp::(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block [valueFlowBailout]\n"
2202+
"[test.cpp:2:31]: (debug) valueflow.cpp::(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block [valueFlowBailout]\n", // duplicate
22022203
errout_str());
22032204

22042205
// #5721 - FP
@@ -2213,8 +2214,8 @@ class TestValueFlow : public TestFixture {
22132214
" if (abc) {}\n"
22142215
"}");
22152216
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
2216-
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block\n"
2217-
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block\n", // duplicate
2217+
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block [valueFlowBailout]\n"
2218+
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block [valueFlowBailout]\n", // duplicate
22182219
errout_str());
22192220
}
22202221

@@ -9004,8 +9005,8 @@ class TestValueFlow : public TestFixture {
90049005
"}\n"
90059006
);
90069007
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
9007-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_1\n"
9008-
"[test.cpp:6]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_2\n",
9008+
"[test.cpp:2:12]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_1 [valueFlowBailoutIncompleteVar]\n"
9009+
"[test.cpp:6:12]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_2 [valueFlowBailoutIncompleteVar]\n",
90099010
errout_str());
90109011
}
90119012

0 commit comments

Comments
 (0)