[libc-commits] [libc] 1348ca4 - [libc] [NFC] Use matchers in tests
Alex Brachet via libc-commits
libc-commits at lists.llvm.org
Sat Mar 7 19:57:06 PST 2020
Author: Alex Brachet
Date: 2020-03-07T22:56:03-05:00
New Revision: 1348ca404629e2e08dd7aec7c68a7121a63e8c37
URL: https://github.com/llvm/llvm-project/commit/1348ca404629e2e08dd7aec7c68a7121a63e8c37
DIFF: https://github.com/llvm/llvm-project/commit/1348ca404629e2e08dd7aec7c68a7121a63e8c37.diff
LOG: [libc] [NFC] Use matchers in tests
Summary:
Use `EXPECT_THAT` where possible in tests NFC intended.
Added a `void *` template instantiation of `StreamWrapper::operator<<`
Reviewers: sivachandra, PaulkaToast
Reviewed By: sivachandra
Subscribers: MaskRay, tschuett, libc-commits
Differential Revision: https://reviews.llvm.org/D75717
Added:
Modified:
libc/test/src/signal/sigprocmask_test.cpp
libc/test/src/sys/mman/linux/mmap_test.cpp
libc/utils/testutils/StreamWrapper.cpp
Removed:
################################################################################
diff --git a/libc/test/src/signal/sigprocmask_test.cpp b/libc/test/src/signal/sigprocmask_test.cpp
index a0918d11c7f5..2f3b5cd516ea 100644
--- a/libc/test/src/signal/sigprocmask_test.cpp
+++ b/libc/test/src/signal/sigprocmask_test.cpp
@@ -14,6 +14,7 @@
#include "src/signal/sigemptyset.h"
#include "src/signal/sigprocmask.h"
+#include "utils/UnitTest/ErrnoSetterMatcher.h"
#include "utils/UnitTest/Test.h"
class SignalTest : public __llvm_libc::testing::Test {
@@ -27,28 +28,23 @@ class SignalTest : public __llvm_libc::testing::Test {
}
};
+using __llvm_libc::testing::ErrnoSetterMatcher::Fails;
+using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds;
+
// This tests for invalid input.
TEST_F(SignalTest, SigprocmaskInvalid) {
- sigset_t valid;
- // 17 and -4 are out of the range for sigprocmask's how paramater.
llvmlibc_errno = 0;
- EXPECT_EQ(__llvm_libc::sigprocmask(17, &valid, nullptr), -1);
- EXPECT_EQ(llvmlibc_errno, EINVAL);
- llvmlibc_errno = 0;
- EXPECT_EQ(__llvm_libc::sigprocmask(-4, &valid, nullptr), -1);
- EXPECT_EQ(llvmlibc_errno, EINVAL);
+ sigset_t valid;
+ // 17 and -4 are out of the range for sigprocmask's how paramater.
+ EXPECT_THAT(__llvm_libc::sigprocmask(17, &valid, nullptr), Fails(EINVAL));
+ EXPECT_THAT(__llvm_libc::sigprocmask(-4, &valid, nullptr), Fails(EINVAL));
// This pointer is out of this processes address range.
sigset_t *invalid = reinterpret_cast<sigset_t *>(-1);
-
- llvmlibc_errno = 0;
- EXPECT_EQ(__llvm_libc::sigprocmask(SIG_SETMASK, invalid, nullptr), -1);
- EXPECT_EQ(llvmlibc_errno, EFAULT);
-
- llvmlibc_errno = 0;
- EXPECT_EQ(__llvm_libc::sigprocmask(-4, nullptr, invalid), -1);
- EXPECT_EQ(llvmlibc_errno, EFAULT);
+ EXPECT_THAT(__llvm_libc::sigprocmask(SIG_SETMASK, invalid, nullptr),
+ Fails(EFAULT));
+ EXPECT_THAT(__llvm_libc::sigprocmask(-4, nullptr, invalid), Fails(EFAULT));
}
// This tests that when nothing is blocked, a process gets killed and alse tests
diff --git a/libc/test/src/sys/mman/linux/mmap_test.cpp b/libc/test/src/sys/mman/linux/mmap_test.cpp
index 9cc3abc1b499..9bb15cd37cf6 100644
--- a/libc/test/src/sys/mman/linux/mmap_test.cpp
+++ b/libc/test/src/sys/mman/linux/mmap_test.cpp
@@ -11,8 +11,12 @@
#include "src/errno/llvmlibc_errno.h"
#include "src/sys/mman/mmap.h"
#include "src/sys/mman/munmap.h"
+#include "utils/UnitTest/ErrnoSetterMatcher.h"
#include "utils/UnitTest/Test.h"
+using __llvm_libc::testing::ErrnoSetterMatcher::Fails;
+using __llvm_libc::testing::ErrnoSetterMatcher::Succeeds;
+
TEST(MMapTest, NoError) {
size_t alloc_size = 128;
llvmlibc_errno = 0;
@@ -26,21 +30,14 @@ TEST(MMapTest, NoError) {
// Since we used the MAP_ANONYMOUS flag, the contents of the newly
// allocated memory should be initialized to zero.
EXPECT_EQ(array[0], 0);
-
- int ret_val = __llvm_libc::munmap(addr, alloc_size);
- EXPECT_EQ(0, ret_val);
- EXPECT_EQ(0, llvmlibc_errno);
+ EXPECT_THAT(__llvm_libc::munmap(addr, alloc_size), Succeeds());
}
TEST(MMapTest, Error_InvalidSize) {
llvmlibc_errno = 0;
void *addr = __llvm_libc::mmap(nullptr, 0, PROT_READ,
MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
- EXPECT_EQ(EINVAL, llvmlibc_errno);
- EXPECT_EQ(addr, MAP_FAILED);
+ EXPECT_THAT(addr, Fails(EINVAL, MAP_FAILED));
- llvmlibc_errno = 0;
- int ret_val = __llvm_libc::munmap(0, 0);
- EXPECT_EQ(-1, ret_val);
- EXPECT_EQ(EINVAL, llvmlibc_errno);
+ EXPECT_THAT(__llvm_libc::munmap(0, 0), Fails(EINVAL));
}
diff --git a/libc/utils/testutils/StreamWrapper.cpp b/libc/utils/testutils/StreamWrapper.cpp
index 7909b6c8790d..142fb4b50d36 100644
--- a/libc/utils/testutils/StreamWrapper.cpp
+++ b/libc/utils/testutils/StreamWrapper.cpp
@@ -23,6 +23,7 @@ template <typename T> StreamWrapper &StreamWrapper::operator<<(T t) {
return *this;
}
+template StreamWrapper &StreamWrapper::operator<<<void *>(void *t);
template StreamWrapper &StreamWrapper::operator<<<const char *>(const char *t);
template StreamWrapper &StreamWrapper::operator<<<char *>(char *t);
template StreamWrapper &StreamWrapper::operator<<<char>(char t);
More information about the libc-commits
mailing list