Line | Source Code | Coverage |
---|
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | namespace QTest | - |
9 | { | - |
10 | static QTestData *currentTestData = 0; | - |
11 | static QTestData *currentGlobalTestData = 0; | - |
12 | static const char *currentTestFunc = 0; | - |
13 | static const char *currentTestObjectName = 0; | - |
14 | static bool failed = false; | - |
15 | static bool skipCurrentTest = false; | - |
16 | | - |
17 | static const char *expectFailComment = 0; | - |
18 | static int expectFailMode = 0; | - |
19 | | - |
20 | static const char *currentAppname = 0; | - |
21 | } | - |
22 | | - |
23 | void QTestResult::reset() | - |
24 | { | - |
25 | QTest::currentTestData = 0; | - |
26 | QTest::currentGlobalTestData = 0; | - |
27 | QTest::currentTestFunc = 0; | - |
28 | QTest::currentTestObjectName = 0; | - |
29 | QTest::failed = false; | - |
30 | | - |
31 | QTest::expectFailComment = 0; | - |
32 | QTest::expectFailMode = 0; | - |
33 | | - |
34 | QTestLog::resetCounters(); | - |
35 | } | 0 |
36 | | - |
37 | bool QTestResult::currentTestFailed() | - |
38 | { | - |
39 | return QTest::failed; executed: return QTest::failed; Execution Count:130551 | 130551 |
40 | } | - |
41 | | - |
42 | QTestData *QTestResult::currentGlobalTestData() | - |
43 | { | - |
44 | return QTest::currentGlobalTestData; executed: return QTest::currentGlobalTestData; Execution Count:1457 | 1457 |
45 | } | - |
46 | | - |
47 | QTestData *QTestResult::currentTestData() | - |
48 | { | - |
49 | return QTest::currentTestData; executed: return QTest::currentTestData; Execution Count:171391 | 171391 |
50 | } | - |
51 | | - |
52 | void QTestResult::setCurrentGlobalTestData(QTestData *data) | - |
53 | { | - |
54 | QTest::currentGlobalTestData = data; | - |
55 | } executed: } Execution Count:6503 | 6503 |
56 | | - |
57 | void QTestResult::setCurrentTestData(QTestData *data) | - |
58 | { | - |
59 | QTest::currentTestData = data; | - |
60 | QTest::failed = false; | - |
61 | } executed: } Execution Count:136065 | 136065 |
62 | | - |
63 | void QTestResult::setCurrentTestFunction(const char *func) | - |
64 | { | - |
65 | QTest::currentTestFunc = func; | - |
66 | QTest::failed = false; | - |
67 | if (func) evaluated: func yes Evaluation Count:7094 | yes Evaluation Count:373 |
| 373-7094 |
68 | QTestLog::enterTestFunction(func); executed: QTestLog::enterTestFunction(func); Execution Count:7094 | 7094 |
69 | } executed: } Execution Count:7467 | 7467 |
70 | | - |
71 | static void clearExpectFail() | - |
72 | { | - |
73 | QTest::expectFailMode = 0; | - |
74 | delete [] const_cast<char *>(QTest::expectFailComment); | - |
75 | QTest::expectFailComment = 0; | - |
76 | } executed: } Execution Count:66444 | 66444 |
77 | | - |
78 | void QTestResult::finishedCurrentTestData() | - |
79 | { | - |
80 | if (QTest::expectFailMode) partially evaluated: QTest::expectFailMode no Evaluation Count:0 | yes Evaluation Count:65648 |
| 0-65648 |
81 | addFailure("QEXPECT_FAIL was called without any subsequent verification statements", 0, 0); never executed: addFailure("QEXPECT_FAIL was called without any subsequent verification statements", 0, 0); | 0 |
82 | clearExpectFail(); | - |
83 | | - |
84 | if (!QTest::failed && QTestLog::unhandledIgnoreMessages()) { evaluated: !QTest::failed yes Evaluation Count:65431 | yes Evaluation Count:217 |
partially evaluated: QTestLog::unhandledIgnoreMessages() no Evaluation Count:0 | yes Evaluation Count:65431 |
| 0-65431 |
85 | QTestLog::printUnhandledIgnoreMessages(); | - |
86 | addFailure("Not all expected messages were received", 0, 0); | - |
87 | } | 0 |
88 | QTestLog::clearIgnoreMessages(); | - |
89 | } executed: } Execution Count:65648 | 65648 |
90 | | - |
91 | void QTestResult::finishedCurrentTestDataCleanup() | - |
92 | { | - |
93 | | - |
94 | if (!QTest::failed && !QTest::skipCurrentTest) { evaluated: !QTest::failed yes Evaluation Count:65423 | yes Evaluation Count:217 |
evaluated: !QTest::skipCurrentTest yes Evaluation Count:65236 | yes Evaluation Count:187 |
| 187-65423 |
95 | QTestLog::addPass(""); | - |
96 | } executed: } Execution Count:65236 | 65236 |
97 | | - |
98 | QTest::failed = false; | - |
99 | } executed: } Execution Count:65640 | 65640 |
100 | | - |
101 | void QTestResult::finishedCurrentTestFunction() | - |
102 | { | - |
103 | QTest::currentTestFunc = 0; | - |
104 | QTest::failed = false; | - |
105 | | - |
106 | QTestLog::leaveTestFunction(); | - |
107 | } executed: } Execution Count:7069 | 7069 |
108 | | - |
109 | const char *QTestResult::currentTestFunction() | - |
110 | { | - |
111 | return QTest::currentTestFunc; executed: return QTest::currentTestFunc; Execution Count:135803 | 135803 |
112 | } | - |
113 | | - |
114 | const char *QTestResult::currentDataTag() | - |
115 | { | - |
116 | return QTest::currentTestData ? QTest::currentTestData->dataTag() | 257979 |
117 | : static_cast<const char *>(0); executed: return QTest::currentTestData ? QTest::currentTestData->dataTag() : static_cast<const char *>(0); Execution Count:257979 | 257979 |
118 | } | - |
119 | | - |
120 | const char *QTestResult::currentGlobalDataTag() | - |
121 | { | - |
122 | return QTest::currentGlobalTestData ? QTest::currentGlobalTestData->dataTag() | 68525 |
123 | : static_cast<const char *>(0); executed: return QTest::currentGlobalTestData ? QTest::currentGlobalTestData->dataTag() : static_cast<const char *>(0); Execution Count:68525 | 68525 |
124 | } | - |
125 | | - |
126 | static bool isExpectFailData(const char *dataIndex) | - |
127 | { | - |
128 | if (!dataIndex || dataIndex[0] == '\0') evaluated: !dataIndex yes Evaluation Count:2 | yes Evaluation Count:10804 |
evaluated: dataIndex[0] == '\0' yes Evaluation Count:42 | yes Evaluation Count:10762 |
| 2-10804 |
129 | return true; executed: return true; Execution Count:44 | 44 |
130 | if (!QTest::currentTestData) partially evaluated: !QTest::currentTestData no Evaluation Count:0 | yes Evaluation Count:10762 |
| 0-10762 |
131 | return false; never executed: return false; | 0 |
132 | if (strcmp(dataIndex, QTest::currentTestData->dataTag()) == 0) evaluated: strcmp(dataIndex, QTest::currentTestData->dataTag()) == 0 yes Evaluation Count:272 | yes Evaluation Count:10490 |
| 272-10490 |
133 | return true; executed: return true; Execution Count:272 | 272 |
134 | return false; executed: return false; Execution Count:10490 | 10490 |
135 | } | - |
136 | | - |
137 | bool QTestResult::expectFail(const char *dataIndex, const char *comment, | - |
138 | QTest::TestFailMode mode, const char *file, int line) | - |
139 | { | - |
140 | do { if (!(comment)) qt_assert("comment","qtestresult.cpp",186); } while (0); never executed: qt_assert("comment","qtestresult.cpp",186); executed: } Execution Count:10806 partially evaluated: !(comment) no Evaluation Count:0 | yes Evaluation Count:10806 |
partially evaluated: 0 no Evaluation Count:0 | yes Evaluation Count:10806 |
| 0-10806 |
141 | do { if (!(mode > 0)) qt_assert("mode > 0","qtestresult.cpp",187); } while (0); never executed: qt_assert("mode > 0","qtestresult.cpp",187); executed: } Execution Count:10806 partially evaluated: !(mode > 0) no Evaluation Count:0 | yes Evaluation Count:10806 |
partially evaluated: 0 no Evaluation Count:0 | yes Evaluation Count:10806 |
| 0-10806 |
142 | | - |
143 | if (!isExpectFailData(dataIndex)) { evaluated: !isExpectFailData(dataIndex) yes Evaluation Count:10490 | yes Evaluation Count:316 |
| 316-10490 |
144 | delete[] comment; | - |
145 | return true; executed: return true; Execution Count:10490 | 10490 |
146 | } | - |
147 | | - |
148 | if (QTest::expectFailMode) { partially evaluated: QTest::expectFailMode no Evaluation Count:0 | yes Evaluation Count:316 |
| 0-316 |
149 | delete[] comment; | - |
150 | clearExpectFail(); | - |
151 | addFailure("Already expecting a fail", file, line); | - |
152 | return false; never executed: return false; | 0 |
153 | } | - |
154 | | - |
155 | QTest::expectFailMode = mode; | - |
156 | QTest::expectFailComment = comment; | - |
157 | return true; executed: return true; Execution Count:316 | 316 |
158 | } | - |
159 | | - |
160 | static bool checkStatement(bool statement, const char *msg, const char *file, int line) | - |
161 | { | - |
162 | if (statement) { evaluated: statement yes Evaluation Count:33643047 | yes Evaluation Count:454 |
| 454-33643047 |
163 | if (QTest::expectFailMode) { partially evaluated: QTest::expectFailMode no Evaluation Count:0 | yes Evaluation Count:33643051 |
| 0-33643051 |
164 | QTestLog::addXPass(msg, file, line); | - |
165 | bool doContinue = (QTest::expectFailMode == QTest::Continue); | - |
166 | clearExpectFail(); | - |
167 | QTest::failed = true; | - |
168 | return doContinue; never executed: return doContinue; | 0 |
169 | } | - |
170 | return true; executed: return true; Execution Count:33643048 | 33643048 |
171 | } | - |
172 | | - |
173 | if (QTest::expectFailMode) { evaluated: QTest::expectFailMode yes Evaluation Count:316 | yes Evaluation Count:138 |
| 138-316 |
174 | QTestLog::addXFail(QTest::expectFailComment, file, line); | - |
175 | bool doContinue = (QTest::expectFailMode == QTest::Continue); | - |
176 | clearExpectFail(); | - |
177 | return doContinue; executed: return doContinue; Execution Count:316 | 316 |
178 | } | - |
179 | | - |
180 | QTestResult::addFailure(msg, file, line); | - |
181 | return false; executed: return false; Execution Count:138 | 138 |
182 | } | - |
183 | | - |
184 | bool QTestResult::verify(bool statement, const char *statementStr, | - |
185 | const char *description, const char *file, int line) | - |
186 | { | - |
187 | do { if (!(statementStr)) qt_assert("statementStr","qtestresult.cpp",233); } while (0); never executed: qt_assert("statementStr","qtestresult.cpp",233); executed: } Execution Count:12558436 partially evaluated: !(statementStr) no Evaluation Count:0 | yes Evaluation Count:12558433 |
partially evaluated: 0 no Evaluation Count:0 | yes Evaluation Count:12558435 |
| 0-12558436 |
188 | | - |
189 | char msg[1024]; | - |
190 | | - |
191 | if (QTestLog::verboseLevel() >= 2) { partially evaluated: QTestLog::verboseLevel() >= 2 no Evaluation Count:0 | yes Evaluation Count:12558434 |
| 0-12558434 |
192 | qsnprintf(msg, 1024, "QVERIFY(%s)", statementStr); | - |
193 | QTestLog::info(msg, file, line); | - |
194 | } | 0 |
195 | | - |
196 | const char * format = QTest::expectFailMode evaluated: QTest::expectFailMode yes Evaluation Count:146 | yes Evaluation Count:12558293 |
| 146-12558293 |
197 | ? "'%s' returned TRUE unexpectedly. (%s)" | - |
198 | : "'%s' returned FALSE. (%s)"; | - |
199 | qsnprintf(msg, 1024, format, statementStr, description ? description : ""); | - |
200 | | - |
201 | return checkStatement(statement, msg, file, line); executed: return checkStatement(statement, msg, file, line); Execution Count:12558478 | 12558478 |
202 | } | - |
203 | | - |
204 | bool QTestResult::compare(bool success, const char *failureMsg, | - |
205 | char *val1, char *val2, | - |
206 | const char *actual, const char *expected, | - |
207 | const char *file, int line) | - |
208 | { | - |
209 | do { if (!(expected)) qt_assert("expected","qtestresult.cpp",255); } while (0); never executed: qt_assert("expected","qtestresult.cpp",255); executed: } Execution Count:21085022 partially evaluated: !(expected) no Evaluation Count:0 | yes Evaluation Count:21085019 |
partially evaluated: 0 no Evaluation Count:0 | yes Evaluation Count:21085022 |
| 0-21085022 |
210 | do { if (!(actual)) qt_assert("actual","qtestresult.cpp",256); } while (0); never executed: qt_assert("actual","qtestresult.cpp",256); executed: } Execution Count:21085021 partially evaluated: !(actual) no Evaluation Count:0 | yes Evaluation Count:21085021 |
partially evaluated: 0 no Evaluation Count:0 | yes Evaluation Count:21085021 |
| 0-21085021 |
211 | | - |
212 | char msg[1024]; | - |
213 | | - |
214 | if (QTestLog::verboseLevel() >= 2) { partially evaluated: QTestLog::verboseLevel() >= 2 no Evaluation Count:0 | yes Evaluation Count:21085021 |
| 0-21085021 |
215 | qsnprintf(msg, 1024, "QCOMPARE(%s, %s)", actual, expected); | - |
216 | QTestLog::info(msg, file, line); | - |
217 | } | 0 |
218 | | - |
219 | if (!failureMsg) evaluated: !failureMsg yes Evaluation Count:16 | yes Evaluation Count:21085005 |
| 16-21085005 |
220 | failureMsg = "Compared values are not the same"; executed: failureMsg = "Compared values are not the same"; Execution Count:16 | 16 |
221 | | - |
222 | if (success && QTest::expectFailMode) { evaluated: success yes Evaluation Count:21084848 | yes Evaluation Count:173 |
partially evaluated: QTest::expectFailMode no Evaluation Count:0 | yes Evaluation Count:21084848 |
| 0-21084848 |
223 | qsnprintf(msg, 1024, "QCOMPARE(%s, %s) returned TRUE unexpectedly.", actual, expected); | - |
224 | } else if (val1 || val2) { evaluated: val1 yes Evaluation Count:20971851 | yes Evaluation Count:113171 |
partially evaluated: val2 no Evaluation Count:0 | yes Evaluation Count:113171 |
| 0-20971851 |
225 | qsnprintf(msg, 1024, "%s\n Actual (%s): %s\n Expected (%s): %s", | - |
226 | failureMsg, | - |
227 | actual, val1 ? val1 : "<null>", | - |
228 | expected, val2 ? val2 : "<null>"); | - |
229 | } else executed: } Execution Count:20971850 | 20971850 |
230 | qsnprintf(msg, 1024, "%s", failureMsg); executed: qsnprintf(msg, 1024, "%s", failureMsg); Execution Count:113171 | 113171 |
231 | | - |
232 | delete [] val1; | - |
233 | delete [] val2; | - |
234 | | - |
235 | return checkStatement(success, msg, file, line); executed: return checkStatement(success, msg, file, line); Execution Count:21085022 | 21085022 |
236 | } | - |
237 | | - |
238 | void QTestResult::addFailure(const char *message, const char *file, int line) | - |
239 | { | - |
240 | clearExpectFail(); | - |
241 | | - |
242 | QTestLog::addFail(message, file, line); | - |
243 | QTest::failed = true; | - |
244 | } executed: } Execution Count:221 | 221 |
245 | | - |
246 | void QTestResult::addSkip(const char *message, const char *file, int line) | - |
247 | { | - |
248 | clearExpectFail(); | - |
249 | | - |
250 | QTestLog::addSkip(message, file, line); | - |
251 | } executed: } Execution Count:259 | 259 |
252 | | - |
253 | void QTestResult::setCurrentTestObject(const char *name) | - |
254 | { | - |
255 | QTest::currentTestObjectName = name; | - |
256 | } | 0 |
257 | | - |
258 | const char *QTestResult::currentTestObjectName() | - |
259 | { | - |
260 | return QTest::currentTestObjectName ? QTest::currentTestObjectName : ""; executed: return QTest::currentTestObjectName ? QTest::currentTestObjectName : ""; Execution Count:68594 | 68594 |
261 | } | - |
262 | | - |
263 | void QTestResult::setSkipCurrentTest(bool value) | - |
264 | { | - |
265 | QTest::skipCurrentTest = value; | - |
266 | } executed: } Execution Count:71826 | 71826 |
267 | | - |
268 | bool QTestResult::skipCurrentTest() | - |
269 | { | - |
270 | return QTest::skipCurrentTest; executed: return QTest::skipCurrentTest; Execution Count:136973 | 136973 |
271 | } | - |
272 | | - |
273 | void QTestResult::setCurrentAppname(const char *appname) | - |
274 | { | - |
275 | QTest::currentAppname = appname; | - |
276 | } | 0 |
277 | | - |
278 | const char *QTestResult::currentAppname() | - |
279 | { | - |
280 | return QTest::currentAppname; executed: return QTest::currentAppname; Execution Count:377 | 377 |
281 | } | - |
282 | | - |
283 | | - |
284 | | - |
| | |