Fix gcov build fail issue 11/259611/5
authorChanggyu Choi <changyu.choi@samsung.com>
Thu, 10 Jun 2021 07:40:15 +0000 (16:40 +0900)
committerChanggyu Choi <changyu.choi@samsung.com>
Thu, 10 Jun 2021 07:54:18 +0000 (07:54 +0000)
mkdir is used after unittest.
So it should operates well.

Change-Id: I6300aee51387d7b71c7213c4deaf90cae54f1ffa
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
test/unit_tests/CMakeLists.txt
test/unit_tests/mock/os_mock.cc

index 79e009b..cfe9de7 100644 (file)
@@ -35,7 +35,7 @@ APPLY_PKG_CONFIG(${TARGET_AUL_UNIT_TESTS} PUBLIC
   XDGMIME_DEPS
 )
 
-TARGET_LINK_LIBRARIES(${TARGET_AUL_UNIT_TESTS} PUBLIC ${TARGET_AUL})
+TARGET_LINK_LIBRARIES(${TARGET_AUL_UNIT_TESTS} PUBLIC ${TARGET_AUL} "-ldl")
 SET_TARGET_PROPERTIES(${TARGET_AUL_UNIT_TESTS} PROPERTIES COMPILE_FLAGS "-fPIE")
 SET_TARGET_PROPERTIES(${TARGET_AUL_UNIT_TESTS} PROPERTIES LINK_FLAGS "-pie")
 
index 0758acd..0992776 100644 (file)
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+#include <dlfcn.h>
 #include <glib.h>
 
 #include "mock/mock_hook.h"
 #include "mock/test_fixture.h"
 
 extern "C" int mkdir(const char* path, mode_t mode) {
-  return MOCK_HOOK_P2(OsMock, mkdir, path, mode);
+  auto o_mkdir = reinterpret_cast<decltype(mkdir)*>(dlsym(RTLD_NEXT, "mkdir"));
+  if (o_mkdir != nullptr)
+    o_mkdir(path, mode);
+  return 0;
 }
 
 extern "C" int close(int fd) {