Subject: Re: [PATCH] selftests/powerpc: Fix subpage_prot test to return !0 on failure

From: "Aneesh Kumar K.V" <[email-masked]>
Date: Tue, 03 May 2016 11:26:37 +0530

"Aneesh Kumar K.V" <[email-masked]> writes:

> Michael Ellerman <[email-masked]> writes:
>
>> It's helpful for automated testing if the test returns error codes back
>> to the calling program.
>>
>> Signed-off-by: Michael Ellerman <[email-masked]>
>
>
> Reviewed-by: Aneesh Kumar K.V <[email-masked]>
>
>> ---
>>  tools/testing/selftests/powerpc/mm/subpage_prot.c | 10 ++++++----
>>  1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/tools/testing/selftests/powerpc/mm/subpage_prot.c b/tools/testing/selftests/powerpc/mm/subpage_prot.c
>> index 440180ff8089..7ccdc96b977d 100644
>> --- a/tools/testing/selftests/powerpc/mm/subpage_prot.c
>> +++ b/tools/testing/selftests/powerpc/mm/subpage_prot.c
>> @@ -207,14 +207,16 @@ int test_file(void)
>>
>>  int main(int argc, char *argv[])
>>  {
>> -	test_harness(test_anon, "subpage_prot_anon");
>> +	int rc;
>> +
>> +	rc = test_harness(test_anon, "subpage_prot_anon");
>> +	if (rc)
>> +		return rc;
>>
>>  	if (argc > 1)
>>  		file_name = argv[1];
>>  	else
>>  		file_name = "tempfile";
>>
>> -	test_harness(test_file, "subpage_prot_file");
>> -
>> -	return 0;
>> +	return test_harness(test_file, "subpage_prot_file");
>>  }
>> -- 
>> 2.5.0

While doing this fix the error print ?

520175565: (4520111850): Failed at 0x0x3fffad4b0000 (p=13,sp=0,w=0), want=fault, got=pass !

diff --git a/tools/testing/selftests/powerpc/mm/subpage_prot.c b/tools/testing/selftests/powerpc/mm/subpage_prot.c
index 440180ff8089..5929866aa444 100644
--- a/tools/testing/selftests/powerpc/mm/subpage_prot.c
+++ b/tools/testing/selftests/powerpc/mm/subpage_prot.c
@@ -73,7 +73,7 @@ static inline void check_faulted(void *addr, long page, long subpage, int write)
 		want_fault |= (subpage == ((page + 1) % 16));
 
 	if (faulted != want_fault) {
-		printf("Failed at 0x%p (p=%ld,sp=%ld,w=%d), want=%s, got=%s !\n",
+		printf("Failed at %p (p=%ld,sp=%ld,w=%d), want=%s, got=%s !\n",
 		       addr, page, subpage, write,
 		       want_fault ? "fault" : "pass",
 		       faulted ? "fault" : "pass");