diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/pipetest.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/pipetest.c b/test/pipetest.c new file mode 100644 index 0000000..e848049 --- /dev/null +++ b/test/pipetest.c @@ -0,0 +1,54 @@ +#include <stdio.h> +#include <errno.h> +#include <string.h> + +int main(int argc, char *argv[]) +{ + printf("LINUX PIPE TEST\n"); + + if(argc<=1) + { + printf("one argument please [read|write]\n"); + } + + if(!strcmp(argv[1],"read")) + { + FILE *p=fopen("./testpipe","r"); + printf("opened for reading\n"); + printf("feof: %i\n",feof(p)); + + if(p==NULL) + { + int err=errno; + printf("Opening pipe failed with errno %d : %s\n",err,strerror(err)); + } + + while(1) + { + char buf[256]; + int ret=fread(buf,1,10,p); + buf[10]=0; + printf("read: %i %s\n",ret,buf); + printf("feof: %i\n",feof(p)); + if (feof(p)) break; + } + } + + if(!strcmp(argv[1],"write")) + { + FILE *p=fopen("./testpipe","a"); + printf("opened for writing\n"); + if(p==NULL) + { + int err=errno; + printf("Opening pipe failed with errno %d : %s\n",err,strerror(err)); + } + fwrite("DUPA123",1,7,p); + fwrite("DUPA123",1,7,p); + for(int i=0;i<10000;i++) + { + fwrite("DUPA123",1,7,p); + } + //fclose(p); + } +} |
