diff options
Diffstat (limited to 'libio/tst-memstream2.c')
-rw-r--r-- | libio/tst-memstream2.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/libio/tst-memstream2.c b/libio/tst-memstream2.c deleted file mode 100644 index 9619d77..0000000 --- a/libio/tst-memstream2.c +++ /dev/null @@ -1,104 +0,0 @@ -#include <mcheck.h> -#include <stdio.h> - - -#ifndef CHAR_T -# define CHAR_T char -# define W(o) o -# define OPEN_MEMSTREAM open_memstream -#endif - -#define S(s) S1 (s) -#define S1(s) #s - - -static void -mcheck_abort (enum mcheck_status ev) -{ - printf ("mecheck failed with status %d\n", (int) ev); - exit (1); -} - - -static int -do_test (void) -{ - mcheck_pedantic (mcheck_abort); - - CHAR_T *buf = (CHAR_T *) 1l; - size_t len = 12345; - FILE *fp = OPEN_MEMSTREAM (&buf, &len); - if (fp == NULL) - { - printf ("%s failed\n", S(OPEN_MEMSTREAM)); - return 1; - } - - for (int outer = 0; outer < 800; ++outer) - { - for (int inner = 0; inner < 100; ++inner) - if (fputc (W('a') + (outer * 100 + inner) % 26, fp) == EOF) - { - printf ("fputc at %d:%d failed\n", outer, inner); - return 1; - } - - if (fflush (fp) != 0) - { - puts ("fflush failed"); - return 1; - } - - if (len != (outer + 1) * 100) - { - printf ("string in round %d not %d bytest long\n", - outer + 1, (outer + 1) * 100); - return 1; - } - if (buf == (CHAR_T *) 1l) - { - printf ("round %d: buf not updated\n", outer + 1); - return 1; - } - for (int inner = 0; inner < (outer + 1) * 100; ++inner) - if (buf[inner] != W('a') + inner % 26) - { - printf ("round %d: buf[%d] != '%c'\n", outer + 1, inner, - (char) (W('a') + inner % 26)); - return 1; - } - } - - buf = (CHAR_T *) 1l; - len = 12345; - if (fclose (fp) != 0) - { - puts ("fclose failed"); - return 1; - } - - if (len != 800 * 100) - { - puts ("string after close not 80000 bytes long"); - return 1; - } - if (buf == (CHAR_T *) 1l) - { - puts ("buf not updated"); - return 1; - } - for (int inner = 0; inner < 800 * 100; ++inner) - if (buf[inner] != W('a') + inner % 26) - { - printf ("after close: buf[%d] != %c\n", inner, - (char) (W('a') + inner % 26)); - return 1; - } - - free (buf); - - return 0; -} - -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" |