diff --git a/src/test/test-sigbus.c b/src/test/test-sigbus.c index 02b8e24308..7a4a8a6636 100644 --- a/src/test/test-sigbus.c +++ b/src/test/test-sigbus.c @@ -22,6 +22,9 @@ #include "fd-util.h" #include "sigbus.h" #include "util.h" +#ifdef HAVE_VALGRIND_VALGRIND_H +#include +#endif int main(int argc, char *argv[]) { _cleanup_close_ int fd = -1; @@ -29,6 +32,11 @@ int main(int argc, char *argv[]) { void *addr = NULL; uint8_t *p; +#ifdef HAVE_VALGRIND_VALGRIND_H + if (RUNNING_ON_VALGRIND) + return EXIT_TEST_SKIP; +#endif + #ifdef __SANITIZE_ADDRESS__ return EXIT_TEST_SKIP; #endif @@ -38,7 +46,7 @@ int main(int argc, char *argv[]) { assert_se((fd = mkostemp(template, O_RDWR|O_CREAT|O_EXCL)) >= 0); assert_se(unlink(template) >= 0); - assert_se(fallocate(fd, 0, 0, page_size() * 8) >= 0); + assert_se(posix_fallocate(fd, 0, page_size() * 8) >= 0); p = mmap(NULL, page_size() * 16, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); assert_se(p != MAP_FAILED);