From b9ce8cdcd39f8811f5fdc7c07d2ae69d8dc0740d Mon Sep 17 00:00:00 2001 From: LIU Hao Date: Wed, 25 Sep 2024 16:45:26 +0800 Subject: [PATCH] test/mix: Add minimal DLL --- test/mix.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/test/mix.c b/test/mix.c index a148ccc53..cc406e0a9 100644 --- a/test/mix.c +++ b/test/mix.c @@ -20,33 +20,45 @@ main(void) // load functions from dll wchar_t dll_name[100]; swprintf(dll_name, 100, L"libmcfgthread-%d.dll", _MCF_ABI_VERSION_MAJOR); - HMODULE dll = LoadLibraryW(dll_name); - assert(dll); + HMODULE pdll = LoadLibraryW(dll_name); + assert(pdll); + swprintf(dll_name, 100, L"libmcfgthread-minimal-%d.dll", _MCF_ABI_VERSION_MAJOR); + HMODULE mdll = LoadLibraryW(dll_name); + assert(mdll); - typedef __typeof__(_MCF_tls_get) pdll_tls_get_fn; - pdll_tls_get_fn* pdll_tls_get = (pdll_tls_get_fn*)(INT_PTR) GetProcAddress(dll, "_MCF_tls_get"); + typedef __typeof__(_MCF_tls_get) tls_get_fn; + tls_get_fn* pdll_tls_get = (tls_get_fn*)(INT_PTR) GetProcAddress(pdll, "_MCF_tls_get"); assert(pdll_tls_get); assert(pdll_tls_get != _MCF_tls_get); + tls_get_fn* mdll_tls_get = (tls_get_fn*)(INT_PTR) GetProcAddress(mdll, "_MCF_tls_get"); + assert(mdll_tls_get); + assert(mdll_tls_get != _MCF_tls_get); - typedef __typeof__(_MCF_tls_xset) pdll_tls_xset_fn; - pdll_tls_xset_fn* pdll_tls_xset = (pdll_tls_xset_fn*)(INT_PTR) GetProcAddress(dll, "_MCF_tls_xset"); + typedef __typeof__(_MCF_tls_xset) tls_xset_fn; + tls_xset_fn* pdll_tls_xset = (tls_xset_fn*)(INT_PTR) GetProcAddress(pdll, "_MCF_tls_xset"); assert(pdll_tls_xset); assert(pdll_tls_xset != _MCF_tls_xset); + tls_xset_fn* mdll_tls_xset = (tls_xset_fn*)(INT_PTR) GetProcAddress(mdll, "_MCF_tls_xset"); + assert(mdll_tls_xset); + assert(mdll_tls_xset != _MCF_tls_xset); // use common key _MCF_tls_key* key = _MCF_tls_key_new(__MCF_nullptr); assert(key); assert(_MCF_tls_get(key) == __MCF_nullptr); assert(pdll_tls_get(key) == __MCF_nullptr); + assert(mdll_tls_get(key) == __MCF_nullptr); int dummy1; _MCF_tls_xset(key, __MCF_nullptr, &dummy1); assert(_MCF_tls_get(key) == &dummy1); assert(pdll_tls_get(key) == &dummy1); + assert(mdll_tls_get(key) == &dummy1); int dummy2; pdll_tls_xset(key, __MCF_nullptr, &dummy2); assert(_MCF_tls_get(key) == &dummy2); assert(pdll_tls_get(key) == &dummy2); + assert(mdll_tls_get(key) == &dummy2); #endif }