From: YongHao Hu Subject: [4/4] msvcp120/tests: Add equivalent test. Message-Id: <55084B5F.7040109@gmail.com> Date: Tue, 17 Mar 2015 23:42:23 +0800 --- dlls/msvcp120/tests/msvcp120.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/dlls/msvcp120/tests/msvcp120.c b/dlls/msvcp120/tests/msvcp120.c index 645e10d..1932b26 100644 --- a/dlls/msvcp120/tests/msvcp120.c +++ b/dlls/msvcp120/tests/msvcp120.c @@ -35,6 +35,7 @@ static int (__cdecl *p_xtime_get)(xtime*, int); /* filesystem */ static unsigned long long (*__cdecl p_tr2_sys_file_size)(char const*); +static int (*__cdecl p_tr2_sys_equivalent)(char const*, char const*); static HMODULE msvcp; #define SETNOFAIL(x,y) x = (void*)GetProcAddress(msvcp,y) @@ -56,6 +57,8 @@ static BOOL init(void) SET(p_tr2_sys_file_size, "?_File_size@sys@tr2@std@@YA_KPEBD@Z"); + SET(p_tr2_sys_equivalent, + "?_Equivalent@sys@tr2@std@@YAHPEBD0@Z"); } else { #ifdef __arm__ SET(p__Xtime_diff_to_millis2, @@ -65,6 +68,8 @@ static BOOL init(void) SET(p_tr2_sys_file_size, "?_File_size@sys@tr2@std@@YA_KPBD@Z"); + SET(p_tr2_sys_equivalent, + "?_Equivalent@sys@tr2@std@@YAHPBD0@Z"); #else SET(p__Xtime_diff_to_millis2, "_Xtime_diff_to_millis2"); @@ -73,6 +78,8 @@ static BOOL init(void) SET(p_tr2_sys_file_size, "?_File_size@sys@tr2@std@@YA_KPBD@Z"); + SET(p_tr2_sys_equivalent, + "?_Equivalent@sys@tr2@std@@YAHPBD0@Z"); #endif } @@ -210,6 +217,31 @@ static void remove_tree(void) rmdir("dir"); } +static void test_tr2_sys_equivalent(void) +{ + BOOL val; + int i; + struct _test_tr2_sys_files { + char const *file_path1; + char const *file_path2; + BOOL equivalent; + } tests[] = { + { "f1", "dir", FALSE }, + { "dir", "f1", FALSE }, + { "d1", "d2", FALSE }, + { "dir", "d2", FALSE }, + { "dir", "dir/d1/..", TRUE }, + { "dir/d1", "dir/d1", TRUE }, + { "dir/f1", "dir/f1", TRUE }, + { "dir/d1/d1f1", "dir/d1/../d1/d1f1", TRUE }, + }; + + for(i=0; i