André Hentschel : fusion/tests: Skip tests when file creation fails.

Alexandre Julliard julliard at winehq.org
Thu Aug 4 12:22:10 CDT 2011


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

Author: André Hentschel <nerv at dawncrow.de>
Date:   Wed Aug  3 20:35:22 2011 +0200

fusion/tests: Skip tests when file creation fails.

---

 dlls/fusion/tests/asmenum.c |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/dlls/fusion/tests/asmenum.c b/dlls/fusion/tests/asmenum.c
index cb6ea3d..a060529 100644
--- a/dlls/fusion/tests/asmenum.c
+++ b/dlls/fusion/tests/asmenum.c
@@ -147,13 +147,15 @@ static BOOL create_full_path(LPCSTR path)
     return ret;
 }
 
-static void create_file_data(LPCSTR name, LPCSTR data, DWORD size)
+static BOOL create_file_data(LPCSTR name, LPCSTR data, DWORD size)
 {
     HANDLE file;
     DWORD written;
 
     file = CreateFileA(name, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
-    ok(file != INVALID_HANDLE_VALUE, "Failure to open file %s\n", name);
+    if (file == INVALID_HANDLE_VALUE)
+        return FALSE;
+
     WriteFile(file, data, strlen(data), &written, NULL);
 
     if (size)
@@ -163,10 +165,9 @@ static void create_file_data(LPCSTR name, LPCSTR data, DWORD size)
     }
 
     CloseHandle(file);
+    return TRUE;
 }
 
-#define create_file(name, size) create_file_data(name, name, size)
-
 static void test_CreateAssemblyEnum(void)
 {
     HRESULT hr;
@@ -409,19 +410,31 @@ static void test_enumerate_name(void)
     CreateDirectoryA(path, NULL);
 
     lstrcatA(path, "\\Wine.dll");
-    create_file(path, 100);
+    if (!create_file_data(path, path, 100))
+    {
+        win_skip("Failed to open file %s, skipping name enumeration tests\n", path);
+        goto done;
+    }
 
     sprintf(path, "%s\\Wine\\1.0.1.2__16a3fcd171e93a8d", gac);
     CreateDirectoryA(path, NULL);
 
     lstrcatA(path, "\\Wine.dll");
-    create_file(path, 100);
+    if (!create_file_data(path, path, 100))
+    {
+        win_skip("Failed to open file %s, skipping name enumeration tests\n", path);
+        goto done;
+    }
 
     sprintf(path, "%s\\Wine\\1.0.1.2__123456789abcdef0", gac);
     CreateDirectoryA(path, NULL);
 
     lstrcatA(path, "\\Wine.dll");
-    create_file(path, 100);
+    if (!create_file_data(path, path, 100))
+    {
+        win_skip("Failed to open file %s, skipping name enumeration tests\n", path);
+        goto done;
+    }
 
     /* test case sensitivity */
     to_widechar(namestr, "wine");
@@ -650,6 +663,7 @@ static void test_enumerate_name(void)
     IAssemblyEnum_Release(asmenum);
     IAssemblyName_Release(asmname);
 
+done:
     sprintf(path, "%s\\Wine\\1.0.0.0__16a3fcd171e93a8d\\Wine.dll", gac);
     DeleteFileA(path);
     sprintf(path, "%s\\Wine\\1.0.1.2__16a3fcd171e93a8d\\Wine.dll", gac);




More information about the wine-cvs mailing list