mirror of
https://gitlab.freedesktop.org/emersion/libliftoff.git
synced 2024-12-27 21:59:24 +01:00
test: add a test with a zero FB_ID
References: 53a7bfebc9
("Don't allocate planes for layers without a FB")
This commit is contained in:
parent
71200724c5
commit
7286146341
2 changed files with 11 additions and 4 deletions
|
@ -25,6 +25,7 @@ tests = {
|
||||||
'alloc': [
|
'alloc': [
|
||||||
'basic',
|
'basic',
|
||||||
'no-props',
|
'no-props',
|
||||||
|
'zero-fb-id',
|
||||||
'empty',
|
'empty',
|
||||||
'simple-1x',
|
'simple-1x',
|
||||||
'simple-1x-fail',
|
'simple-1x-fail',
|
||||||
|
|
|
@ -712,9 +712,9 @@ static void test_basic(void)
|
||||||
close(drm_fd);
|
close(drm_fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Checks the library doesn't segfault when a layer is added without any
|
/* Checks that the library doesn't allocate a plane for a layer without a
|
||||||
* property set. */
|
* non-zero FB_ID set. */
|
||||||
static void test_no_props(void)
|
static void test_no_fb(bool zero_fb_id)
|
||||||
{
|
{
|
||||||
struct liftoff_mock_plane *mock_plane;
|
struct liftoff_mock_plane *mock_plane;
|
||||||
int drm_fd;
|
int drm_fd;
|
||||||
|
@ -732,6 +732,9 @@ static void test_no_props(void)
|
||||||
|
|
||||||
output = liftoff_output_create(device, liftoff_mock_drm_crtc_id);
|
output = liftoff_output_create(device, liftoff_mock_drm_crtc_id);
|
||||||
layer = liftoff_layer_create(output);
|
layer = liftoff_layer_create(output);
|
||||||
|
if (zero_fb_id) {
|
||||||
|
liftoff_layer_set_property(layer, "FB_ID", 0);
|
||||||
|
}
|
||||||
|
|
||||||
liftoff_mock_plane_add_compatible_layer(mock_plane, layer);
|
liftoff_mock_plane_add_compatible_layer(mock_plane, layer);
|
||||||
|
|
||||||
|
@ -761,7 +764,10 @@ int main(int argc, char *argv[]) {
|
||||||
test_basic();
|
test_basic();
|
||||||
return 0;
|
return 0;
|
||||||
} else if (strcmp(test_name, "no-props") == 0) {
|
} else if (strcmp(test_name, "no-props") == 0) {
|
||||||
test_no_props();
|
test_no_fb(false);
|
||||||
|
return 0;
|
||||||
|
} else if (strcmp(test_name, "zero-fb-id") == 0) {
|
||||||
|
test_no_fb(true);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue