1 #include <stdio.h>
2
fgets_entry(void)3 static int fgets_entry(void)
4 {
5 FILE *stream;
6 char data[] = "test fgets";
7 char gets[sizeof(data)] = {0};
8 size_t size = 0;
9 int ret = 0;
10
11 stream = fopen("fopen_file.txt","w");
12 if (stream == NULL)
13 {
14 perror("fopen fail");
15 ret = -1;
16 goto __exit;
17 }
18 fwrite(data, sizeof(data), 1, stream);
19 fclose(stream);
20
21 stream = fopen("fopen_file.txt","r");
22 if (stream == NULL)
23 {
24 perror("fopen fail");
25 ret = -1;
26 goto __exit;
27 }
28 fgets(gets, sizeof(gets), stream);
29
30 if(strcmp(gets, data))
31 {
32 ret = -1;
33 }
34 fclose(stream);
35
36 __exit:
37 return ret;
38 }
39
40 #include <utest.h>
test_fgets(void)41 static void test_fgets(void)
42 {
43 uassert_int_equal(fgets_entry(), 0);
44 }
testcase(void)45 static void testcase(void)
46 {
47 UTEST_UNIT_RUN(test_fgets);
48 }
49 UTEST_TC_EXPORT(testcase, "posix.stdio_h.fgets.c", RT_NULL, RT_NULL, 10);
50
51