77// ===----------------------------------------------------------------------===//
88
99#include " src/__support/OSUtil/syscall.h" // For internal syscall function.
10- #include " src/errno/libc_errno.h"
1110#include " src/sys/mman/madvise.h"
1211#include " src/sys/mman/mincore.h"
1312#include " src/sys/mman/mlock.h"
1413#include " src/sys/mman/mmap.h"
1514#include " src/sys/mman/munlock.h"
1615#include " src/sys/mman/munmap.h"
1716#include " src/unistd/sysconf.h"
17+ #include " test/UnitTest/ErrnoCheckingTest.h"
1818#include " test/UnitTest/ErrnoSetterMatcher.h"
1919#include " test/UnitTest/Test.h"
2020
2424
2525using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Fails;
2626using LIBC_NAMESPACE::testing::ErrnoSetterMatcher::Succeeds;
27+ using LlvmLibcMincoreTest = LIBC_NAMESPACE::testing::ErrnoCheckingTest;
2728
28- TEST (LlvmLibcMincoreTest, UnMappedMemory) {
29- LIBC_NAMESPACE::libc_errno = 0 ;
29+ TEST_F (LlvmLibcMincoreTest, UnMappedMemory) {
3030 unsigned char vec;
3131 int res = LIBC_NAMESPACE::mincore (nullptr , 1 , &vec);
3232 EXPECT_THAT (res, Fails (ENOMEM, -1 ));
3333}
3434
35- TEST (LlvmLibcMincoreTest, UnalignedAddr) {
35+ TEST_F (LlvmLibcMincoreTest, UnalignedAddr) {
3636 unsigned long page_size = LIBC_NAMESPACE::sysconf (_SC_PAGESIZE);
3737 void *addr = LIBC_NAMESPACE::mmap (nullptr , page_size, PROT_READ,
3838 MAP_ANONYMOUS | MAP_PRIVATE, -1 , 0 );
3939 EXPECT_NE (addr, MAP_FAILED);
4040 EXPECT_EQ (reinterpret_cast <unsigned long >(addr) % page_size, 0ul );
41- LIBC_NAMESPACE::libc_errno = 0 ;
4241 int res = LIBC_NAMESPACE::mincore (static_cast <char *>(addr) + 1 , 1 , nullptr );
4342 EXPECT_THAT (res, Fails (EINVAL, -1 ));
4443 EXPECT_THAT (LIBC_NAMESPACE::munmap (addr, page_size), Succeeds ());
4544}
4645
47- TEST (LlvmLibcMincoreTest, InvalidVec) {
46+ TEST_F (LlvmLibcMincoreTest, InvalidVec) {
4847 unsigned long page_size = LIBC_NAMESPACE::sysconf (_SC_PAGESIZE);
4948 void *addr = LIBC_NAMESPACE::mmap (nullptr , 4 * page_size, PROT_READ,
5049 MAP_ANONYMOUS | MAP_PRIVATE, -1 , 0 );
5150 EXPECT_NE (addr, MAP_FAILED);
5251 EXPECT_EQ (reinterpret_cast <unsigned long >(addr) % page_size, 0ul );
53- LIBC_NAMESPACE::libc_errno = 0 ;
5452 int res = LIBC_NAMESPACE::mincore (addr, 1 , nullptr );
5553 EXPECT_THAT (res, Fails (EFAULT, -1 ));
5654}
5755
58- TEST (LlvmLibcMincoreTest, NoError) {
56+ TEST_F (LlvmLibcMincoreTest, NoError) {
5957 unsigned long page_size = LIBC_NAMESPACE::sysconf (_SC_PAGESIZE);
6058 void *addr = LIBC_NAMESPACE::mmap (nullptr , page_size, PROT_READ,
6159 MAP_ANONYMOUS | MAP_PRIVATE, -1 , 0 );
6260 EXPECT_NE (addr, MAP_FAILED);
6361 EXPECT_EQ (reinterpret_cast <unsigned long >(addr) % page_size, 0ul );
6462 unsigned char vec;
65- LIBC_NAMESPACE::libc_errno = 0 ;
6663 int res = LIBC_NAMESPACE::mincore (addr, 1 , &vec);
6764 EXPECT_THAT (res, Succeeds ());
6865 EXPECT_THAT (LIBC_NAMESPACE::munmap (addr, page_size), Succeeds ());
6966}
7067
71- TEST (LlvmLibcMincoreTest, NegativeLength) {
68+ TEST_F (LlvmLibcMincoreTest, NegativeLength) {
7269 unsigned long page_size = LIBC_NAMESPACE::sysconf (_SC_PAGESIZE);
7370 void *addr = LIBC_NAMESPACE::mmap (nullptr , page_size, PROT_READ,
7471 MAP_ANONYMOUS | MAP_PRIVATE, -1 , 0 );
7572 EXPECT_NE (addr, MAP_FAILED);
7673 EXPECT_EQ (reinterpret_cast <unsigned long >(addr) % page_size, 0ul );
7774 unsigned char vec;
78- LIBC_NAMESPACE::libc_errno = 0 ;
7975 int res = LIBC_NAMESPACE::mincore (addr, -1 , &vec);
8076 EXPECT_THAT (res, Fails (ENOMEM, -1 ));
8177 EXPECT_THAT (LIBC_NAMESPACE::munmap (addr, page_size), Succeeds ());
8278}
8379
84- TEST (LlvmLibcMincoreTest, PageOut) {
80+ TEST_F (LlvmLibcMincoreTest, PageOut) {
8581 unsigned long page_size = LIBC_NAMESPACE::sysconf (_SC_PAGESIZE);
8682 unsigned char vec;
8783 void *addr = LIBC_NAMESPACE::mmap (nullptr , page_size, PROT_READ | PROT_WRITE,
@@ -101,11 +97,9 @@ TEST(LlvmLibcMincoreTest, PageOut) {
10197
10298 // page out the memory
10399 {
104- LIBC_NAMESPACE::libc_errno = 0 ;
105100 EXPECT_THAT (LIBC_NAMESPACE::madvise (addr, page_size, MADV_DONTNEED),
106101 Succeeds ());
107102
108- LIBC_NAMESPACE::libc_errno = 0 ;
109103 int res = LIBC_NAMESPACE::mincore (addr, page_size, &vec);
110104 EXPECT_EQ (vec & 1u , 0u );
111105 EXPECT_THAT (res, Succeeds ());
0 commit comments