James Hawkins : msi: Set the file contents of the file hash test file explicitly.

Alexandre Julliard julliard at winehq.org
Mon Nov 26 08:16:17 CST 2007


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

Author: James Hawkins <truiken at gmail.com>
Date:   Sun Nov 25 18:00:14 2007 -0600

msi: Set the file contents of the file hash test file explicitly.

---

 dlls/msi/tests/install.c |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c
index b8817d9..34fc126 100644
--- a/dlls/msi/tests/install.c
+++ b/dlls/msi/tests/install.c
@@ -557,7 +557,7 @@ static const CHAR mc_media_dat[] = "DiskId\tLastSequence\tDiskPrompt\tCabinet\tV
 static const CHAR mc_file_hash_dat[] = "File_\tOptions\tHashPart1\tHashPart2\tHashPart3\tHashPart4\n"
                                        "s72\ti2\ti4\ti4\ti4\ti4\n"
                                        "MsiFileHash\tFile_\n"
-                                       "caesar\t0\t1477005400\t-2141257985\t284379198\t21485139";
+                                       "caesar\t0\t850433704\t-241429251\t675791761\t-1221108824";
 
 typedef struct _msi_table
 {
@@ -1100,24 +1100,26 @@ static BOOL get_program_files_dir(LPSTR buf, LPSTR buf2)
     return TRUE;
 }
 
-static void create_file(const CHAR *name, DWORD size)
+static void create_file_data(LPCSTR name, LPCSTR data, DWORD size)
 {
     HANDLE file;
-    DWORD written, left;
+    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);
-    WriteFile(file, name, strlen(name), &written, NULL);
-    WriteFile(file, "\n", strlen("\n"), &written, NULL);
+    WriteFile(file, data, strlen(data), &written, NULL);
 
-    left = size - lstrlen(name) - 1;
+    if (size)
+    {
+        SetFilePointer(file, size, NULL, FILE_BEGIN);
+        SetEndOfFile(file);
+    }
 
-    SetFilePointer(file, left, NULL, FILE_CURRENT);
-    SetEndOfFile(file);
-    
     CloseHandle(file);
 }
 
+#define create_file(name, size) create_file_data(name, name, size)
+
 static void create_test_files(void)
 {
     CreateDirectoryA("msitest", NULL);
@@ -3286,7 +3288,7 @@ static void test_adminprops(void)
     RemoveDirectory("msitest");
 }
 
-static void create_pf(LPCSTR file, BOOL is_file)
+static void create_pf_data(LPCSTR file, LPCSTR data, BOOL is_file)
 {
     CHAR path[MAX_PATH];
 
@@ -3295,11 +3297,13 @@ static void create_pf(LPCSTR file, BOOL is_file)
     lstrcatA(path, file);
 
     if (is_file)
-        create_file(path, 500);
+        create_file_data(path, data, 500);
     else
         CreateDirectoryA(path, NULL);
 }
 
+#define create_pf(file, is_file) create_pf_data(file, file, is_file)
+
 static void test_removefiles(void)
 {
     UINT r;
@@ -3533,7 +3537,7 @@ static void test_missingcab(void)
     create_cab_file("test1.cab", MEDIA_SIZE, "maximus\0");
 
     create_pf("msitest", FALSE);
-    create_pf("msitest\\caesar", TRUE);
+    create_pf_data("msitest\\caesar", "abcdefgh", TRUE);
 
     r = MsiInstallProductA(msifile, NULL);
     todo_wine
@@ -3547,7 +3551,7 @@ static void test_missingcab(void)
     ok(delete_pf("msitest", FALSE), "File not installed\n");
 
     create_pf("msitest", FALSE);
-    create_pf("msitest\\caesar", TRUE);
+    create_pf_data("msitest\\caesar", "abcdefgh", TRUE);
     create_pf("msitest\\gaius", TRUE);
 
     r = MsiInstallProductA(msifile, "GAIUS=1");




More information about the wine-cvs mailing list