aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c
diff options
context:
space:
mode:
authorMichael Ellerman <mpe@ellerman.id.au>2022-06-28 00:02:37 +1000
committerMichael Ellerman <mpe@ellerman.id.au>2022-07-25 12:05:16 +1000
commit7b1513d02edf4a6334618070641f47abbbef0cef (patch)
tree6cc15b316491fb31c8f6629e96bac7ed854bda43 /tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c
parentselftests/powerpc/ptrace: Do more of ptrace-gpr in asm (diff)
downloadlinux-dev-7b1513d02edf4a6334618070641f47abbbef0cef.tar.xz
linux-dev-7b1513d02edf4a6334618070641f47abbbef0cef.zip
selftests/powerpc/ptrace: Make child errors more obvious
Use the FAIL_IF() macro so that errors in the child report a line number, rather than just silently exiting. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20220627140239.2464900-11-mpe@ellerman.id.au
Diffstat (limited to 'tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c')
-rw-r--r--tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c b/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c
index 4e7a7eb01e3a..b574ea26395c 100644
--- a/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c
+++ b/tools/testing/selftests/powerpc/ptrace/ptrace-gpr.c
@@ -19,7 +19,7 @@ double c = FPR_3;
extern void gpr_child_loop(int *read_flag, int *write_flag,
unsigned long *gpr_buf, double *fpr_buf);
-void gpr(void)
+static int child(void)
{
unsigned long gpr_buf[32];
double fpr_buf[32];
@@ -38,13 +38,10 @@ void gpr(void)
shmdt((void *)cptr);
- if (validate_gpr(gpr_buf, GPR_3))
- exit(1);
+ FAIL_IF(validate_gpr(gpr_buf, GPR_3));
+ FAIL_IF(validate_fpr_double(fpr_buf, c));
- if (validate_fpr_double(fpr_buf, c))
- exit(1);
-
- exit(0);
+ return 0;
}
int trace_gpr(pid_t child)
@@ -76,7 +73,7 @@ int ptrace_gpr(void)
return TEST_FAIL;
}
if (pid == 0)
- gpr();
+ exit(child());
if (pid) {
pptr = (int *)shmat(shm_id, NULL, 0);