[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)
via libc-commits
libc-commits at lists.llvm.org
Fri Feb 21 07:33:06 PST 2025
https://github.com/lntue updated https://github.com/llvm/llvm-project/pull/128186
>From 6ce3f466ccd38235093c2317d73fbef8c4b7f0ae Mon Sep 17 00:00:00 2001
From: Tue Ly <lntue.h at gmail.com>
Date: Fri, 21 Feb 2025 15:23:43 +0000
Subject: [PATCH 1/2] [libc] Temporarily disable LlvmLibcFileTest.WriteOnly in
libc.test.src.__support.File.file_test.__hermetic__ due to precommit bots's
consistent failures.
---
libc/test/src/__support/File/file_test.cpp | 77 +++++++++++-----------
1 file changed, 40 insertions(+), 37 deletions(-)
diff --git a/libc/test/src/__support/File/file_test.cpp b/libc/test/src/__support/File/file_test.cpp
index b3c9f2ba49bce..9c634ca07a5d0 100644
--- a/libc/test/src/__support/File/file_test.cpp
+++ b/libc/test/src/__support/File/file_test.cpp
@@ -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.
+// https://github.com/llvm/llvm-project/issues/128185.
+//
+// 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);
+// }
TEST(LlvmLibcFileTest, WriteLineBuffered) {
const char data[] = "hello\n file";
>From 6c724748be090cafd894a9d8b5178191e61ef503 Mon Sep 17 00:00:00 2001
From: Tue Ly <lntue.h at gmail.com>
Date: Fri, 21 Feb 2025 15:32:40 +0000
Subject: [PATCH 2/2] Apply comment.
---
libc/test/src/__support/File/file_test.cpp | 77 +++++++++++-----------
1 file changed, 39 insertions(+), 38 deletions(-)
diff --git a/libc/test/src/__support/File/file_test.cpp b/libc/test/src/__support/File/file_test.cpp
index 9c634ca07a5d0..cf01a78ef6423 100644
--- a/libc/test/src/__support/File/file_test.cpp
+++ b/libc/test/src/__support/File/file_test.cpp
@@ -115,44 +115,45 @@ StringFile *new_string_file(char *buffer, size_t buflen, int bufmode,
// TODO: Investigate the precommit bots' failures of this test and re-enable it.
// https://github.com/llvm/llvm-project/issues/128185.
-//
-// 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);
-// }
+#if 0
+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);
+}
+#endif
TEST(LlvmLibcFileTest, WriteLineBuffered) {
const char data[] = "hello\n file";
More information about the libc-commits
mailing list