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