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
4953TEST (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