TARGET_LINK_LIBRARIES(${HAL_API_COMMON_UNITTEST} ${hal_api_common_unittest_pkgs_LDFLAGS} ${PROJECT_NAME})
SET_TARGET_PROPERTIES(${HAL_API_COMMON_UNITTEST} PROPERTIES COMPILE_FLAGS "-fPIE -fvisibility=default")
-SET_TARGET_PROPERTIES(${HAL_API_COMMON_UNITTEST} PROPERTIES LINK_FLAGS "-pie")
+SET_TARGET_PROPERTIES(${HAL_API_COMMON_UNITTEST} PROPERTIES LINK_FLAGS "-pie -Wl,--wrap=dlopen -Wl,--wrap=dlclose -Wl,--wrap=dlsym -Wl,--wrap=access")
ADD_TEST(
NAME ${HAL_API_COMMON_UNITTEST}
* dlopen/dlsym/dlclose/access for hooking.By implementing the hooking functions,
* be able to verify the internal logic of hal-api-common functions.
*/
-void *dlopen(const char *filename, int flags) {
+void *__wrap_dlopen(const char *filename, int flags) {
return calloc(1, sizeof(void *));
}
-int dlclose(void *handle) {
+int __wrap_dlclose(void *handle) {
free(handle);
return 0;
}
-void *dlsym(void *handle, const char *symbol) {
+void *__wrap_dlsym(void *handle, const char *symbol) {
return (void *)&hal_backend_module_data;
}
-int access(const char *pathname, int mode) {
+int __wrap_access(const char *pathname, int mode) {
return 0;
}