X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flibsystemd-bus%2Ftest-bus-memfd.c;h=b9d6a250c36b17ac25b049e2e917d3134e24f0e5;hp=3300470e0fcabe2dc4b7dbc3ac266682fda1e51b;hb=872c8faaf2009422a91d227ae0b5c6f04c9d2c69;hpb=8573e652d9ca9bd1fe90e80d5a6637d390758833 diff --git a/src/libsystemd-bus/test-bus-memfd.c b/src/libsystemd-bus/test-bus-memfd.c index 3300470e0..b9d6a250c 100644 --- a/src/libsystemd-bus/test-bus-memfd.c +++ b/src/libsystemd-bus/test-bus-memfd.c @@ -20,6 +20,7 @@ ***/ #include +#include #include "log.h" #include "macro.h" @@ -49,7 +50,7 @@ int main(int argc, char *argv[]) { strcpy(s, "----- world"); r = sd_memfd_set_sealed(m, 1); - assert_se(r == -EPERM); + assert_se(r == -ETXTBSY); assert_se(write(sd_memfd_get_fd(m), "he", 2) == 2); assert_se(write(sd_memfd_get_fd(m), "XXX", 3) == 3); @@ -101,7 +102,7 @@ int main(int argc, char *argv[]) { /* we did truncate it to 6 */ r = sd_memfd_get_size(m, &sz); - assert_se(sz == 6); + assert_se(r >= 0 && sz == 6); /* map it, check content */ r = sd_memfd_map(m, 0, 12, (void **)&s); @@ -116,7 +117,7 @@ int main(int argc, char *argv[]) { /* we cannot break the seal, it is mapped */ r = sd_memfd_set_sealed(m, 0); - assert_se(r == -EPERM); + assert_se(r == -ETXTBSY); /* unmap it; become the single owner */ assert_se(munmap(s, 12) == 0); @@ -151,8 +152,7 @@ int main(int argc, char *argv[]) { iov[1].iov_len = 3; iov[2].iov_base = (char *)"GHI"; iov[2].iov_len = 3; - assert_se(lseek(fd, 0, SEEK_SET) == 0); - assert_se(writev(fd, iov, 3) == 9); + assert_se(pwritev(fd, iov, 3, 0) == 9); /* readv it back */ iov[0].iov_base = bufv[0]; @@ -161,8 +161,7 @@ int main(int argc, char *argv[]) { iov[1].iov_len = 3; iov[2].iov_base = bufv[2]; iov[2].iov_len = 3; - assert_se(lseek(fd, 0, SEEK_SET) == 0); - assert_se(readv(fd, iov, 3) == 9); + assert_se(preadv(fd, iov, 3, 0) == 9); /* check content */ assert_se(memcmp(bufv[0], "ABC", 3) == 0);