From: Matthias Kruk Date: Sat, 15 Aug 2020 06:14:30 +0000 (+0900) Subject: sys/test: Implement simple test for reading and writing on a pipe X-Git-Url: https://git.corax.cc/?a=commitdiff_plain;h=dec7f5460b967c69d77ba42ba0afbb9c644385a8;p=corax sys/test: Implement simple test for reading and writing on a pipe --- diff --git a/sys/test/main.c b/sys/test/main.c index 4f991c9..d827f64 100644 --- a/sys/test/main.c +++ b/sys/test/main.c @@ -2,10 +2,13 @@ #include #include #include +#include +#include int main(int argc, char *argv[]) { char buf[128]; + char rxbuf[128]; int fds[2]; int ret_val; @@ -20,6 +23,24 @@ int main(int argc, char *argv[]) ret_val = snprintf(buf, sizeof(buf), "fds[0] = %d, fds[1] = %d\n", fds[0], fds[1]); debug(buf, ret_val); + ret_val = snprintf(buf, sizeof(buf), "Hello, pipe world!"); + ret_val = write(fds[1], buf, ret_val); + + ret_val = snprintf(buf, sizeof(buf), "write() = %d\n", ret_val); + debug(buf, ret_val); + + memset(buf, 0, sizeof(buf)); + memset(rxbuf, 0, sizeof(rxbuf)); + + ret_val = read(fds[0], rxbuf, sizeof(rxbuf)); + + if(ret_val < 0) { + ret_val = snprintf(buf, sizeof(buf), "read() = %d errno=%s\n", ret_val, strerror(errno)); + } else { + ret_val = snprintf(buf, sizeof(buf), "read() = %d [%s]\n", ret_val, rxbuf); + } + debug(buf, ret_val); + while(1) { #if 0 struct cxmsg msg;