]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blobdiff - tests/example.h
tests: Check return values of write() and dup2().
[coloredstderr/coloredstderr.git] / tests / example.h
index facbc30d5b4660170981751fb0fc92f0ffc9d52f..7c27c5aa62ace74b330d2e84b778ab8d74760da3 100644 (file)
         } \
         fflush(stdout); \
     } else
+
+static ssize_t xwrite(int fd, void const *buf, size_t count) {
+    ssize_t result = write(fd, buf, count);
+    if (result == -1) {
+        perror("write");
+        exit(EXIT_FAILURE);
+    }
+    /* Ignore short writes here. Doesn't matter for test cases. */
+    return result;
+}
+
+static int xdup2(int oldfd, int newfd) {
+    int result = dup2(oldfd, newfd);
+    if (result == -1) {
+        perror("dup2");
+        exit(EXIT_FAILURE);
+    }
+    return result;
+}