diff options
-rw-r--r-- | tests/core/test_strcmp_uni.out | 6 | ||||
-rw-r--r-- | tests/test_core.py | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/tests/core/test_strcmp_uni.out b/tests/core/test_strcmp_uni.out index 58e237d7..ebfe2c8e 100644 --- a/tests/core/test_strcmp_uni.out +++ b/tests/core/test_strcmp_uni.out @@ -1,3 +1,3 @@ -Compare value strncmp is -1 -Compare value strncasecmp is -1 -Compare value memcmp is -1 +Compare value strncmp is -108 +Compare value strncasecmp is -76 +Compare value memcmp is -108 diff --git a/tests/test_core.py b/tests/test_core.py index 55aeb697..eda5c8ff 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -3258,6 +3258,7 @@ def process(filename): #include <assert.h> #include <stdio.h> #include <dlfcn.h> + #include <string.h> typedef int (*FUNCTYPE)(const char *); @@ -3268,6 +3269,10 @@ def process(filename): snprintf(str, sizeof(str), "foobar"); + // HACK: Use strcmp in the main executable so that it doesn't get optimized out and the dynamic library + // is able to use it. + assert(!strcmp(str, "foobar")); + lib_handle = dlopen("liblib.so", RTLD_NOW); assert(lib_handle != NULL); @@ -3280,7 +3285,7 @@ def process(filename): return 0; } ''' - Settings.EXPORTED_FUNCTIONS = ['_main', '_malloc'] + Settings.EXPORTED_FUNCTIONS = ['_main', '_malloc', '_strcmp'] self.do_run(src, 'success', force_c=True, post_build=self.dlfcn_post_build) def test_dlfcn_funcs(self): |