Commit c055a274 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

kernel32/tests: Add more directory change notification tests.

parent 689683df
...@@ -254,11 +254,12 @@ static void test_FindFirstChangeNotification(void) ...@@ -254,11 +254,12 @@ static void test_FindFirstChangeNotification(void)
static void test_ffcn(void) static void test_ffcn(void)
{ {
DWORD filter; DWORD filter;
HANDLE handle; HANDLE handle, file;
LONG r; 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 szBoo[] = { '\\','b','o','o',0 };
static const WCHAR szHoo[] = { '\\','h','o','o',0 }; static const WCHAR szHoo[] = { '\\','h','o','o',0 };
static const WCHAR szZoo[] = { '\\','z','o','o',0 };
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
r = GetTempPathW( MAX_PATH, path ); r = GetTempPathW( MAX_PATH, path );
...@@ -275,6 +276,9 @@ static void test_ffcn(void) ...@@ -275,6 +276,9 @@ static void test_ffcn(void)
lstrcpyW( subdir, path ); lstrcpyW( subdir, path );
lstrcatW( subdir, szHoo ); lstrcatW( subdir, szHoo );
lstrcpyW( filename, path );
lstrcatW( filename, szZoo );
RemoveDirectoryW( subdir ); RemoveDirectoryW( subdir );
RemoveDirectoryW( path ); RemoveDirectoryW( path );
...@@ -290,6 +294,38 @@ static void test_ffcn(void) ...@@ -290,6 +294,38 @@ static void test_ffcn(void)
r = WaitForSingleObject( handle, 0 ); r = WaitForSingleObject( handle, 0 );
ok( r == STATUS_TIMEOUT, "should time out\n"); 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 ); r = CreateDirectoryW( subdir, NULL );
ok( r == TRUE, "failed to create subdir\n"); ok( r == TRUE, "failed to create subdir\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment