https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2b92436d8299ded10cc07312888dfb2980f28389
commit 2b92436d8299ded10cc07312888dfb2980f28389 Author: winesync <[email protected]> AuthorDate: Sun Mar 13 19:04:59 2022 +0100 Commit: Mark Jansen <[email protected]> CommitDate: Sun Mar 20 19:28:25 2022 +0100 [WINESYNC] msi/tests: Run the package tests from a temporary directory. Signed-off-by: Hans Leidekker <[email protected]> Signed-off-by: Alexandre Julliard <[email protected]> wine commit id 8503ad172229979e9929e8d54dac546c5b799a03 by Hans Leidekker <[email protected]> --- modules/rostests/winetests/msi/package.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/rostests/winetests/msi/package.c b/modules/rostests/winetests/msi/package.c index ba1b83a6fba..3c547bf04a0 100644 --- a/modules/rostests/winetests/msi/package.c +++ b/modules/rostests/winetests/msi/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); }
