1 /* $Id: pwrite-t.c 5379 2002-03-31 21:45:12Z rra $ */
2 /* pwrite test suite. */
10 #include "inn/messages.h"
13 ssize_t test_pwrite(int fd, const void *buf, size_t nbyte, off_t offset);
18 unsigned char buf[256], result[256];
23 for (c = 0, i = 0; i < 256; i++, c++)
25 fd = open(".testout", O_RDWR | O_CREAT | O_TRUNC, 0644);
27 sysdie("Can't create .testout");
28 if (unlink(".testout") < 0)
29 sysdie("Can't unlink .testout");
30 memset(result, 0, sizeof(result));
34 ok(1, test_pwrite(fd, buf + 129, 127, 129) == 127);
35 ok(2, write(fd, buf, 64) == 64);
36 ok(3, test_pwrite(fd, buf + 64, 65, 64) == 65);
37 status = read(fd, result, 64);
38 ok(4, (status == 64) && !memcmp(result, buf + 64, 64));
40 if (lseek(fd, 0, SEEK_SET) == (off_t) -1)
41 sysdie("Can't rewind .testout");
42 status = read(fd, result, 256);
43 ok(5, (status == 256) && !memcmp(result, buf, 256));
47 status = test_pwrite(20, result, 1, 0);
48 ok(6, (status == -1) && (errno == EBADF));