Bruno Jesus : kernel32/tests: Add more GetTempPath tests.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Feb 24 10:33:24 CST 2015


Module: wine
Branch: master
Commit: 300c2dedac24e2bdab1118edf448959fff918d8f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=300c2dedac24e2bdab1118edf448959fff918d8f

Author: Bruno Jesus <00cpxxx at gmail.com>
Date:   Mon Feb 23 22:41:32 2015 -0300

kernel32/tests: Add more GetTempPath tests.

---

 dlls/kernel32/tests/path.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dlls/kernel32/tests/path.c b/dlls/kernel32/tests/path.c
index 44f14d0..8b07b8f 100644
--- a/dlls/kernel32/tests/path.c
+++ b/dlls/kernel32/tests/path.c
@@ -953,6 +953,14 @@ static void test_GetTempPathA(char* tmp_dir)
     len = GetTempPathA(len, buf);
     ok(lstrcmpiA(buf, tmp_dir) == 0, "expected [%s], got [%s]\n",tmp_dir,buf);
     ok(len == strlen(buf), "returned length should be equal to the length of string\n");
+
+    memset(buf, 'a', sizeof(buf));
+    len = GetTempPathA(sizeof(buf), buf);
+    ok(lstrcmpiA(buf, tmp_dir) == 0, "expected [%s], got [%s]\n",tmp_dir,buf);
+    ok(len == strlen(buf), "returned length should be equal to the length of string\n");
+    /* The rest of the buffer remains untouched */
+    for(len++; len < sizeof(buf); len++)
+        ok(buf[len] == 'a', "expected 'a' at [%d], got 0x%x\n", len, buf[len]);
 }
 
 static void test_GetTempPathW(char* tmp_dir)
@@ -996,6 +1004,16 @@ static void test_GetTempPathW(char* tmp_dir)
     len = GetTempPathW(len, buf);
     ok(lstrcmpiW(buf, tmp_dirW) == 0, "GetTempPathW returned an incorrect temporary path\n");
     ok(len == lstrlenW(buf), "returned length should be equal to the length of string\n");
+
+    for(len = 0; len < sizeof(buf) / sizeof(buf[0]); len++)
+        buf[len] = 'a';
+    len = GetTempPathW(len, buf);
+    ok(lstrcmpiW(buf, tmp_dirW) == 0, "GetTempPathW returned an incorrect temporary path\n");
+    ok(len == lstrlenW(buf), "returned length should be equal to the length of string\n");
+    /* The rest of the buffer must be zeroed */
+    for(len++; len < sizeof(buf) / sizeof(buf[0]); len++)
+        todo_wine
+        ok(buf[len] == '\0', "expected NULL at [%d], got 0x%x\n", len, buf[len]);
 }
 
 static void test_GetTempPath(void)




More information about the wine-cvs mailing list