Skip to content

Commit b8cc289

Browse files
committed
id [skip ci]
1 parent 633477f commit b8cc289

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

test/fixture.cpp

Lines changed: 3 additions & 1 deletion
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

Lines changed: 18 additions & 17 deletions
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);
@@ -1891,7 +1892,7 @@ class TestValueFlow : public TestFixture {
18911892
" if (x == 123) {}\n"
18921893
"}");
18931894
ASSERT_EQUALS(
1894-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y\n",
1895+
"[test.cpp:2:9]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable y [valueFlowBailoutIncompleteVar]\n",
18951896
errout_str());
18961897
}
18971898

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

20382039
bailout("int f(int x) {\n"
@@ -2097,7 +2098,7 @@ class TestValueFlow : public TestFixture {
20972098
" if (x == 123) {}\n"
20982099
"}");
20992100
ASSERT_EQUALS(
2100-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable b\n",
2101+
"[test.cpp:2:21]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable b [valueFlowBailoutIncompleteVar]\n",
21012102
errout_str());
21022103

21032104
code = "void f(int x, bool abc) {\n"
@@ -2146,7 +2147,7 @@ class TestValueFlow : public TestFixture {
21462147
" };\n"
21472148
"}");
21482149
ASSERT_EQUALS(
2149-
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n",
2150+
"[test.cpp:3:13]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a [valueFlowBailoutIncompleteVar]\n",
21502151
errout_str());
21512152

21522153
bailout("void f(int x, int y) {\n"
@@ -2156,7 +2157,7 @@ class TestValueFlow : public TestFixture {
21562157
" };\n"
21572158
"}");
21582159
ASSERT_EQUALS(
2159-
"[test.cpp:3]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a\n",
2160+
"[test.cpp:3:13]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable a [valueFlowBailoutIncompleteVar]\n",
21602161
errout_str());
21612162
}
21622163

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

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

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

22022203
// #5721 - FP
@@ -2211,8 +2212,8 @@ class TestValueFlow : public TestFixture {
22112212
" if (abc) {}\n"
22122213
"}");
22132214
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
2214-
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block\n"
2215-
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block\n", // duplicate
2215+
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block [valueFlowBailout]\n"
2216+
"[test.cpp:3]: (debug) valueflow.cpp:6730:(valueFlow) bailout: valueFlowAfterCondition: bailing in conditional block [valueFlowBailout]\n", // duplicate
22162217
errout_str());
22172218
}
22182219

@@ -8994,8 +8995,8 @@ class TestValueFlow : public TestFixture {
89948995
"}\n"
89958996
);
89968997
ASSERT_EQUALS_WITHOUT_LINENUMBERS(
8997-
"[test.cpp:2]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_1\n"
8998-
"[test.cpp:6]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_2\n",
8998+
"[test.cpp:2:12]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_1 [valueFlowBailoutIncompleteVar]\n"
8999+
"[test.cpp:6:12]: (debug) valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VALUE_2 [valueFlowBailoutIncompleteVar]\n",
89999000
errout_str());
90009001
}
90019002

0 commit comments

Comments
 (0)