Apply defer macros to callbacks in cynara async client
[platform/core/test/security-tests.git] / src / cynara-tests / common / cynara_test_client_async_status_monitor.cpp
index 2a2e0ae..37e3f3c 100644 (file)
@@ -27,21 +27,23 @@ StatusMonitor::StatusMonitor(const StatusFunction &userFunction)
 
 void StatusMonitor::updateStatus(int oldFd, int newFd, cynara_async_status status, void *data)
 {
-    StatusMonitor *monitor = reinterpret_cast<StatusMonitor*>(data);
-    if (!monitor) {
-        RUNNER_FAIL_MSG("Bad user data (nullptr) in status callback.");
-        return;
-    }
+    RUNNER_DEFER_TRYCATCH(
+        StatusMonitor *monitor = reinterpret_cast<StatusMonitor*>(data);
+        if (!monitor) {
+            RUNNER_FAIL_MSG("Bad user data (nullptr) in status callback.");
+            return;
+        }
 
-    RUNNER_ASSERT_MSG(monitor->m_fd == oldFd,
-                         "fd value mismatch: "
-                             << " last saved fd = " << monitor->m_fd << ","
-                             << " callback oldFd = " << oldFd << ".");
+        RUNNER_ASSERT_MSG(monitor->m_fd == oldFd,
+                             "fd value mismatch: "
+                                 << " last saved fd = " << monitor->m_fd << ","
+                                 << " callback oldFd = " << oldFd << ".");
 
-    monitor->m_fd = newFd;
-    monitor->m_status = status;
-    if (monitor->m_userFunction)
-        monitor->m_userFunction(oldFd, newFd, status);
+        monitor->m_fd = newFd;
+        monitor->m_status = status;
+        if (monitor->m_userFunction)
+            monitor->m_userFunction(oldFd, newFd, status);
+    );
 }
 
 int StatusMonitor::getFd(void) const