From bdf0b28e53b5d6872621687ea2945392f176f211 Mon Sep 17 00:00:00 2001 From: Thomas Harning Jr Date: Sat, 15 Dec 2007 01:24:28 -0500 Subject: [PATCH] test: Learned a more generic data pump that would more likely be used in real pipeline --- test/src/test.c | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/test/src/test.c b/test/src/test.c index a4ef55c..f34e759 100644 --- a/test/src/test.c +++ b/test/src/test.c @@ -1,13 +1,45 @@ +#include #include #include +#include #include "output_item.h" #include "output/memory.h" +#include "output/file.h" -int main(int argc, const char **argv) { - output_item *mem = new_memory_output_item("TEST VALUE", strlen("TEST VALUE"), 0); - while(output_remaining(mem)) { - output_send(mem, 1, FDT_PIPE); +void pump_data(output_item *item) { + while(output_remaining(item)) { + int ret = output_send(item, 1, FDT_PIPE); + if(ret < 0) { + perror("Failed to send output..."); + goto err; + } } - output_release(mem); + output_on_complete(item); + goto cleanup; +err: + output_on_error(item, errno); +cleanup: + output_release(item); +} + +void memory_test() { + output_item *mem = new_memory_output_item("TEST VALUE\n", strlen("TEST VALUE\n"), 0); + pump_data(mem); +} + +void file_test() { + int fd = open("premake.lua", O_RDONLY); + output_item *file; + if(fd <= 0) { + perror("Failed to open premake.lua"); + return; + } + file = new_file_output_item(fd); + pump_data(file); +} + +int main(int argc, const char **argv) { + memory_test(); + file_test(); return 0; } -- 2.11.4.GIT