Fix unit tests 97/308397/1
authorHwankyu Jhun <h.jhun@samsung.com>
Sun, 24 Mar 2024 23:26:46 +0000 (08:26 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Sun, 24 Mar 2024 23:26:46 +0000 (08:26 +0900)
To remove glib assertion, this patch adds mockup codes related to gio API.

Change-Id: Ib033fc7bd2e596e3eedc7f646652da8e21e086bf
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
unittests/minicontrol_test.cc
unittests/mock/gio_mock.cc
unittests/mock/gio_mock.h

index 412369609e25c99e2abd1e453c49efb7973ffe2d..fb5c832b3528d5d56e8c67f475a1326cf08b4bc7 100644 (file)
@@ -73,14 +73,18 @@ TEST_F(MinicontrolTest, minicontrol_viewer_add) {
 }
 
 TEST_F(MinicontrolTest, minicontrol_viewer_send_event) {
-  GDBusConnection* _conn = (GDBusConnection*)g_object_new(G_TYPE_OBJECT, nullptr);
+  int dummy;
+  GDBusConnection* conn = reinterpret_cast<GDBusConnection*>(&dummy);
 
   EXPECT_CALL(GetMock<GioMock>(),
       g_bus_get_sync(_, _, _)).
-      WillOnce(Return(_conn));
+      WillOnce(Return(conn));
   EXPECT_CALL(GetMock<GioMock>(),
       g_dbus_connection_emit_signal(_, _, _, _, _, _, _)).
       WillOnce(Return(true));
+  EXPECT_CALL(GetMock<GioMock>(),
+      g_object_unref(_))
+      .WillRepeatedly(Return());
 
   Bundle b;
   b.Add("key", "val");
@@ -90,17 +94,24 @@ TEST_F(MinicontrolTest, minicontrol_viewer_send_event) {
 }
 
 TEST_F(MinicontrolTest, minicontrol_viewer_set_event_cb) {
-  GDBusConnection* _conn = (GDBusConnection*)g_object_new(G_TYPE_OBJECT, nullptr);
+  int dummy;
+  GDBusConnection* conn = reinterpret_cast<GDBusConnection*>(&dummy);
 
   EXPECT_CALL(GetMock<GioMock>(),
       g_bus_get_sync(_, _, _)).
-      WillRepeatedly(Return(_conn));
+      WillRepeatedly(Return(conn));
   EXPECT_CALL(GetMock<GioMock>(),
       g_dbus_connection_emit_signal(_, _, _, _, _, _, _)).
       WillRepeatedly(Return(true));
   EXPECT_CALL(GetMock<GioMock>(),
       g_dbus_connection_signal_subscribe(_, _, _, _, _, _, _, _, _, _)).
       WillOnce(Return(1));
+  EXPECT_CALL(GetMock<GioMock>(),
+      g_dbus_connection_signal_unsubscribe(_, _))
+      .WillRepeatedly(Return());
+  EXPECT_CALL(GetMock<GioMock>(),
+      g_object_unref(_))
+      .WillRepeatedly(Return());
 
   int ret = minicontrol_viewer_set_event_cb(__event_cb, nullptr);
   EXPECT_EQ(ret, MINICONTROL_ERROR_NONE);
index 410e5849f658ba01697d7454714c0e3c5d32dd37..2eca1fe422f55eac1b85314e9df3bece3ba623a2 100644 (file)
@@ -45,3 +45,13 @@ extern "C" GDBusConnection* g_bus_get_sync(GBusType arg0,
     GCancellable* arg1, GError** arg2) {
   return MOCK_HOOK_P3(GioMock, g_bus_get_sync, arg0, arg1, arg2);
 }
+
+extern "C" void g_dbus_connection_signal_unsubscribe(
+    GDBusConnection* connection, guint subscription_id) {
+  return MOCK_HOOK_P2(GioMock, g_dbus_connection_signal_unsubscribe, connection,
+      subscription_id);
+}
+
+extern "C" void g_object_unref(gpointer object) {
+  return MOCK_HOOK_P1(GioMock, g_object_unref, object);
+}
index 028dcc9e76c27281cc8088c07babd817c500d32a..6c9d4c989048a246143093167b88b01e11f90f92 100755 (executable)
@@ -37,6 +37,9 @@ class GioMock : public virtual ModuleMock {
           const gchar*, GVariant*, GError**));
   MOCK_METHOD3(g_dbus_connection_flush_sync,
       gboolean(GDBusConnection*, GCancellable*, GError**));
+  MOCK_METHOD2(g_dbus_connection_signal_unsubscribe,
+      void(GDBusConnection*, guint));
+  MOCK_METHOD1(g_object_unref, void(gpointer));
 };
 
 #endif  // UNIT_TESTS_MOCK_GIO_MOCK_H_