[libc][stdio] Separate temporary files for unit test and hermetic test in stdio test suite. (#149740)

This commit is contained in:
lntue 2025-07-21 12:58:09 +00:00 committed by GitHub
parent 2b826dff01
commit b78b16b213
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 67 additions and 38 deletions

View File

@ -71,6 +71,7 @@ endfunction()
function(_get_hermetic_test_compile_options output_var) function(_get_hermetic_test_compile_options output_var)
_get_common_test_compile_options(compile_options "" "") _get_common_test_compile_options(compile_options "" "")
list(APPEND compile_options "-DLIBC_TEST=HERMETIC")
# null check tests are death tests, remove from hermetic tests for now. # null check tests are death tests, remove from hermetic tests for now.
if(LIBC_ADD_NULL_CHECKS) if(LIBC_ADD_NULL_CHECKS)
@ -232,6 +233,7 @@ function(create_libc_unittest fq_target_name)
_get_common_test_compile_options(compile_options "${LIBC_UNITTEST_C_TEST}" _get_common_test_compile_options(compile_options "${LIBC_UNITTEST_C_TEST}"
"${LIBC_UNITTEST_FLAGS}") "${LIBC_UNITTEST_FLAGS}")
list(APPEND compile_options "-DLIBC_TEST=UNIT")
# TODO: Ideally we would have a separate function for link options. # TODO: Ideally we would have a separate function for link options.
set(link_options set(link_options
${compile_options} ${compile_options}

View File

@ -52,4 +52,13 @@
libc_errno = 0; \ libc_errno = 0; \
} while (0) } while (0)
// Some macro utility to append file names with LIBC_TEST macro's value to be
// used in stdio tests.
#undef STR
#undef EVAL_THEN_STR
#define STR(X) #X
#define EVAL_THEN_STR(X) STR(X)
#define APPEND_LIBC_TEST(X) X "." EVAL_THEN_STR(LIBC_TEST)
#endif // LLVM_LIBC_TEST_UNITTEST_TEST_H #endif // LLVM_LIBC_TEST_UNITTEST_TEST_H

View File

@ -21,7 +21,8 @@ LIBC_INLINE File *openfile(const char *file_name, const char *mode) {
} }
TEST(LlvmLibcPlatformFileTest, CreateWriteCloseAndReadBack) { TEST(LlvmLibcPlatformFileTest, CreateWriteCloseAndReadBack) {
constexpr char FILENAME[] = "testdata/create_write_close_and_readback.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/create_write_close_and_readback.test");
File *file = openfile(FILENAME, "w"); File *file = openfile(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE); ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE);
@ -42,7 +43,8 @@ TEST(LlvmLibcPlatformFileTest, CreateWriteCloseAndReadBack) {
} }
TEST(LlvmLibcPlatformFileTest, CreateWriteSeekAndReadBack) { TEST(LlvmLibcPlatformFileTest, CreateWriteSeekAndReadBack) {
constexpr char FILENAME[] = "testdata/create_write_seek_and_readback.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/create_write_seek_and_readback.test");
File *file = openfile(FILENAME, "w+"); File *file = openfile(FILENAME, "w+");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE); ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE);
@ -62,7 +64,8 @@ TEST(LlvmLibcPlatformFileTest, CreateWriteSeekAndReadBack) {
} }
TEST(LlvmLibcPlatformFileTest, CreateAppendCloseAndReadBack) { TEST(LlvmLibcPlatformFileTest, CreateAppendCloseAndReadBack) {
constexpr char FILENAME[] = "testdata/create_append_close_and_readback.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/create_append_close_and_readback.test");
File *file = openfile(FILENAME, "w"); File *file = openfile(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE); ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE);
@ -91,7 +94,8 @@ TEST(LlvmLibcPlatformFileTest, CreateAppendCloseAndReadBack) {
} }
TEST(LlvmLibcPlatformFileTest, CreateAppendSeekAndReadBack) { TEST(LlvmLibcPlatformFileTest, CreateAppendSeekAndReadBack) {
constexpr char FILENAME[] = "testdata/create_append_seek_and_readback.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/create_append_seek_and_readback.test");
File *file = openfile(FILENAME, "w"); File *file = openfile(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE); ASSERT_EQ(file->write(TEXT, TEXT_SIZE).value, TEXT_SIZE);
@ -124,7 +128,7 @@ TEST(LlvmLibcPlatformFileTest, LargeFile) {
for (size_t i = 0; i < DATA_SIZE; ++i) for (size_t i = 0; i < DATA_SIZE; ++i)
write_data[i] = BYTE; write_data[i] = BYTE;
constexpr char FILENAME[] = "testdata/large_file.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/large_file.test");
File *file = openfile(FILENAME, "w"); File *file = openfile(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
@ -151,7 +155,8 @@ TEST(LlvmLibcPlatformFileTest, LargeFile) {
} }
TEST(LlvmLibcPlatformFileTest, ReadSeekCurAndRead) { TEST(LlvmLibcPlatformFileTest, ReadSeekCurAndRead) {
constexpr char FILENAME[] = "testdata/read_seek_cur_and_read.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/read_seek_cur_and_read.test");
File *file = openfile(FILENAME, "w"); File *file = openfile(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
constexpr char CONTENT[] = "1234567890987654321"; constexpr char CONTENT[] = "1234567890987654321";
@ -178,7 +183,8 @@ TEST(LlvmLibcPlatformFileTest, ReadSeekCurAndRead) {
} }
TEST(LlvmLibcPlatformFileTest, IncorrectOperation) { TEST(LlvmLibcPlatformFileTest, IncorrectOperation) {
constexpr char FILENAME[] = "testdata/incorrect_operation.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/incorrect_operation.test");
char data[1] = {123}; char data[1] = {123};
File *file = openfile(FILENAME, "w"); File *file = openfile(FILENAME, "w");

View File

@ -24,7 +24,8 @@ using LlvmLibcStdioFdopenTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
TEST_F(LlvmLibcStdioFdopenTest, WriteAppendRead) { TEST_F(LlvmLibcStdioFdopenTest, WriteAppendRead) {
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
constexpr const char *TEST_FILE_NAME = "testdata/write_read_append.test"; constexpr const char *TEST_FILE_NAME =
APPEND_LIBC_TEST("testdata/write_read_append.test");
auto TEST_FILE = libc_make_test_file_path(TEST_FILE_NAME); auto TEST_FILE = libc_make_test_file_path(TEST_FILE_NAME);
int fd = LIBC_NAMESPACE::open(TEST_FILE, O_CREAT | O_TRUNC | O_RDWR, S_IRWXU); int fd = LIBC_NAMESPACE::open(TEST_FILE, O_CREAT | O_TRUNC | O_RDWR, S_IRWXU);
auto *fp = LIBC_NAMESPACE::fdopen(fd, "w"); auto *fp = LIBC_NAMESPACE::fdopen(fd, "w");
@ -54,7 +55,8 @@ TEST_F(LlvmLibcStdioFdopenTest, WriteAppendRead) {
} }
TEST_F(LlvmLibcStdioFdopenTest, InvalidFd) { TEST_F(LlvmLibcStdioFdopenTest, InvalidFd) {
constexpr const char *TEST_FILE_NAME = "testdata/invalid_fd.test"; constexpr const char *TEST_FILE_NAME =
APPEND_LIBC_TEST("testdata/invalid_fd.test");
auto TEST_FILE = libc_make_test_file_path(TEST_FILE_NAME); auto TEST_FILE = libc_make_test_file_path(TEST_FILE_NAME);
int fd = LIBC_NAMESPACE::open(TEST_FILE, O_CREAT | O_TRUNC); int fd = LIBC_NAMESPACE::open(TEST_FILE, O_CREAT | O_TRUNC);
LIBC_NAMESPACE::close(fd); LIBC_NAMESPACE::close(fd);
@ -65,7 +67,8 @@ TEST_F(LlvmLibcStdioFdopenTest, InvalidFd) {
} }
TEST_F(LlvmLibcStdioFdopenTest, InvalidMode) { TEST_F(LlvmLibcStdioFdopenTest, InvalidMode) {
constexpr const char *TEST_FILE_NAME = "testdata/invalid_mode.test"; constexpr const char *TEST_FILE_NAME =
APPEND_LIBC_TEST("testdata/invalid_mode.test");
auto TEST_FILE = libc_make_test_file_path(TEST_FILE_NAME); auto TEST_FILE = libc_make_test_file_path(TEST_FILE_NAME);
int fd = LIBC_NAMESPACE::open(TEST_FILE, O_CREAT | O_RDONLY, S_IRWXU); int fd = LIBC_NAMESPACE::open(TEST_FILE, O_CREAT | O_RDONLY, S_IRWXU);
ASSERT_ERRNO_SUCCESS(); ASSERT_ERRNO_SUCCESS();

View File

@ -56,9 +56,10 @@ public:
}; };
TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithFgetc) { TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithFgetc) {
test_with_func(&LIBC_NAMESPACE::fgetc, "testdata/fgetc.test"); test_with_func(&LIBC_NAMESPACE::fgetc,
APPEND_LIBC_TEST("testdata/fgetc.test"));
} }
TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithGetc) { TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithGetc) {
test_with_func(&LIBC_NAMESPACE::getc, "testdata/getc.test"); test_with_func(&LIBC_NAMESPACE::getc, APPEND_LIBC_TEST("testdata/getc.test"));
} }

View File

@ -62,9 +62,10 @@ public:
TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithFgetcUnlocked) { TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithFgetcUnlocked) {
test_with_func(&LIBC_NAMESPACE::fgetc_unlocked, test_with_func(&LIBC_NAMESPACE::fgetc_unlocked,
"testdata/fgetc_unlocked.test"); APPEND_LIBC_TEST("testdata/fgetc_unlocked.test"));
} }
TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithGetcUnlocked) { TEST_F(LlvmLibcGetcTest, WriteAndReadCharactersWithGetcUnlocked) {
test_with_func(&LIBC_NAMESPACE::getc_unlocked, "testdata/getc_unlocked.test"); test_with_func(&LIBC_NAMESPACE::getc_unlocked,
APPEND_LIBC_TEST("testdata/getc_unlocked.test"));
} }

