Add REQUEST_FIXED_SIZE testcases to test/misc.c

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Alan Coopersmith 2014-02-09 22:42:47 -08:00
parent 2df83bb122
commit f4afd53f2a
1 changed files with 37 additions and 0 deletions

View File

@ -28,6 +28,8 @@
#include <stdint.h>
#include "misc.h"
#include "scrnintstr.h"
#include "dix.h"
#include "dixstruct.h"
ScreenInfo screenInfo;
@ -155,11 +157,46 @@ dix_update_desktop_dimensions(void)
assert_dimensions(-w2, -h2, w2, h2);
}
static int
dix_request_fixed_size_overflow(ClientRec *client)
{
xReq req = { 0 };
client->req_len = req.length = 1;
REQUEST_FIXED_SIZE(req, SIZE_MAX);
return Success;
}
static int
dix_request_fixed_size_match(ClientRec *client)
{
xReq req = { 0 };
client->req_len = req.length = 9;
REQUEST_FIXED_SIZE(req, 30);
return Success;
}
static void
dix_request_size_checks(void)
{
ClientRec client = { 0 };
int rc;
rc = dix_request_fixed_size_overflow(&client);
assert(rc == BadLength);
rc = dix_request_fixed_size_match(&client);
assert(rc == Success);
}
int
main(int argc, char **argv)
{
dix_version_compare();
dix_update_desktop_dimensions();
dix_request_size_checks();
return 0;
}