[v3,1/7] selftests/mm: hugepage-shm: conform test to TAP format output
Commit Message
Conform the layout, informational and status messages to TAP. No
functional change is intended other than the layout of output messages.
The "." was being printed inside for loop to indicate the writes
progress. This was extraneous and hence removed in the patch.
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
---
tools/testing/selftests/mm/hugepage-shm.c | 47 +++++++++++------------
1 file changed, 22 insertions(+), 25 deletions(-)
Comments
Hi Andrew,
There hasn't been any comment on these. I guess, they can be picked up now?
Thanks,
On 1/15/24 12:32 PM, Muhammad Usama Anjum wrote:
> Conform the layout, informational and status messages to TAP. No
> functional change is intended other than the layout of output messages.
>
> The "." was being printed inside for loop to indicate the writes
> progress. This was extraneous and hence removed in the patch.
>
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
> ---
> tools/testing/selftests/mm/hugepage-shm.c | 47 +++++++++++------------
> 1 file changed, 22 insertions(+), 25 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/hugepage-shm.c b/tools/testing/selftests/mm/hugepage-shm.c
> index 478bb1e989e9..f949dbbc3454 100644
> --- a/tools/testing/selftests/mm/hugepage-shm.c
> +++ b/tools/testing/selftests/mm/hugepage-shm.c
> @@ -34,11 +34,10 @@
> #include <sys/ipc.h>
> #include <sys/shm.h>
> #include <sys/mman.h>
> +#include "../kselftest.h"
>
> #define LENGTH (256UL*1024*1024)
>
> -#define dprintf(x) printf(x)
> -
> /* Only ia64 requires this */
> #ifdef __ia64__
> #define ADDR (void *)(0x8000000000000000UL)
> @@ -54,44 +53,42 @@ int main(void)
> unsigned long i;
> char *shmaddr;
>
> + ksft_print_header();
> + ksft_set_plan(1);
> +
> shmid = shmget(2, LENGTH, SHM_HUGETLB | IPC_CREAT | SHM_R | SHM_W);
> - if (shmid < 0) {
> - perror("shmget");
> - exit(1);
> - }
> - printf("shmid: 0x%x\n", shmid);
> + if (shmid < 0)
> + ksft_exit_fail_msg("shmget: %s\n", strerror(errno));
> +
> + ksft_print_msg("shmid: 0x%x\n", shmid);
>
> shmaddr = shmat(shmid, ADDR, SHMAT_FLAGS);
> if (shmaddr == (char *)-1) {
> - perror("Shared memory attach failure");
> shmctl(shmid, IPC_RMID, NULL);
> - exit(2);
> + ksft_exit_fail_msg("Shared memory attach failure: %s\n", strerror(errno));
> }
> - printf("shmaddr: %p\n", shmaddr);
>
> - dprintf("Starting the writes:\n");
> - for (i = 0; i < LENGTH; i++) {
> + ksft_print_msg("shmaddr: %p\n", shmaddr);
> +
> + ksft_print_msg("Starting the writes:");
> + for (i = 0; i < LENGTH; i++)
> shmaddr[i] = (char)(i);
> - if (!(i % (1024 * 1024)))
> - dprintf(".");
> - }
> - dprintf("\n");
> + ksft_print_msg("Done.\n");
>
> - dprintf("Starting the Check...");
> + ksft_print_msg("Starting the Check...");
> for (i = 0; i < LENGTH; i++)
> - if (shmaddr[i] != (char)i) {
> - printf("\nIndex %lu mismatched\n", i);
> - exit(3);
> - }
> - dprintf("Done.\n");
> + if (shmaddr[i] != (char)i)
> + ksft_exit_fail_msg("\nIndex %lu mismatched\n", i);
> + ksft_print_msg("Done.\n");
>
> if (shmdt((const void *)shmaddr) != 0) {
> - perror("Detach failure");
> shmctl(shmid, IPC_RMID, NULL);
> - exit(4);
> + ksft_exit_fail_msg("Detach failure: %s\n", strerror(errno));
> }
>
> shmctl(shmid, IPC_RMID, NULL);
>
> - return 0;
> + ksft_test_result_pass("Completed test\n");
> +
> + ksft_finished();
> }
@@ -34,11 +34,10 @@
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/mman.h>
+#include "../kselftest.h"
#define LENGTH (256UL*1024*1024)
-#define dprintf(x) printf(x)
-
/* Only ia64 requires this */
#ifdef __ia64__
#define ADDR (void *)(0x8000000000000000UL)
@@ -54,44 +53,42 @@ int main(void)
unsigned long i;
char *shmaddr;
+ ksft_print_header();
+ ksft_set_plan(1);
+
shmid = shmget(2, LENGTH, SHM_HUGETLB | IPC_CREAT | SHM_R | SHM_W);
- if (shmid < 0) {
- perror("shmget");
- exit(1);
- }
- printf("shmid: 0x%x\n", shmid);
+ if (shmid < 0)
+ ksft_exit_fail_msg("shmget: %s\n", strerror(errno));
+
+ ksft_print_msg("shmid: 0x%x\n", shmid);
shmaddr = shmat(shmid, ADDR, SHMAT_FLAGS);
if (shmaddr == (char *)-1) {
- perror("Shared memory attach failure");
shmctl(shmid, IPC_RMID, NULL);
- exit(2);
+ ksft_exit_fail_msg("Shared memory attach failure: %s\n", strerror(errno));
}
- printf("shmaddr: %p\n", shmaddr);
- dprintf("Starting the writes:\n");
- for (i = 0; i < LENGTH; i++) {
+ ksft_print_msg("shmaddr: %p\n", shmaddr);
+
+ ksft_print_msg("Starting the writes:");
+ for (i = 0; i < LENGTH; i++)
shmaddr[i] = (char)(i);
- if (!(i % (1024 * 1024)))
- dprintf(".");
- }
- dprintf("\n");
+ ksft_print_msg("Done.\n");
- dprintf("Starting the Check...");
+ ksft_print_msg("Starting the Check...");
for (i = 0; i < LENGTH; i++)
- if (shmaddr[i] != (char)i) {
- printf("\nIndex %lu mismatched\n", i);
- exit(3);
- }
- dprintf("Done.\n");
+ if (shmaddr[i] != (char)i)
+ ksft_exit_fail_msg("\nIndex %lu mismatched\n", i);
+ ksft_print_msg("Done.\n");
if (shmdt((const void *)shmaddr) != 0) {
- perror("Detach failure");
shmctl(shmid, IPC_RMID, NULL);
- exit(4);
+ ksft_exit_fail_msg("Detach failure: %s\n", strerror(errno));
}
shmctl(shmid, IPC_RMID, NULL);
- return 0;
+ ksft_test_result_pass("Completed test\n");
+
+ ksft_finished();
}