Hans Leidekker : msi/tests: Run the package tests from a temporary directory.

Alexandre Julliard julliard at winehq.org
Tue Oct 29 17:41:47 CDT 2019


Module: wine
Branch: master
Commit: 8503ad172229979e9929e8d54dac546c5b799a03
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=8503ad172229979e9929e8d54dac546c5b799a03

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Oct 29 10:58:43 2019 +0100

msi/tests: Run the package tests from a temporary directory.

Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/tests/package.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c
index ba1b83a6fb..3c547bf04a 100644
--- a/dlls/msi/tests/package.c
+++ b/dlls/msi/tests/package.c
@@ -9640,15 +9640,25 @@ static void test_top_level_action(void)
 
 START_TEST(package)
 {
+    char temp_path[MAX_PATH], prev_path[MAX_PATH];
     STATEMGRSTATUS status;
     BOOL ret = FALSE;
+    DWORD len;
 
     init_functionpointers();
 
     if (pIsWow64Process)
         pIsWow64Process(GetCurrentProcess(), &is_wow64);
 
-    GetCurrentDirectoryA(MAX_PATH, CURR_DIR);
+    GetCurrentDirectoryA(MAX_PATH, prev_path);
+    GetTempPathA(MAX_PATH, temp_path);
+    SetCurrentDirectoryA(temp_path);
+
+    lstrcpyA(CURR_DIR, temp_path);
+    len = lstrlenA(CURR_DIR);
+
+    if (len && (CURR_DIR[len - 1] == '\\'))
+        CURR_DIR[len - 1] = 0;
 
     /* Create a restore point ourselves so we circumvent the multitude of restore points
      * that would have been created by all the installation and removal tests.
@@ -9706,4 +9716,6 @@ START_TEST(package)
         if (ret)
             remove_restore_point(status.llSequenceNumber);
     }
+
+    SetCurrentDirectoryA(prev_path);
 }




More information about the wine-cvs mailing list