[PATCH v2] comdlg32/tests: Avoid test hang by changing current directory.
Bernhard Übelacker
bernhardu at mailbox.org
Sat Jan 8 09:43:46 CST 2022
Signed-off-by: Bernhard Übelacker <bernhardu at mailbox.org>
----
For some reason this does not show up in the daily testbot runs,
but in single test runs after e.g. patch submissions.
v2:
- Removed changes to IFileDialogEvents_fnOnFolderChange.
- Removed some more lines remaining from debugging.
Superseedes: https://source.winehq.org/patches/data/222000
---
dlls/comdlg32/tests/itemdlg.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/dlls/comdlg32/tests/itemdlg.c b/dlls/comdlg32/tests/itemdlg.c
index c38457a0a13..95bd49143fc 100644
--- a/dlls/comdlg32/tests/itemdlg.c
+++ b/dlls/comdlg32/tests/itemdlg.c
@@ -2460,8 +2460,38 @@ static void test_overwrite(void)
IShellItem_Release(psi_current);
}
+static void check_current_directory(void)
+{
+ int ret;
+ HRESULT hr;
+ WCHAR current_dir[MAX_PATH] = {0};
+ WCHAR common_documents[MAX_PATH] = {0};
+
+ ret = GetCurrentDirectoryW(MAX_PATH, current_dir);
+ ok(ret, "GetCurrentDirectoryW failed: GetLastError:0x%08x\n", GetLastError());
+
+ hr = SHGetFolderPathW(NULL, CSIDL_COMMON_DOCUMENTS, NULL, 0, common_documents);
+ ok(hr == S_OK, "SHGetFolderPathW failed: Got 0x%08x\n", hr);
+
+ if (lstrcmpW(current_dir, common_documents) == 0) {
+ hr = SHGetFolderPathW(NULL, CSIDL_MYDOCUMENTS, NULL, 0, current_dir);
+ ok(hr == S_OK, "SHGetFolderPathW failed: Got 0x%08x\n", hr);
+
+ ret = SetCurrentDirectoryW(current_dir);
+ ok(ret, "SetCurrentDirectoryW failed: GetLastError:0x%08x\n", GetLastError());
+
+ trace("Changing directory: %s to %s\n", debugstr_w(common_documents), debugstr_w(current_dir));
+ /* The tests test_filename_opendlg will hang with "File not found",
+ if opened from the public documents directory.
+ This seems to be caused by the test files being created in public documents,
+ but the open dialog searches in my documents. */
+ }
+}
+
START_TEST(itemdlg)
{
+ check_current_directory();
+
OleInitialize(NULL);
init_function_pointers();
--
2.34.1
More information about the wine-devel
mailing list