From dec7f5460b967c69d77ba42ba0afbb9c644385a8 Mon Sep 17 00:00:00 2001 From: Matthias Kruk Date: Sat, 15 Aug 2020 15:14:30 +0900 Subject: [PATCH] sys/test: Implement simple test for reading and writing on a pipe --- sys/test/main.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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; -- 2.47.3