Replace `CHECK_MM` with `TEST_SUCC`

This commit is contained in:
Ruihan Li 2025-12-14 23:37:20 +08:00 committed by Tate, Hongliang Tian
parent 49a2cecc81
commit 4f05bdc891
2 changed files with 35 additions and 38 deletions

View File

@ -61,23 +61,21 @@ END_TEST()
const char *content = "kjfkljk*wigo&h";
#define CHECK_MM(func) CHECK_WITH(func, _ret != MAP_FAILED)
FN_TEST(mmap_and_mremap)
{
char *addr = CHECK_MM(mmap(NULL, 3 * PAGE_SIZE, PROT_READ | PROT_WRITE,
char *addr = TEST_SUCC(mmap(NULL, 3 * PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
TEST_SUCC(munmap(addr, 3 * PAGE_SIZE));
addr = CHECK_MM(mmap(addr, PAGE_SIZE, PROT_READ | PROT_WRITE,
addr = TEST_SUCC(mmap(addr, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0));
strcpy(addr, content);
char *addr2 = CHECK_MM(
char *addr2 = TEST_SUCC(
mmap(addr + 2 * PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0));
char *new_addr = CHECK_MM(
char *new_addr = TEST_SUCC(
mremap(addr, PAGE_SIZE, 3 * PAGE_SIZE, MREMAP_MAYMOVE));
// Ensure that the mapping at the old address does not exist any more.
@ -96,7 +94,8 @@ END_TEST()
FN_TEST(mmap_and_mremap_fixed)
{
char *addr1 = CHECK_MM(mmap(NULL, PAGE_SIZE * 2, PROT_READ | PROT_WRITE,
char *addr1 =
TEST_SUCC(mmap(NULL, PAGE_SIZE * 2, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
strcpy(addr1, content);
@ -122,19 +121,19 @@ END_TEST()
FN_TEST(mmap_and_mremap_auto_merge_anon)
{
char *addr = CHECK_MM(mmap(NULL, 6 * PAGE_SIZE, PROT_READ | PROT_WRITE,
char *addr = TEST_SUCC(mmap(NULL, 6 * PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
TEST_SUCC(munmap(addr, 6 * PAGE_SIZE));
CHECK_MM(mmap(addr, PAGE_SIZE, PROT_READ | PROT_WRITE,
TEST_SUCC(mmap(addr, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0));
strcpy(addr, content);
CHECK_MM(mmap(addr + 2 * PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
TEST_SUCC(mmap(addr + 2 * PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0));
CHECK_MM(mmap(addr + PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
TEST_SUCC(mmap(addr + PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0));
char *new_addr = CHECK_MM(mremap(addr, 3 * PAGE_SIZE, 3 * PAGE_SIZE,
char *new_addr = TEST_SUCC(mremap(addr, 3 * PAGE_SIZE, 3 * PAGE_SIZE,
MREMAP_MAYMOVE | MREMAP_FIXED,
addr + 3 * PAGE_SIZE));
TEST_RES(strcmp(new_addr, content), _ret == 0);
@ -148,19 +147,19 @@ FN_TEST(mmap_and_mremap_auto_merge_file)
int fd = TEST_SUCC(open(filename, O_CREAT | O_RDWR, 0600));
TEST_SUCC(ftruncate(fd, 6 * PAGE_SIZE));
char *addr = CHECK_MM(mmap(NULL, 6 * PAGE_SIZE, PROT_READ | PROT_WRITE,
char *addr = TEST_SUCC(mmap(NULL, 6 * PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE, fd, 0));
TEST_SUCC(munmap(addr, 6 * PAGE_SIZE));
CHECK_MM(mmap(addr, PAGE_SIZE, PROT_READ | PROT_WRITE,
TEST_SUCC(mmap(addr, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_FIXED, fd, 0));
strcpy(addr, content);
CHECK_MM(mmap(addr + 2 * PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
TEST_SUCC(mmap(addr + 2 * PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_FIXED, fd, 2 * PAGE_SIZE));
CHECK_MM(mmap(addr + PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
TEST_SUCC(mmap(addr + PAGE_SIZE, PAGE_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_FIXED, fd, PAGE_SIZE));
char *new_addr = CHECK_MM(mremap(addr, 3 * PAGE_SIZE, 3 * PAGE_SIZE,
char *new_addr = TEST_SUCC(mremap(addr, 3 * PAGE_SIZE, 3 * PAGE_SIZE,
MREMAP_MAYMOVE | MREMAP_FIXED,
addr + 3 * PAGE_SIZE));
TEST_RES(strcmp(new_addr, content), _ret == 0);

View File

@ -68,11 +68,9 @@ long get_vm_rss_kb(rss_type type)
return rss_kb;
}
#define CHECK_MM(func) CHECK_WITH(func, _ret != MAP_FAILED)
FN_TEST(rss_anon)
{
void *mem = CHECK_MM(mmap(NULL, TOTAL_SIZE, PROT_READ | PROT_WRITE,
void *mem = TEST_SUCC(mmap(NULL, TOTAL_SIZE, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
// The first call to `TEST_SUCC` and `get_vm_rss_kb()` may trigger
@ -120,8 +118,8 @@ FN_TEST(rss_file)
long rss_file_before = TEST_SUCC(get_vm_rss_kb(file));
long rss_before = TEST_SUCC(get_vm_rss_kb(total));
void *mem =
CHECK_MM(mmap(NULL, TOTAL_SIZE, PROT_READ, MAP_PRIVATE, fd, 0));
void *mem = TEST_SUCC(
mmap(NULL, TOTAL_SIZE, PROT_READ, MAP_PRIVATE, fd, 0));
// Trigger page faults
for (int i = 0; i < NUM_PAGES; ++i) {