mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 03:44:06 +00:00
test: Fix xsync test
The xsync test is relying on the values being changed even in the case of a BadMatch value. Typically, it updates the delta but does not update the test type comparison, so when passing a negative value, it generates a BadMatch. That's actually not correct, and that will fail with the new fixes that check the validity of the values prior to apply the changes. Fix the test by updating the test type as needed. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1835>
This commit is contained in:
@@ -260,9 +260,13 @@ test_change_alarm_delta(xcb_connection_t *c)
|
||||
xcb_sync_create_alarm(c, alarm, 0, NULL);
|
||||
|
||||
for (int i = 0; i < ARRAY_SIZE(some_values); i++) {
|
||||
uint32_t values[] = { some_values[i] >> 32, some_values[i] };
|
||||
uint32_t mask = XCB_SYNC_CA_TEST_TYPE | XCB_SYNC_CA_DELTA;
|
||||
uint32_t test_type = (some_values[i] >= 0 ?
|
||||
XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON :
|
||||
XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON);
|
||||
uint32_t values[] = { test_type, some_values[i] >> 32, some_values[i] };
|
||||
|
||||
xcb_sync_change_alarm(c, alarm, XCB_SYNC_CA_DELTA, values);
|
||||
xcb_sync_change_alarm(c, alarm, mask, values);
|
||||
queries[i] = xcb_sync_query_alarm_unchecked(c, alarm);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user