1 #include <ccan/read_write_all/read_write_all.h>
2 #include <ccan/tap/tap.h>
13 static ssize_t test_write(int fd, const void *buf, size_t count);
14 #define write test_write
15 #include <ccan/read_write_all/read_write_all.c>
18 static ssize_t write_return;
20 static ssize_t test_write(int fd, const void *buf, size_t count)
25 if (write_return == 0) {
30 if (write_return < 0) {
31 errno = -write_return;
32 /* Don't return EINTR more than once! */
38 if (write_return < count)
49 buffer = malloc(BUFSZ);
52 write_return = -ENOSPC;
53 ok1(!write_all(100, buffer, BUFSZ));
56 write_return = -EINTR;
57 ok1(write_all(100, buffer, BUFSZ));
62 ok1(write_all(100, buffer, BUFSZ));
66 ok1(write_all(100, buffer, BUFSZ));