View File

@ -20,7 +20,7 @@ using LlvmLibcFgetsTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
using namespace LIBC_NAMESPACE::testing::ErrnoSetterMatcher; using namespace LIBC_NAMESPACE::testing::ErrnoSetterMatcher;
TEST_F(LlvmLibcFgetsTest, WriteAndReadCharacters) { TEST_F(LlvmLibcFgetsTest, WriteAndReadCharacters) {
constexpr char FILENAME[] = "testdata/fgets.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/fgets.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
constexpr char CONTENT[] = "123456789\n" constexpr char CONTENT[] = "123456789\n"

View File

@ -29,7 +29,8 @@ using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::NE;
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::returns; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::returns;
TEST_F(LlvmLibcFILETest, SimpleFileOperations) { TEST_F(LlvmLibcFILETest, SimpleFileOperations) {
constexpr char FILENAME[] = "testdata/simple_operations.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/simple_operations.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
ASSERT_GE(LIBC_NAMESPACE::fileno(file), 0); ASSERT_GE(LIBC_NAMESPACE::fileno(file), 0);
@ -127,7 +128,7 @@ TEST_F(LlvmLibcFILETest, SimpleFileOperations) {
} }
TEST_F(LlvmLibcFILETest, FFlush) { TEST_F(LlvmLibcFILETest, FFlush) {
constexpr char FILENAME[] = "testdata/fflush.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/fflush.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w+"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w+");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
constexpr char CONTENT[] = "1234567890987654321"; constexpr char CONTENT[] = "1234567890987654321";
@ -154,7 +155,7 @@ TEST_F(LlvmLibcFILETest, FOpenFWriteSizeGreaterThanOne) {
}; };
constexpr MyStruct WRITE_DATA[] = {{'a', 1}, {'b', 2}, {'c', 3}}; constexpr MyStruct WRITE_DATA[] = {{'a', 1}, {'b', 2}, {'c', 3}};
constexpr size_t WRITE_NMEMB = sizeof(WRITE_DATA) / sizeof(MyStruct); constexpr size_t WRITE_NMEMB = sizeof(WRITE_DATA) / sizeof(MyStruct);
constexpr char FILENAME[] = "testdata/fread_fwrite.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/fread_fwrite.test");
FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);

View File

@ -17,7 +17,8 @@
TEST(LlvmLibcFOpenTest, PrintToFile) { TEST(LlvmLibcFOpenTest, PrintToFile) {
int result; int result;
FILE *file = LIBC_NAMESPACE::fopen("./testdata/test_data.txt", "w"); FILE *file =
LIBC_NAMESPACE::fopen(APPEND_LIBC_TEST("testdata/test.txt"), "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
static constexpr char STRING[] = "A simple string written to a file\n"; static constexpr char STRING[] = "A simple string written to a file\n";
@ -26,7 +27,8 @@ TEST(LlvmLibcFOpenTest, PrintToFile) {
ASSERT_EQ(0, LIBC_NAMESPACE::fclose(file)); ASSERT_EQ(0, LIBC_NAMESPACE::fclose(file));
FILE *new_file = LIBC_NAMESPACE::fopen("./testdata/test_data.txt", "r"); FILE *new_file =
LIBC_NAMESPACE::fopen(APPEND_LIBC_TEST("testdata/test.txt"), "r");
ASSERT_FALSE(new_file == nullptr); ASSERT_FALSE(new_file == nullptr);
static char data[64] = {0}; static char data[64] = {0};

View File

@ -32,7 +32,7 @@ using ::fread;
} // namespace printf_test } // namespace printf_test
TEST(LlvmLibcFPrintfTest, WriteToFile) { TEST(LlvmLibcFPrintfTest, WriteToFile) {
const char *FILENAME = "fprintf_output.test"; const char *FILENAME = APPEND_LIBC_TEST("fprintf_output.test");
auto FILE_PATH = libc_make_test_file_path(FILENAME); auto FILE_PATH = libc_make_test_file_path(FILENAME);
::FILE *file = printf_test::fopen(FILE_PATH, "w"); ::FILE *file = printf_test::fopen(FILE_PATH, "w");

View File

@ -34,7 +34,7 @@ using ::fwrite;
} // namespace scanf_test } // namespace scanf_test
TEST(LlvmLibcFScanfTest, WriteToFile) { TEST(LlvmLibcFScanfTest, WriteToFile) {
const char *FILENAME = "fscanf_output.test"; const char *FILENAME = APPEND_LIBC_TEST("fscanf_output.test");
auto FILE_PATH = libc_make_test_file_path(FILENAME); auto FILE_PATH = libc_make_test_file_path(FILENAME);
::FILE *file = scanf_test::fopen(FILE_PATH, "w"); ::FILE *file = scanf_test::fopen(FILE_PATH, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);

View File

@ -21,7 +21,7 @@
class LlvmLibcFTellTest : public LIBC_NAMESPACE::testing::Test { class LlvmLibcFTellTest : public LIBC_NAMESPACE::testing::Test {
protected: protected:
void test_with_bufmode(int bufmode) { void test_with_bufmode(int bufmode) {
constexpr char FILENAME[] = "testdata/ftell.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/ftell.test");
// We will set a special buffer to the file so that we guarantee buffering. // We will set a special buffer to the file so that we guarantee buffering.
constexpr size_t BUFFER_SIZE = 1024; constexpr size_t BUFFER_SIZE = 1024;
char buffer[BUFFER_SIZE]; char buffer[BUFFER_SIZE];

View File

@ -16,7 +16,7 @@
#include "test/UnitTest/Test.h" #include "test/UnitTest/Test.h"
TEST(LlvmLibcPutcTest, WriteToFile) { TEST(LlvmLibcPutcTest, WriteToFile) {
constexpr char FILENAME[] = "testdata/putc_output.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/putc_output.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);

View File

@ -25,7 +25,7 @@ TEST_F(LlvmLibcRemoveTest, CreateAndRemoveFile) {
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
constexpr const char *FILENAME = "remove.test.file"; constexpr const char *FILENAME = APPEND_LIBC_TEST("remove.test.file");
auto TEST_FILE = libc_make_test_file_path(FILENAME); auto TEST_FILE = libc_make_test_file_path(FILENAME);
int fd = LIBC_NAMESPACE::open(TEST_FILE, O_WRONLY | O_CREAT, S_IRWXU); int fd = LIBC_NAMESPACE::open(TEST_FILE, O_WRONLY | O_CREAT, S_IRWXU);
ASSERT_ERRNO_SUCCESS(); ASSERT_ERRNO_SUCCESS();
@ -42,7 +42,7 @@ TEST_F(LlvmLibcRemoveTest, CreateAndRemoveDir) {
// it was removed. // it was removed.
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
constexpr const char *FILENAME = "remove.test.dir"; constexpr const char *FILENAME = APPEND_LIBC_TEST("remove.test.dir");
auto TEST_DIR = libc_make_test_file_path(FILENAME); auto TEST_DIR = libc_make_test_file_path(FILENAME);
ASSERT_THAT(LIBC_NAMESPACE::mkdirat(AT_FDCWD, TEST_DIR, S_IRWXU), ASSERT_THAT(LIBC_NAMESPACE::mkdirat(AT_FDCWD, TEST_DIR, S_IRWXU),
Succeeds(0)); Succeeds(0));

View File

@ -24,7 +24,7 @@ TEST_F(LlvmLibcRenameTest, CreateAndRenameFile) {
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
constexpr const char *FILENAME0 = "rename.test.file0"; constexpr const char *FILENAME0 = APPEND_LIBC_TEST("rename.test.file0");
auto TEST_FILEPATH0 = libc_make_test_file_path(FILENAME0); auto TEST_FILEPATH0 = libc_make_test_file_path(FILENAME0);
int fd = LIBC_NAMESPACE::open(TEST_FILEPATH0, O_WRONLY | O_CREAT, S_IRWXU); int fd = LIBC_NAMESPACE::open(TEST_FILEPATH0, O_WRONLY | O_CREAT, S_IRWXU);
@ -33,7 +33,7 @@ TEST_F(LlvmLibcRenameTest, CreateAndRenameFile) {
ASSERT_THAT(LIBC_NAMESPACE::close(fd), Succeeds(0)); ASSERT_THAT(LIBC_NAMESPACE::close(fd), Succeeds(0));
ASSERT_THAT(LIBC_NAMESPACE::access(TEST_FILEPATH0, F_OK), Succeeds(0)); ASSERT_THAT(LIBC_NAMESPACE::access(TEST_FILEPATH0, F_OK), Succeeds(0));
constexpr const char *FILENAME1 = "rename.test.file1"; constexpr const char *FILENAME1 = APPEND_LIBC_TEST("rename.test.file1");
auto TEST_FILEPATH1 = libc_make_test_file_path(FILENAME1); auto TEST_FILEPATH1 = libc_make_test_file_path(FILENAME1);
ASSERT_THAT(LIBC_NAMESPACE::rename(TEST_FILEPATH0, TEST_FILEPATH1), ASSERT_THAT(LIBC_NAMESPACE::rename(TEST_FILEPATH0, TEST_FILEPATH1),
Succeeds(0)); Succeeds(0));
@ -44,7 +44,7 @@ TEST_F(LlvmLibcRenameTest, CreateAndRenameFile) {
TEST_F(LlvmLibcRenameTest, RenameNonExistent) { TEST_F(LlvmLibcRenameTest, RenameNonExistent) {
using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails; using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
constexpr const char *FILENAME1 = "rename.test.file1"; constexpr const char *FILENAME1 = APPEND_LIBC_TEST("rename.test.file1");
auto TEST_FILEPATH1 = libc_make_test_file_path(FILENAME1); auto TEST_FILEPATH1 = libc_make_test_file_path(FILENAME1);
ASSERT_THAT(LIBC_NAMESPACE::rename("non-existent", TEST_FILEPATH1), ASSERT_THAT(LIBC_NAMESPACE::rename("non-existent", TEST_FILEPATH1),

View File

@ -18,7 +18,8 @@
TEST(LlvmLibcSetbufTest, DefaultBufsize) { TEST(LlvmLibcSetbufTest, DefaultBufsize) {
// The idea in this test is to change the buffer after opening a file and // The idea in this test is to change the buffer after opening a file and
// ensure that read and write work as expected. // ensure that read and write work as expected.
constexpr char FILENAME[] = "testdata/setbuf_test_default_bufsize.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/setbuf_test_default_bufsize.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
char buffer[BUFSIZ]; char buffer[BUFSIZ];
@ -41,7 +42,8 @@ TEST(LlvmLibcSetbufTest, DefaultBufsize) {
TEST(LlvmLibcSetbufTest, NullBuffer) { TEST(LlvmLibcSetbufTest, NullBuffer) {
// The idea in this test is that we set a null buffer and ensure that // The idea in this test is that we set a null buffer and ensure that
// everything works correctly. // everything works correctly.
constexpr char FILENAME[] = "testdata/setbuf_test_null_buffer.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/setbuf_test_null_buffer.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
LIBC_NAMESPACE::setbuf(file, nullptr); LIBC_NAMESPACE::setbuf(file, nullptr);

View File

@ -23,7 +23,7 @@ TEST_F(LlvmLibcSetvbufTest, SetNBFBuffer) {
// then set a NBF buffer to the write handle. Since it is NBF, the data // then set a NBF buffer to the write handle. Since it is NBF, the data
// written using the write handle should be immediately readable by the read // written using the write handle should be immediately readable by the read
// handle. // handle.
constexpr char FILENAME[] = "testdata/setvbuf_nbf.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/setvbuf_nbf.test");
::FILE *fw = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *fw = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(fw == nullptr); ASSERT_FALSE(fw == nullptr);
@ -59,7 +59,7 @@ TEST_F(LlvmLibcSetvbufTest, SetLBFBuffer) {
// then set a LBF buffer to the write handle. Since it is LBF, the data // then set a LBF buffer to the write handle. Since it is LBF, the data
// written using the write handle should be available right after a '\n' is // written using the write handle should be available right after a '\n' is
// written. // written.
constexpr char FILENAME[] = "testdata/setvbuf_lbf.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/setvbuf_lbf.test");
::FILE *fw = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *fw = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(fw == nullptr); ASSERT_FALSE(fw == nullptr);
@ -96,7 +96,8 @@ TEST_F(LlvmLibcSetvbufTest, SetLBFBuffer) {
} }
TEST(LlvmLibcSetbufTest, InvalidBufferMode) { TEST(LlvmLibcSetbufTest, InvalidBufferMode) {
constexpr char FILENAME[] = "testdata/setvbuf_invalid_bufmode.test"; constexpr char FILENAME[] =
APPEND_LIBC_TEST("testdata/setvbuf_invalid_bufmode.test");
::FILE *f = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *f = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(f == nullptr); ASSERT_FALSE(f == nullptr);
char buf[BUFSIZ]; char buf[BUFSIZ];

View File

@ -17,7 +17,7 @@
#include "test/UnitTest/Test.h" #include "test/UnitTest/Test.h"
TEST(LlvmLibcUngetcTest, UngetAndReadBack) { TEST(LlvmLibcUngetcTest, UngetAndReadBack) {
constexpr char FILENAME[] = "testdata/ungetc_test.test"; constexpr char FILENAME[] = APPEND_LIBC_TEST("testdata/ungetc_test.test");
::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w"); ::FILE *file = LIBC_NAMESPACE::fopen(FILENAME, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);
constexpr char CONTENT[] = "abcdef"; constexpr char CONTENT[] = "abcdef";

View File

@ -21,7 +21,8 @@
using LlvmLibcFILETest = LIBC_NAMESPACE::testing::ErrnoCheckingTest; using LlvmLibcFILETest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
TEST_F(LlvmLibcFILETest, UnlockedReadAndWrite) { TEST_F(LlvmLibcFILETest, UnlockedReadAndWrite) {
constexpr char fNAME[] = "testdata/unlocked_read_and_write.test"; constexpr char fNAME[] =
APPEND_LIBC_TEST("testdata/unlocked_read_and_write.test");
::FILE *f = LIBC_NAMESPACE::fopen(fNAME, "w"); ::FILE *f = LIBC_NAMESPACE::fopen(fNAME, "w");
ASSERT_FALSE(f == nullptr); ASSERT_FALSE(f == nullptr);
constexpr char CONTENT[] = "1234567890987654321"; constexpr char CONTENT[] = "1234567890987654321";

View File

@ -45,7 +45,7 @@ int call_vfprintf(::FILE *__restrict stream, const char *__restrict format,
} }
TEST(LlvmLibcVFPrintfTest, WriteToFile) { TEST(LlvmLibcVFPrintfTest, WriteToFile) {
const char *FILENAME = "vfprintf_output.test"; const char *FILENAME = APPEND_LIBC_TEST("vfprintf_output.test");
auto FILE_PATH = libc_make_test_file_path(FILENAME); auto FILE_PATH = libc_make_test_file_path(FILENAME);
::FILE *file = printf_test::fopen(FILE_PATH, "w"); ::FILE *file = printf_test::fopen(FILE_PATH, "w");

View File

@ -42,7 +42,7 @@ static int call_vfscanf(::FILE *stream, const char *__restrict format, ...) {
} }
TEST(LlvmLibcVFScanfTest, WriteToFile) { TEST(LlvmLibcVFScanfTest, WriteToFile) {
const char *FILENAME = "vfscanf_output.test"; const char *FILENAME = APPEND_LIBC_TEST("vfscanf_output.test");
auto FILE_PATH = libc_make_test_file_path(FILENAME); auto FILE_PATH = libc_make_test_file_path(FILENAME);
::FILE *file = scanf_test::fopen(FILE_PATH, "w"); ::FILE *file = scanf_test::fopen(FILE_PATH, "w");
ASSERT_FALSE(file == nullptr); ASSERT_FALSE(file == nullptr);