Module: wine Branch: master Commit: efaa80136194a11d1953297bcc232f101d3c2628 URL: http://source.winehq.org/git/wine.git/?a=commit;h=efaa80136194a11d1953297bcc...
Author: André Hentschel nerv@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);