12
12
#include " src/stdio/fgets.h"
13
13
#include " src/stdio/fopen.h"
14
14
#include " src/stdio/fwrite.h"
15
+ #include " test/UnitTest/ErrnoCheckingTest.h"
16
+ #include " test/UnitTest/ErrnoSetterMatcher.h"
15
17
#include " test/UnitTest/Test.h"
16
18
17
- #include " src/__support/libc_errno.h"
19
+ using LlvmLibcFgetsTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
20
+ using namespace LIBC_NAMESPACE ::testing::ErrnoSetterMatcher;
18
21
19
- TEST (LlvmLibcFgetsTest, WriteAndReadCharacters) {
22
+ TEST_F (LlvmLibcFgetsTest, WriteAndReadCharacters) {
20
23
constexpr char FILENAME[] = " testdata/fgets.test" ;
21
24
::FILE *file = LIBC_NAMESPACE::fopen (FILENAME, " w" );
22
25
ASSERT_FALSE (file == nullptr );
@@ -29,15 +32,16 @@ TEST(LlvmLibcFgetsTest, WriteAndReadCharacters) {
29
32
char buff[8 ];
30
33
char *output;
31
34
32
- ASSERT_EQ (WRITE_SIZE, LIBC_NAMESPACE::fwrite (CONTENT, 1 , WRITE_SIZE, file));
35
+ ASSERT_THAT (LIBC_NAMESPACE::fwrite (CONTENT, 1 , WRITE_SIZE, file),
36
+ Succeeds (WRITE_SIZE));
33
37
// This is a write-only file so reads should fail.
34
- ASSERT_TRUE (LIBC_NAMESPACE::fgets (buff, 8 , file) == nullptr );
38
+ ASSERT_THAT (LIBC_NAMESPACE::fgets (buff, 8 , file),
39
+ Fails (EBADF, static_cast <char *>(nullptr )));
35
40
// This is an error and not a real EOF.
36
41
ASSERT_EQ (LIBC_NAMESPACE::feof (file), 0 );
37
42
ASSERT_NE (LIBC_NAMESPACE::ferror (file), 0 );
38
- libc_errno = 0 ;
39
43
40
- ASSERT_EQ ( 0 , LIBC_NAMESPACE::fclose (file));
44
+ ASSERT_THAT ( LIBC_NAMESPACE::fclose (file), Succeeds ( ));
41
45
42
46
file = LIBC_NAMESPACE::fopen (FILENAME, " r" );
43
47
ASSERT_FALSE (file == nullptr );
@@ -55,6 +59,7 @@ TEST(LlvmLibcFgetsTest, WriteAndReadCharacters) {
55
59
// This is also implementation defined.
56
60
output = LIBC_NAMESPACE::fgets (buff, 0 , file);
57
61
ASSERT_TRUE (output == nullptr );
62
+ ASSERT_ERRNO_SUCCESS ();
58
63
#endif
59
64
60
65
const char *output_arr[] = {
@@ -86,5 +91,5 @@ TEST(LlvmLibcFgetsTest, WriteAndReadCharacters) {
86
91
ASSERT_NE (LIBC_NAMESPACE::feof (file), 0 );
87
92
ASSERT_ERRNO_SUCCESS ();
88
93
89
- ASSERT_EQ ( 0 , LIBC_NAMESPACE::fclose (file));
94
+ ASSERT_THAT ( LIBC_NAMESPACE::fclose (file), Succeeds ( ));
90
95
}
0 commit comments