[PATCH 4/4] kernel32/tests: Add a IOCTL_DVD_READ_STRUCTURE (DvdCopyrightDescriptor) test

Alexandre Goujon ale.goujon at gmail.com
Sun Jun 10 12:53:11 CDT 2012


---
 dlls/kernel32/tests/cdrom.c |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/dlls/kernel32/tests/cdrom.c b/dlls/kernel32/tests/cdrom.c
index e9be46b..369dd4a 100644
--- a/dlls/kernel32/tests/cdrom.c
+++ b/dlls/kernel32/tests/cdrom.c
@@ -60,6 +60,7 @@ static void test_dvd_read_structure(HANDLE handle)
     DVD_READ_STRUCTURE dvdReadStructure;
     DVD_LAYER_DESCRIPTOR dvdLayerDescriptor;
     struct COMPLETE_DVD_LAYER_DESCRIPTOR completeDvdLayerDescriptor;
+    DVD_COPYRIGHT_DESCRIPTOR dvdCopyrightDescriptor;
 
     dvdReadStructure.BlockByteOffset.QuadPart = 0;
     dvdReadStructure.SessionId = 0;
@@ -129,6 +130,25 @@ static void test_dvd_read_structure(HANDLE handle)
         ok( (!ret && GetLastError() == ERROR_INVALID_PARAMETER),
             "IOCTL_DVD_READ_STRUCTURE should have failed\n");
     }
+
+
+    /* DvdCopyrightDescriptor */
+    dvdReadStructure.Format = 1;
+
+    SetLastError(0xdeadbeef);
+
+    ret = DeviceIoControl(handle, IOCTL_DVD_READ_STRUCTURE, &dvdReadStructure, sizeof(DVD_READ_STRUCTURE),
+        NULL, sizeof(DVD_COPYRIGHT_DESCRIPTOR), &nbBytes, NULL);
+    ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "IOCTL_DVD_READ_STRUCTURE should have failed %d %u\n", ret, GetLastError());
+
+    for(i=0; i<sizeof(DVD_COPYRIGHT_DESCRIPTOR); i++)
+    {
+        SetLastError(0xdeadbeef);
+
+        ret = DeviceIoControl(handle, IOCTL_DVD_READ_STRUCTURE, &dvdReadStructure, sizeof(DVD_READ_STRUCTURE),
+            &dvdCopyrightDescriptor, i, &nbBytes, NULL);
+        ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "IOCTL_DVD_READ_STRUCTURE should have failed %d %u\n", ret, GetLastError());
+    }
 }
 
 START_TEST(cdrom)
-- 
1.7.9.5




More information about the wine-patches mailing list