kernel32/tests: Add more directory change notification tests.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Dmitry Timoshkov 2018-11-05 13:47:12 +03:00 committed by Alexandre Julliard
parent 689683dfaf
commit c055a274e9
1 changed files with 38 additions and 2 deletions

View File

@ -254,11 +254,12 @@ static void test_FindFirstChangeNotification(void)
static void test_ffcn(void)
{
DWORD filter;
HANDLE handle;
HANDLE handle, file;
LONG r;
WCHAR path[MAX_PATH], subdir[MAX_PATH];
WCHAR path[MAX_PATH], subdir[MAX_PATH], filename[MAX_PATH];
static const WCHAR szBoo[] = { '\\','b','o','o',0 };
static const WCHAR szHoo[] = { '\\','h','o','o',0 };
static const WCHAR szZoo[] = { '\\','z','o','o',0 };
SetLastError(0xdeadbeef);
r = GetTempPathW( MAX_PATH, path );
@ -275,6 +276,9 @@ static void test_ffcn(void)
lstrcpyW( subdir, path );
lstrcatW( subdir, szHoo );
lstrcpyW( filename, path );
lstrcatW( filename, szZoo );
RemoveDirectoryW( subdir );
RemoveDirectoryW( path );
@ -290,6 +294,38 @@ static void test_ffcn(void)
r = WaitForSingleObject( handle, 0 );
ok( r == STATUS_TIMEOUT, "should time out\n");
file = CreateFileW( filename, GENERIC_READ | GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0 );
ok( file != INVALID_HANDLE_VALUE, "CreateFile error %u\n", GetLastError() );
CloseHandle(file);
r = WaitForSingleObject( handle, 0 );
ok( r == WAIT_OBJECT_0, "should be ready\n");
r = WaitForSingleObject( handle, 0 );
ok( r == WAIT_OBJECT_0, "should be ready\n");
r = FindNextChangeNotification(handle);
ok( r == TRUE, "find next failed\n");
r = WaitForSingleObject( handle, 0 );
ok( r == STATUS_TIMEOUT, "should time out\n");
r = DeleteFileW( filename );
ok( r == TRUE, "failed to remove file\n");
r = WaitForSingleObject( handle, 0 );
ok( r == WAIT_OBJECT_0, "should be ready\n");
r = WaitForSingleObject( handle, 0 );
ok( r == WAIT_OBJECT_0, "should be ready\n");
r = FindNextChangeNotification(handle);
ok( r == TRUE, "find next failed\n");
r = WaitForSingleObject( handle, 0 );
ok( r == STATUS_TIMEOUT, "should time out\n");
r = CreateDirectoryW( subdir, NULL );
ok( r == TRUE, "failed to create subdir\n");