MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / CheckForDesiredMsg

Method CheckForDesiredMsg

tests/framework/error_monitor.cpp:259–320  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

257}
258
259VkBool32 ErrorMonitor::CheckForDesiredMsg(const char* vuid, const char* const msg_string) {
260 VkBool32 result = VK_FALSE;
261 auto guard = Lock();
262 if (bailout_ != nullptr) {
263 *bailout_ = true;
264 }
265 std::string error_string(msg_string);
266 bool found_expected = false;
267
268 if (print_all_errors_) {
269#ifdef VK_USE_PLATFORM_ANDROID_KHR
270 __android_log_print(ANDROID_LOG_INFO, "VulkanLayerValidationTests", "%s", msg_string);
271#else
272 std::cout << error_string;
273#endif
274 }
275
276 if (IgnoreMessage(error_string)) {
277 return result;
278 }
279
280 for (const VuidAndMessage& undesired_message : undesired_messages_) {
281 if (undesired_message.Search(vuid, msg_string)) {
282 }
283 }
284
285 for (size_t desired_message_i = 0; desired_message_i < desired_messages_.size(); ++desired_message_i) {
286 VuidAndMessage& desired_message = desired_messages_[desired_message_i];
287 if (desired_message.SearchUndesiredRegex(msg_string)) {
288 ADD_FAILURE() << "Received undesired error message " << '"' << desired_message.undesired_msg_regex_string << '"'
289 << " in:\n"
290 << error_string;
291 return VK_TRUE;
292 }
293 if (desired_message.Search(vuid, msg_string)) {
294 found_expected = true;
295 failure_message_strings_.emplace_back(error_string);
296 message_found_ = true;
297 result = VK_TRUE;
298 // Remove desired message
299 std::swap(desired_message, desired_messages_[desired_messages_.size() - 1]);
300 desired_messages_.resize(desired_messages_.size() - 1);
301 break;
302 }
303 }
304
305 if (!found_expected) {
306 for (const auto& allowed_msg : allowed_message_strings_) {
307 if (error_string.find(allowed_msg) != std::string::npos) {
308 found_expected = true;
309 break;
310 }
311 }
312 }
313
314 if (!found_expected) {
315 result = VK_TRUE;
316 ADD_FAILURE() << error_string;

Callers 1

DebugCallbackFunction · 0.80

Calls 8

__android_log_printFunction · 0.85
SearchMethod · 0.80
SearchUndesiredRegexMethod · 0.80
emplace_backMethod · 0.80
swapFunction · 0.50
sizeMethod · 0.45
resizeMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected