[libc-commits] [libc] [libc] Temporarily disable LlvmLibcFileTest.WriteOnly in libc.test.src.__support.File.file_test.__hermetic__ due to precommit bots's consistent failures. (PR #128186)
Joseph Huber via libc-commits
libc-commits at lists.llvm.org
Fri Feb 21 10:51:21 PST 2025
================
@@ -113,43 +113,46 @@ StringFile *new_string_file(char *buffer, size_t buflen, int bufmode,
LIBC_NAMESPACE::File::mode_flags(mode));
}
-TEST(LlvmLibcFileTest, WriteOnly) {
- const char data[] = "hello, file";
- constexpr size_t FILE_BUFFER_SIZE = sizeof(data) * 3 / 2;
- char file_buffer[FILE_BUFFER_SIZE];
- StringFile *f =
- new_string_file(file_buffer, FILE_BUFFER_SIZE, _IOFBF, false, "w");
-
- ASSERT_EQ(sizeof(data), f->write(data, sizeof(data)).value);
- EXPECT_EQ(f->get_pos(), size_t(0)); // Data is buffered in the file stream
- ASSERT_EQ(f->flush(), 0);
- EXPECT_EQ(f->get_pos(), sizeof(data)); // Data should now be available
- EXPECT_STREQ(f->get_str(), data);
-
- f->reset();
- ASSERT_EQ(f->get_pos(), size_t(0));
- ASSERT_EQ(sizeof(data), f->write(data, sizeof(data)).value);
- EXPECT_EQ(f->get_pos(), size_t(0)); // Data is buffered in the file stream
- // The second write should trigger a buffer flush.
- ASSERT_EQ(sizeof(data), f->write(data, sizeof(data)).value);
- EXPECT_GE(f->get_pos(), size_t(0));
- ASSERT_EQ(f->flush(), 0);
- EXPECT_EQ(f->get_pos(), 2 * sizeof(data));
- MemoryView src1("hello, file\0hello, file", sizeof(data) * 2),
- dst1(f->get_str(), sizeof(data) * 2);
- EXPECT_MEM_EQ(src1, dst1);
-
- char read_data[sizeof(data)];
- {
- // This is not a readable file.
- auto result = f->read(read_data, sizeof(data));
- EXPECT_EQ(result.value, size_t(0));
- EXPECT_TRUE(f->error());
- EXPECT_TRUE(result.has_error());
- }
-
- ASSERT_EQ(f->close(), 0);
-}
+// TODO: Investigate the precommit bots' failures of this test and re-enable it.
----------------
jhuber6 wrote:
We'd probably want that to be target dependent as well, there's a handful of places where I need to disable a test only on NVPTX for example.
https://github.com/llvm/llvm-project/pull/128186
More information about the libc-commits
mailing list