mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 14:04:07 +00:00
comdlg32/tests: Fix itemdlg tests on Windows.
The wine testbot runs tests with C:\Users\Public\Documents as the working directory. Itemdlg tests create test files in the working directory and then try to select them for opening in an IFileOpenDialog. The dialog has its SetFolder method called to point it to the current working directory before showing the dialog, in order for the test code to find the test files it had created there just before opening the dialog. On Windows, this failed because calling the dialog's SetFolder method with C:\Users\Public\Documents doesn't work as expected. The dialog points to the C:\Users\[CURRENT_USER]\Documents directory instead. Subsequently, the test would be unable to select the test file because it doesn't exist in that directory. So the dialog wouldn't accept the file and close itself to finish the test, but show an error message instead, resulting in a test timeout. To fix this, set the current working directory to the temporary directory before calling individual itemdlg test_* functions.
This commit is contained in:
parent
1d9de16091
commit
4e167e7e1e
|
@ -2467,6 +2467,16 @@ START_TEST(itemdlg)
|
|||
|
||||
if(test_instantiation())
|
||||
{
|
||||
DWORD result_tmpdir;
|
||||
BOOL result_set_dir;
|
||||
WCHAR tmpdir[MAX_PATH];
|
||||
|
||||
/* Windows refuses to open a dialog for C:\Users\Public\Documents, so change to tmp */
|
||||
result_tmpdir = GetTempPathW(MAX_PATH, tmpdir);
|
||||
ok(result_tmpdir != 0, "got %ld\n", result_tmpdir);
|
||||
result_set_dir = SetCurrentDirectoryW(tmpdir);
|
||||
ok(result_set_dir, "failed to set dir\n");
|
||||
|
||||
test_basics();
|
||||
test_advise();
|
||||
test_events();
|
||||
|
|
Loading…
Reference in a new issue