mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 14:19:16 +00:00
selftests/mm: mremap_dontunmap: conform test to TAP format output
Conform the layout, informational and status messages to TAP. No functional change is intended other than the layout of output messages. Link: https://lkml.kernel.org/r/20240202113119.2047740-8-usama.anjum@collabora.com Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com> Cc: Shuah Khan <shuah@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
746f356f11
commit
a0d4705785
1 changed files with 20 additions and 12 deletions
|
@ -27,14 +27,14 @@ static void dump_maps(void)
|
|||
system(cmd);
|
||||
}
|
||||
|
||||
#define BUG_ON(condition, description) \
|
||||
do { \
|
||||
if (condition) { \
|
||||
fprintf(stderr, "[FAIL]\t%s():%d\t%s:%s\n", __func__, \
|
||||
__LINE__, (description), strerror(errno)); \
|
||||
dump_maps(); \
|
||||
exit(1); \
|
||||
} \
|
||||
#define BUG_ON(condition, description) \
|
||||
do { \
|
||||
if (condition) { \
|
||||
dump_maps(); \
|
||||
ksft_exit_fail_msg("[FAIL]\t%s:%d\t%s:%s\n", \
|
||||
__func__, __LINE__, (description), \
|
||||
strerror(errno)); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
// Try a simple operation for to "test" for kernel support this prevents
|
||||
|
@ -122,6 +122,7 @@ static void mremap_dontunmap_simple()
|
|||
"unable to unmap destination mapping");
|
||||
BUG_ON(munmap(source_mapping, num_pages * page_size) == -1,
|
||||
"unable to unmap source mapping");
|
||||
ksft_test_result_pass("%s\n", __func__);
|
||||
}
|
||||
|
||||
// This test validates that MREMAP_DONTUNMAP on a shared mapping works as expected.
|
||||
|
@ -173,6 +174,7 @@ static void mremap_dontunmap_simple_shmem()
|
|||
"unable to unmap destination mapping");
|
||||
BUG_ON(munmap(source_mapping, num_pages * page_size) == -1,
|
||||
"unable to unmap source mapping");
|
||||
ksft_test_result_pass("%s\n", __func__);
|
||||
}
|
||||
|
||||
// This test validates MREMAP_DONTUNMAP will move page tables to a specific
|
||||
|
@ -219,6 +221,7 @@ static void mremap_dontunmap_simple_fixed()
|
|||
"unable to unmap destination mapping");
|
||||
BUG_ON(munmap(source_mapping, num_pages * page_size) == -1,
|
||||
"unable to unmap source mapping");
|
||||
ksft_test_result_pass("%s\n", __func__);
|
||||
}
|
||||
|
||||
// This test validates that we can MREMAP_DONTUNMAP for a portion of an
|
||||
|
@ -269,6 +272,7 @@ static void mremap_dontunmap_partial_mapping()
|
|||
"unable to unmap destination mapping");
|
||||
BUG_ON(munmap(source_mapping, num_pages * page_size) == -1,
|
||||
"unable to unmap source mapping");
|
||||
ksft_test_result_pass("%s\n", __func__);
|
||||
}
|
||||
|
||||
// This test validates that we can remap over only a portion of a mapping.
|
||||
|
@ -328,19 +332,24 @@ static void mremap_dontunmap_partial_mapping_overwrite(void)
|
|||
"unable to unmap destination mapping");
|
||||
BUG_ON(munmap(source_mapping, 5 * page_size) == -1,
|
||||
"unable to unmap source mapping");
|
||||
ksft_test_result_pass("%s\n", __func__);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
ksft_print_header();
|
||||
|
||||
page_size = sysconf(_SC_PAGE_SIZE);
|
||||
|
||||
// test for kernel support for MREMAP_DONTUNMAP skipping the test if
|
||||
// not.
|
||||
if (kernel_support_for_mremap_dontunmap() != 0) {
|
||||
printf("No kernel support for MREMAP_DONTUNMAP\n");
|
||||
return KSFT_SKIP;
|
||||
ksft_print_msg("No kernel support for MREMAP_DONTUNMAP\n");
|
||||
ksft_finished();
|
||||
}
|
||||
|
||||
ksft_set_plan(5);
|
||||
|
||||
// Keep a page sized buffer around for when we need it.
|
||||
page_buffer =
|
||||
mmap(NULL, page_size, PROT_READ | PROT_WRITE,
|
||||
|
@ -356,6 +365,5 @@ int main(void)
|
|||
BUG_ON(munmap(page_buffer, page_size) == -1,
|
||||
"unable to unmap page buffer");
|
||||
|
||||
printf("OK\n");
|
||||
return 0;
|
||||
ksft_finished();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue