浏览代码

Add tests to make sure setvbuf works.

Tom Almeida 6 年之前
父节点
当前提交
d5a9cd6953
共有 2 个文件被更改,包括 15 次插入0 次删除
  1. 1 0
      tests/Makefile
  2. 14 0
      tests/stdio/setvbuf.c

+ 1 - 0
tests/Makefile

@@ -14,6 +14,7 @@ EXPECT_BINS=\
 	setjmp \
 	signal \
 	stdio/all \
+	stdio/setvbuf \
 	stdio/freopen \
 	stdio/fwrite \
 	stdio/getc_unget \

+ 14 - 0
tests/stdio/setvbuf.c

@@ -0,0 +1,14 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char ** argv) {
+	setvbuf(stdout, 0, _IONBF, 0);
+	FILE *f = fopen("stdio/stdio.in", "r");
+	setvbuf(f, 0, _IONBF, 0);
+	printf("%c\n", fgetc(f));
+	ungetc('H', f);
+	char *in = malloc(30);
+	printf("%s\n", fgets(in, 30, f));
+	printf("Hello\n");
+	return 0;
+}