s4-smbtorture: add tests for the size member of spoolss devicemodes.
authorGünther Deschner <gd@samba.org>
Wed, 19 Jan 2011 12:48:17 +0000 (13:48 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 21 Jan 2011 09:58:20 +0000 (10:58 +0100)
Guenther

source4/torture/rpc/spoolss.c

index 8ab4f801e70186f4b3d543410f00262c33a645b3..8f60faba1c1ffdd3fb3f2ed26e81d78893b1fd68 100644 (file)
@@ -2183,11 +2183,15 @@ static bool test_devicemode_full(struct torture_context *tctx,
        const char *devicename;/* [charset(UTF16)] */
        enum spoolss_DeviceModeSpecVersion specversion;
        uint16_t driverversion;
-       uint16_t size;
        uint16_t __driverextra_length;/* [value(r->driverextra_data.length)] */
        uint32_t fields;
 #endif
 
+       TEST_DEVMODE_INT_EXP(8, size,           8, size, __LINE__, WERR_INVALID_PARAM);
+       TEST_DEVMODE_INT_EXP(8, size,           8, size, 0, WERR_INVALID_PARAM);
+       TEST_DEVMODE_INT_EXP(8, size,           8, size, 0xffff, WERR_INVALID_PARAM);
+       TEST_DEVMODE_INT_EXP(8, size,           8, size, ndr_size_spoolss_DeviceMode(devmode_ctr.devmode, 0), WERR_INVALID_PARAM);
+       TEST_DEVMODE_INT(8, size,               8, size, ndr_size_spoolss_DeviceMode(devmode_ctr.devmode, 0) - devmode_ctr.devmode->__driverextra_length);
        TEST_DEVMODE_INT(8, orientation,        8, orientation, __LINE__);
        TEST_DEVMODE_INT(8, papersize,          8, papersize, __LINE__);
        TEST_DEVMODE_INT(8, paperlength,        8, paperlength, __LINE__);