mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-30 19:48:38 -05:00 
			
		
		
		
	tst: winfsp-tests: add/remove network shares from memfs_start/memfs_stop to properly support test file system
This commit is contained in:
		| @@ -11,6 +11,7 @@ void *memfs_start_ex(ULONG Flags, ULONG FileInfoTimeout) | ||||
| { | ||||
|     if (-1 == Flags) | ||||
|     { | ||||
|         AddNetShareIfNeeded(); | ||||
|         memfs_running = 1; | ||||
|         return 0; | ||||
|     } | ||||
| @@ -38,6 +39,7 @@ void *memfs_start_ex(ULONG Flags, ULONG FileInfoTimeout) | ||||
|     Result = MemfsStart(Memfs); | ||||
|     ASSERT(NT_SUCCESS(Result)); | ||||
|  | ||||
|     AddNetShareIfNeeded(); | ||||
|     memfs_running = 1; | ||||
|  | ||||
|     return Memfs; | ||||
| @@ -50,6 +52,7 @@ void *memfs_start(ULONG Flags) | ||||
|  | ||||
| void memfs_stop(void *data) | ||||
| { | ||||
|     RemoveNetShareIfNeeded(); | ||||
|     memfs_running = 0; | ||||
|  | ||||
|     if (0 == data) | ||||
|   | ||||
| @@ -227,8 +227,11 @@ static VOID DisableBackupRestorePrivileges(VOID) | ||||
|     CloseHandle(Token); | ||||
| } | ||||
|  | ||||
| static VOID AddNetworkShare(VOID) | ||||
| VOID AddNetShareIfNeeded(VOID) | ||||
| { | ||||
|     if (!OptShareName) | ||||
|         return; | ||||
|  | ||||
|     SHARE_INFO_2 ShareInfo = { 0 }; | ||||
|     NET_API_STATUS NetStatus; | ||||
|  | ||||
| @@ -244,6 +247,14 @@ static VOID AddNetworkShare(VOID) | ||||
|         ABORT("cannot add network share"); | ||||
| } | ||||
|  | ||||
| VOID RemoveNetShareIfNeeded(VOID) | ||||
| { | ||||
|     if (!OptShareName) | ||||
|         return; | ||||
|  | ||||
|     NetShareDel(0, OptShareName, 0); | ||||
| } | ||||
|  | ||||
| static void abort_handler(int sig) | ||||
| { | ||||
|     DWORD Error = GetLastError(); | ||||
| @@ -348,9 +359,6 @@ int main(int argc, char *argv[]) | ||||
|  | ||||
|     DisableBackupRestorePrivileges(); | ||||
|  | ||||
|     if (OptShareName) | ||||
|         AddNetworkShare(); | ||||
|  | ||||
|     myrandseed = (unsigned)time(0); | ||||
|  | ||||
|     tlib_run_tests(argc, argv); | ||||
| @@ -360,6 +368,5 @@ int main(int argc, char *argv[]) | ||||
| static void exiting(void) | ||||
| { | ||||
|     OutputDebugStringA("winfsp-tests: exiting\n"); | ||||
|     if (OptShareName) | ||||
|         NetShareDel(0, OptShareName, 0); | ||||
|     RemoveNetShareIfNeeded(); | ||||
| } | ||||
|   | ||||
| @@ -17,6 +17,9 @@ HANDLE HookCreateFileW( | ||||
|     DWORD dwFlagsAndAttributes, | ||||
|     HANDLE hTemplateFile); | ||||
|  | ||||
| VOID AddNetShareIfNeeded(VOID); | ||||
| VOID RemoveNetShareIfNeeded(VOID); | ||||
|  | ||||
| extern int NtfsTests; | ||||
| extern int WinFspDiskTests; | ||||
| extern int WinFspNetTests; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user