tests: Refactor wraps into protocol-common.c

Part of refactoring the tests into a single binary,
to make partial rebuild slightly faster and less verbose.

Prepares for joining test/xi2/protocol-* into a single binary.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
This commit is contained in:
Mihail Konev
2017-01-12 13:21:07 +05:00
committed by Adam Jackson
parent 45546219e1
commit ff66bca3e8
15 changed files with 70 additions and 136 deletions

View File

@@ -284,3 +284,40 @@ __wrap_WriteToClient(ClientPtr client, int len, void *data)
(*reply_handler) (client, len, data, global_userdata);
}
/* dixLookupWindow requires a lot of setup not necessary for this test.
* Simple wrapper that returns either one of the fake root window or the
* fake client window. If the requested ID is neither of those wanted,
* return whatever the real dixLookupWindow does.
*/
int
__wrap_dixLookupWindow(WindowPtr *win, XID id, ClientPtr client, Mask access)
{
if (id == root.drawable.id) {
*win = &root;
return Success;
}
else if (id == window.drawable.id) {
*win = &window;
return Success;
}
return __real_dixLookupWindow(win, id, client, access);
}
extern ClientRec client_window;
int
__wrap_dixLookupClient(ClientPtr *pClient, XID rid, ClientPtr client,
Mask access)
{
if (rid == ROOT_WINDOW_ID)
return BadWindow;
if (rid == CLIENT_WINDOW_ID) {
*pClient = &client_window;
return Success;
}
return __real_dixLookupClient(pClient, rid, client, access);
}