[libc-commits] [libc] aec239c - [libc] reset errno in isatty tests
Michael Jones via libc-commits
libc-commits at lists.llvm.org
Mon Oct 10 15:49:55 PDT 2022
Author: Michael Jones
Date: 2022-10-10T15:49:48-07:00
New Revision: aec239cdb885feb98a5bbd7240df0c8b4aac8245
URL: https://github.com/llvm/llvm-project/commit/aec239cdb885feb98a5bbd7240df0c8b4aac8245
DIFF: https://github.com/llvm/llvm-project/commit/aec239cdb885feb98a5bbd7240df0c8b4aac8245.diff
LOG: [libc] reset errno in isatty tests
Errno wasn't getting reset between tests, causing cascading failures.
Differential Revision: https://reviews.llvm.org/D135627
Added:
Modified:
libc/test/src/unistd/isatty_test.cpp
Removed:
################################################################################
diff --git a/libc/test/src/unistd/isatty_test.cpp b/libc/test/src/unistd/isatty_test.cpp
index 79e0e0eb1467..77680ad55110 100644
--- a/libc/test/src/unistd/isatty_test.cpp
+++ b/libc/test/src/unistd/isatty_test.cpp
@@ -20,6 +20,7 @@ using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds;
TEST(LlvmLibcIsATTYTest, StdInOutTests) {
// If stdin is connected to a terminal, assume that all of the standard i/o
// fds are.
+ errno = 0;
if (__llvm_libc::isatty(0)) {
EXPECT_THAT(__llvm_libc::isatty(0), Succeeds(1)); // stdin
EXPECT_THAT(__llvm_libc::isatty(1), Succeeds(1)); // stdout
@@ -32,11 +33,13 @@ TEST(LlvmLibcIsATTYTest, StdInOutTests) {
}
TEST(LlvmLibcIsATTYTest, BadFdTest) {
+ errno = 0;
EXPECT_THAT(__llvm_libc::isatty(-1), Fails(EBADF, 0)); // invalid fd
}
TEST(LlvmLibcIsATTYTest, DevTTYTest) {
constexpr const char *TTY_FILE = "/dev/tty";
+ errno = 0;
int fd = __llvm_libc::open(TTY_FILE, O_RDONLY);
if (fd > 0) {
ASSERT_EQ(errno, 0);
@@ -47,6 +50,7 @@ TEST(LlvmLibcIsATTYTest, DevTTYTest) {
TEST(LlvmLibcIsATTYTest, FileTest) {
constexpr const char *TEST_FILE = "testdata/isatty.test";
+ errno = 0;
int fd = __llvm_libc::open(TEST_FILE, O_WRONLY | O_CREAT, S_IRWXU);
ASSERT_EQ(errno, 0);
ASSERT_GT(fd, 0);
More information about the libc-commits
mailing list