1212#include " src/stdio/fgets.h"
1313#include " src/stdio/fopen.h"
1414#include " src/stdio/fwrite.h"
15+ #include " test/UnitTest/ErrnoCheckingTest.h"
16+ #include " test/UnitTest/ErrnoSetterMatcher.h"
1517#include " test/UnitTest/Test.h"
1618
17- #include " src/__support/libc_errno.h"
19+ using LlvmLibcFgetsTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
20+ using namespace LIBC_NAMESPACE ::testing::ErrnoSetterMatcher;
1821
19- TEST (LlvmLibcFgetsTest, WriteAndReadCharacters) {
22+ TEST_F (LlvmLibcFgetsTest, WriteAndReadCharacters) {
2023 constexpr char FILENAME[] = " testdata/fgets.test" ;
2124 ::FILE *file = LIBC_NAMESPACE::fopen (FILENAME, " w" );
2225 ASSERT_FALSE (file == nullptr );
@@ -29,15 +32,16 @@ TEST(LlvmLibcFgetsTest, WriteAndReadCharacters) {
2932 char buff[8 ];
3033 char *output;
3134
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));
3337 // 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 )));
3540 // This is an error and not a real EOF.
3641 ASSERT_EQ (LIBC_NAMESPACE::feof (file), 0 );
3742 ASSERT_NE (LIBC_NAMESPACE::ferror (file), 0 );
38- libc_errno = 0 ;
3943
40- ASSERT_EQ ( 0 , LIBC_NAMESPACE::fclose (file));
44+ ASSERT_THAT ( LIBC_NAMESPACE::fclose (file), Succeeds ( ));
4145
4246 file = LIBC_NAMESPACE::fopen (FILENAME, " r" );
4347 ASSERT_FALSE (file == nullptr );
@@ -55,6 +59,7 @@ TEST(LlvmLibcFgetsTest, WriteAndReadCharacters) {
5559 // This is also implementation defined.
5660 output = LIBC_NAMESPACE::fgets (buff, 0 , file);
5761 ASSERT_TRUE (output == nullptr );
62+ ASSERT_ERRNO_SUCCESS ();
5863#endif
5964
6065 const char *output_arr[] = {
@@ -86,5 +91,5 @@ TEST(LlvmLibcFgetsTest, WriteAndReadCharacters) {
8691 ASSERT_NE (LIBC_NAMESPACE::feof (file), 0 );
8792 ASSERT_ERRNO_SUCCESS ();
8893
89- ASSERT_EQ ( 0 , LIBC_NAMESPACE::fclose (file));
94+ ASSERT_THAT ( LIBC_NAMESPACE::fclose (file), Succeeds ( ));
9095}
0 commit comments