From d3d8c2db17912229eb96349f3cadd442f27f6362 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Wed, 17 May 2000 17:21:36 +0000 Subject: * testsuite/winsup.api/crlf.c: New * testsuite/winsup.api/iospeed.c: New --- winsup/testsuite/winsup.api/iospeed.c | 115 ++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 winsup/testsuite/winsup.api/iospeed.c (limited to 'winsup/testsuite/winsup.api/iospeed.c') diff --git a/winsup/testsuite/winsup.api/iospeed.c b/winsup/testsuite/winsup.api/iospeed.c new file mode 100644 index 000000000..d286f90bd --- /dev/null +++ b/winsup/testsuite/winsup.api/iospeed.c @@ -0,0 +1,115 @@ +#include +#include +#include +#include +#include +#include +#include + +int verbose = 0; + +void +v(char *fmt, ...) +{ + va_list ap; + if (!verbose) return; + va_start(ap, fmt); + vfprintf(stdout, fmt, ap); + va_end(ap); +} + +#define TSIZE (1024 * 1024 * 16) + +unsigned long start_tic; + +void +start(FILE *f) +{ + fseek(f, 0, SEEK_SET); + start_tic = GetTickCount(); +} + +void +end() +{ + unsigned long end_tic = GetTickCount(); + printf("%6d", end_tic - start_tic); +} + +void +test(int linesz, int cr) +{ + FILE *f = fopen("iospeed.dat", "wb"); + char buf[65536]; + int i, fd; + + memset(buf, 'x', linesz); + buf[linesz-1] = '\n'; + if (cr) + buf[linesz-2] = '\r'; + for (i=0; i 0); + end(); + + start(f); + while (fgets(buf, 64436, f)); + end(); + + f = fopen("iospeed.dat", "rb"); + fd = fileno(f); + + for (i=0; i 0); + end(); + + start(f); + while (fgets(buf, 64436, f)); + end(); + + printf("\n"); +} + +int +main(int argc, char **argv) +{ + if (argc > 1 && strcmp(argv[1],"-v") == 0) + verbose = 1; + + setbuf(stdout, 0); + + printf(" ----- text ----- ---- binary ----\n"); + printf("linesz cr getc fread fgets getc fread fgets\n"); + + test(4, 0); + test(64, 0); + test(4096, 0); + test(4, 1); + test(64, 1); + test(4096, 1); + + remove ("iospeed.dat"); + + return 0; +} -- cgit v1.2.3