Skip to content

Commit 6cdfe53

Browse files
committed
- Patch Successful Test
1 parent 0caed2f commit 6cdfe53

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

libc/test/src/sys/mman/linux/remap_file_pages_test.cpp

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "src/unistd/sysconf.h"
1414
#include "test/UnitTest/ErrnoSetterMatcher.h"
1515
#include "test/UnitTest/Test.h"
16+
#include <fcntl.h>
1617

1718
#include <sys/mman.h>
1819

@@ -23,20 +24,23 @@ TEST(LlvmLibcRemapFilePagesTest, NoError) {
2324
size_t page_size = sysconf(_SC_PAGE_SIZE);
2425
ASSERT_GT(page_size, size_t(0));
2526

27+
// Create a file-backed mapping
28+
int fd = open("/dev/zero", O_RDWR);
29+
ASSERT_GT(fd, 0);
30+
2631
// First, allocate some memory using mmap
2732
size_t alloc_size = 2 * page_size;
2833
LIBC_NAMESPACE::libc_errno = 0;
2934
void *addr = LIBC_NAMESPACE::mmap(nullptr, alloc_size, PROT_READ | PROT_WRITE,
30-
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
35+
MAP_SHARED, fd, 0);
3136
ASSERT_ERRNO_SUCCESS();
3237
EXPECT_NE(addr, MAP_FAILED);
3338

3439
// Reset error number for the new function
3540
LIBC_NAMESPACE::libc_errno = 0;
3641

3742
// Now try to remap the pages
38-
EXPECT_THAT(LIBC_NAMESPACE::remap_file_pages(addr, page_size, PROT_READ,
39-
page_size, 0),
43+
EXPECT_THAT(LIBC_NAMESPACE::remap_file_pages(addr, page_size, 0, 1, 0),
4044
Succeeds());
4145

4246
// Reset error number for the new function
@@ -47,12 +51,20 @@ TEST(LlvmLibcRemapFilePagesTest, NoError) {
4751
}
4852

4953
TEST(LlvmLibcRemapFilePagesTest, ErrorInvalidFlags) {
50-
size_t page_size = sysconf(_SC_PAGESIZE);
54+
size_t page_size = sysconf(_SC_PAGE_SIZE);
5155
ASSERT_GT(page_size, size_t(0));
5256

53-
void *addr = LIBC_NAMESPACE::mmap(nullptr, page_size, PROT_READ | PROT_WRITE,
54-
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
55-
ASSERT_NE(addr, MAP_FAILED);
57+
// Create a file-backed mapping
58+
int fd = open("/dev/zero", O_RDWR);
59+
ASSERT_GT(fd, 0);
60+
61+
// First, allocate some memory using mmap
62+
size_t alloc_size = 2 * page_size;
63+
LIBC_NAMESPACE::libc_errno = 0;
64+
void *addr = LIBC_NAMESPACE::mmap(nullptr, alloc_size, PROT_READ | PROT_WRITE,
65+
MAP_SHARED, fd, 0);
66+
ASSERT_ERRNO_SUCCESS();
67+
EXPECT_NE(addr, MAP_FAILED);
5668

5769
// Try to remap pages with an invalid flag MAP_PRIVATE
5870
EXPECT_THAT(LIBC_NAMESPACE::remap_file_pages(addr, page_size, PROT_READ, 0,

0 commit comments

Comments
 (0)