tests/wayland: Don't test file sealing on the fallback case

When memfd_create isn't used, the file isn't sealed. Therefore, we
should skip test_readonly_seals on the fallback case. This fixes
compilation error on FreeBSD 12, which does not support memfd_create.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1229
This commit is contained in:
Ting-Wei Lan 2020-05-03 23:35:38 +08:00 committed by Georges Basile Stavracas Neto
parent e073076119
commit 18e7b814f2

View File

@ -27,7 +27,9 @@
#include "wayland-test-client-utils.h"
#if defined(HAVE_MEMFD_CREATE)
#define READONLY_SEALS (F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)
#endif
static const char *teststring = "test string 1234567890";
@ -67,6 +69,7 @@ test_write_fd (int fd,
return TRUE;
}
#if defined(HAVE_MEMFD_CREATE)
static int
test_readonly_seals (int fd)
{
@ -81,6 +84,7 @@ test_readonly_seals (int fd)
return TRUE;
}
#endif
static int
test_write_read (int fd)
@ -224,9 +228,6 @@ main (int argc,
other_fd = meta_anonymous_file_open_fd (file, META_ANONYMOUS_FILE_MAPMODE_PRIVATE);
g_assert (other_fd != -1);
if (test_readonly_seals (fd))
goto fail;
/* Writing and reading the written data should succeed */
if (!test_write_read (fd))
goto fail;
@ -244,9 +245,6 @@ main (int argc,
other_fd = meta_anonymous_file_open_fd (file, META_ANONYMOUS_FILE_MAPMODE_SHARED);
g_assert (other_fd != -1);
if (test_readonly_seals (fd))
goto fail;
if (!test_read_fd_mmap (fd, teststring))
goto fail;