Zebediah Figura : ntoskrnl/tests: Remove some duplicate tests from the netio driver.

Alexandre Julliard julliard at winehq.org
Mon Apr 5 16:28:25 CDT 2021


Module: wine
Branch: master
Commit: 3d3c411d0567d567579c731c090946e061cc2656
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=3d3c411d0567d567579c731c090946e061cc2656

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sun Apr  4 22:36:48 2021 -0500

ntoskrnl/tests: Remove some duplicate tests from the netio driver.

These are already tested in the main driver; there's no need to test them again.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntoskrnl.exe/tests/driver4.c  | 68 +++-----------------------------------
 dlls/ntoskrnl.exe/tests/ntoskrnl.c |  4 ---
 2 files changed, 4 insertions(+), 68 deletions(-)

diff --git a/dlls/ntoskrnl.exe/tests/driver4.c b/dlls/ntoskrnl.exe/tests/driver4.c
index a29ba3b55ab..d2a053e6b7a 100644
--- a/dlls/ntoskrnl.exe/tests/driver4.c
+++ b/dlls/ntoskrnl.exe/tests/driver4.c
@@ -37,19 +37,10 @@
 #include "utils.h"
 
 static DRIVER_OBJECT *driver_obj;
-static DEVICE_OBJECT *lower_device, *upper_device;
-
-static unsigned int create_count, close_count;
+static DEVICE_OBJECT *device_obj;
 
 static const WCHAR driver_link[] = L"\\DosDevices\\WineTestDriver4";
 static const WCHAR device_name[] = L"\\Device\\WineTestDriver4";
-static const WCHAR upper_name[] = L"\\Device\\WineTestUpper4";
-
-static FILE_OBJECT *last_created_file;
-static void *create_caller_thread;
-static PETHREAD create_irp_thread;
-
-static POBJECT_TYPE *pIoDriverObjectType;
 
 static WSK_CLIENT_NPI client_npi;
 static WSK_REGISTRATION registration;
@@ -525,10 +516,6 @@ static NTSTATUS WINAPI driver_iocontrol(DEVICE_OBJECT *device, IRP *irp)
         case IOCTL_WINETEST_MAIN_TEST:
             status = main_test(device, irp, stack);
             break;
-        case IOCTL_WINETEST_DETACH:
-            IoDetachDevice(lower_device);
-            status = STATUS_SUCCESS;
-            break;
         default:
             break;
     }
@@ -543,17 +530,6 @@ static NTSTATUS WINAPI driver_iocontrol(DEVICE_OBJECT *device, IRP *irp)
 
 static NTSTATUS WINAPI driver_create(DEVICE_OBJECT *device, IRP *irp)
 {
-    IO_STACK_LOCATION *irpsp = IoGetCurrentIrpStackLocation( irp );
-    DWORD *context = ExAllocatePool(PagedPool, sizeof(*context));
-
-    last_created_file = irpsp->FileObject;
-    ++create_count;
-    if (context)
-        *context = create_count;
-    irpsp->FileObject->FsContext = context;
-    create_caller_thread = KeGetCurrentThread();
-    create_irp_thread = irp->Tail.Overlay.Thread;
-
     irp->IoStatus.Status = STATUS_SUCCESS;
     IoCompleteRequest(irp, IO_NO_INCREMENT);
     return STATUS_SUCCESS;
@@ -561,13 +537,8 @@ static NTSTATUS WINAPI driver_create(DEVICE_OBJECT *device, IRP *irp)
 
 static NTSTATUS WINAPI driver_close(DEVICE_OBJECT *device, IRP *irp)
 {
-    IO_STACK_LOCATION *stack = IoGetCurrentIrpStackLocation(irp);
-
     netio_uninit();
 
-    ++close_count;
-    if (stack->FileObject->FsContext)
-        ExFreePool(stack->FileObject->FsContext);
     irp->IoStatus.Status = STATUS_SUCCESS;
     IoCompleteRequest(irp, IO_NO_INCREMENT);
     return STATUS_SUCCESS;
@@ -582,17 +553,13 @@ static VOID WINAPI driver_unload(DRIVER_OBJECT *driver)
     RtlInitUnicodeString(&linkW, driver_link);
     IoDeleteSymbolicLink(&linkW);
 
-    IoDeleteDevice(upper_device);
-    IoDeleteDevice(lower_device);
+    IoDeleteDevice(device_obj);
 }
 
 NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
 {
-    static const WCHAR IoDriverObjectTypeW[] = L"IoDriverObjectType";
-    static const WCHAR driver_nameW[] = L"\\Driver\\WineTestDriver4";
     UNICODE_STRING nameW, linkW;
     NTSTATUS status;
-    void *obj;
 
     DbgPrint("Loading driver.\n");
 
@@ -603,41 +570,14 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
     driver->MajorFunction[IRP_MJ_DEVICE_CONTROL]    = driver_iocontrol;
     driver->MajorFunction[IRP_MJ_CLOSE]             = driver_close;
 
-    RtlInitUnicodeString(&nameW, IoDriverObjectTypeW);
-    pIoDriverObjectType = MmGetSystemRoutineAddress(&nameW);
-
-    RtlInitUnicodeString(&nameW, driver_nameW);
-    if ((status = ObReferenceObjectByName(&nameW, 0, NULL, 0, *pIoDriverObjectType, KernelMode, NULL, &obj)))
-        return status;
-    if (obj != driver)
-    {
-        ObDereferenceObject(obj);
-        return STATUS_UNSUCCESSFUL;
-    }
-    ObDereferenceObject(obj);
-
     RtlInitUnicodeString(&nameW, device_name);
     RtlInitUnicodeString(&linkW, driver_link);
 
     if (!(status = IoCreateDevice(driver, 0, &nameW, FILE_DEVICE_UNKNOWN,
-            FILE_DEVICE_SECURE_OPEN, FALSE, &lower_device)))
+            FILE_DEVICE_SECURE_OPEN, FALSE, &device_obj)))
     {
         status = IoCreateSymbolicLink(&linkW, &nameW);
-        lower_device->Flags &= ~DO_DEVICE_INITIALIZING;
-    }
-
-    if (!status)
-    {
-        RtlInitUnicodeString(&nameW, upper_name);
-
-        status = IoCreateDevice(driver, 0, &nameW, FILE_DEVICE_UNKNOWN,
-                FILE_DEVICE_SECURE_OPEN, FALSE, &upper_device);
-    }
-
-    if (!status)
-    {
-        IoAttachDeviceToDeviceStack(upper_device, lower_device);
-        upper_device->Flags &= ~DO_DEVICE_INITIALIZING;
+        device_obj->Flags &= ~DO_DEVICE_INITIALIZING;
     }
 
     return status;
diff --git a/dlls/ntoskrnl.exe/tests/ntoskrnl.c b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
index 1987019a6c5..18f5189e382 100644
--- a/dlls/ntoskrnl.exe/tests/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/tests/ntoskrnl.c
@@ -904,7 +904,6 @@ static void test_driver4(struct testsign_context *ctx)
     WCHAR filename[MAX_PATH];
     SC_HANDLE service;
     HANDLE hthread;
-    DWORD written;
     BOOL ret;
 
     if (!(service = load_driver(ctx, filename, L"driver4.dll", L"WineTestDriver4")))
@@ -923,9 +922,6 @@ static void test_driver4(struct testsign_context *ctx)
     main_test();
     WaitForSingleObject(hthread, INFINITE);
 
-    ret = DeviceIoControl(device, IOCTL_WINETEST_DETACH, NULL, 0, NULL, 0, &written, NULL);
-    ok(ret, "DeviceIoControl failed: %u\n", GetLastError());
-
     CloseHandle(device);
 
     unload_driver(service);




More information about the wine-cvs mailing list