lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170816232537.GA1877@fury>
Date:   Wed, 16 Aug 2017 16:25:37 -0700
From:   Darren Hart <dvhart@...radead.org>
To:     Shuah Khan <shuahkh@....samsung.com>
Cc:     shuah@...nel.org, tglx@...utronix.de, mingo@...hat.com,
        peterz@...radead.org, naresh.kamboju@...aro.org, shorne@...il.com,
        linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org
Subject: Re: [PATCH] selftests: futex: convert test to use ksft TAP13
 framework

On Fri, Aug 04, 2017 at 06:46:50PM -0600, Shuah Khan wrote:
> Convert test to use ksft TAP13 framework.
> 

Please include some information in the commit about why we're doing this
and what it is.

>From what I can tell this is converting raw printk to a wrapped set of
logging functions to produce a more consistent output across the
kselftest suite.

I have no objection to that for the futex tests:

Acked-by: Darren Hart (VMware) <dvhart@...radead.org>


> Signed-off-by: Shuah Khan <shuahkh@....samsung.com>
> ---
>  .../selftests/futex/functional/futex_requeue_pi.c    |  8 +++++---
>  .../functional/futex_requeue_pi_mismatched_ops.c     |  3 ++-
>  .../functional/futex_requeue_pi_signal_restart.c     |  5 +++--
>  .../functional/futex_wait_private_mapped_file.c      |  6 ++++--
>  .../selftests/futex/functional/futex_wait_timeout.c  |  5 +++--
>  .../futex/functional/futex_wait_uninitialized_heap.c |  3 ++-
>  .../futex/functional/futex_wait_wouldblock.c         |  3 ++-
>  tools/testing/selftests/futex/include/logging.h      | 20 +++++++++-----------
>  8 files changed, 30 insertions(+), 23 deletions(-)
> 
> diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi.c b/tools/testing/selftests/futex/functional/futex_requeue_pi.c
> index d24ab7421e73..54cd5c414e82 100644
> --- a/tools/testing/selftests/futex/functional/futex_requeue_pi.c
> +++ b/tools/testing/selftests/futex/functional/futex_requeue_pi.c
> @@ -394,9 +394,11 @@ int main(int argc, char *argv[])
>  		}
>  	}
>  
> -	printf("%s: Test requeue functionality\n", basename(argv[0]));
> -	printf("\tArguments: broadcast=%d locked=%d owner=%d timeout=%ldns\n",
> -	       broadcast, locked, owner, timeout_ns);
> +	ksft_print_header();
> +	ksft_print_msg("%s: Test requeue functionality\n", basename(argv[0]));
> +	ksft_print_msg(
> +		"\tArguments: broadcast=%d locked=%d owner=%d timeout=%ldns\n",
> +		broadcast, locked, owner, timeout_ns);
>  
>  	/*
>  	 * FIXME: unit_test is obsolete now that we parse options and the
> diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c b/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c
> index e0a798ad0d21..08187a16507f 100644
> --- a/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c
> +++ b/tools/testing/selftests/futex/functional/futex_requeue_pi_mismatched_ops.c
> @@ -78,7 +78,8 @@ int main(int argc, char *argv[])
>  		}
>  	}
>  
> -	printf("%s: Detect mismatched requeue_pi operations\n",
> +	ksft_print_header();
> +	ksft_print_msg("%s: Detect mismatched requeue_pi operations\n",
>  	       basename(argv[0]));
>  
>  	if (pthread_create(&child, NULL, blocking_child, NULL)) {
> diff --git a/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c b/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
> index 982f83577501..f0542a344d95 100644
> --- a/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
> +++ b/tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
> @@ -143,9 +143,10 @@ int main(int argc, char *argv[])
>  		}
>  	}
>  
> -	printf("%s: Test signal handling during requeue_pi\n",
> +	ksft_print_header();
> +	ksft_print_msg("%s: Test signal handling during requeue_pi\n",
>  	       basename(argv[0]));
> -	printf("\tArguments: <none>\n");
> +	ksft_print_msg("\tArguments: <none>\n");
>  
>  	sa.sa_handler = handle_signal;
>  	sigemptyset(&sa.sa_mask);
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c b/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c
> index bdc48dc047e5..6216de828093 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_private_mapped_file.c
> @@ -97,8 +97,10 @@ int main(int argc, char **argv)
>  		}
>  	}
>  
> -	printf("%s: Test the futex value of private file mappings in FUTEX_WAIT\n",
> -	       basename(argv[0]));
> +	ksft_print_header();
> +	ksft_print_msg(
> +		"%s: Test the futex value of private file mappings in FUTEX_WAIT\n",
> +		basename(argv[0]));
>  
>  	ret = pthread_create(&thr, NULL, thr_futex_wait, NULL);
>  	if (ret < 0) {
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_timeout.c b/tools/testing/selftests/futex/functional/futex_wait_timeout.c
> index 6aadd560366e..bab3dfe1787f 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_timeout.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_timeout.c
> @@ -68,9 +68,10 @@ int main(int argc, char *argv[])
>  		}
>  	}
>  
> -	printf("%s: Block on a futex and wait for timeout\n",
> +	ksft_print_header();
> +	ksft_print_msg("%s: Block on a futex and wait for timeout\n",
>  	       basename(argv[0]));
> -	printf("\tArguments: timeout=%ldns\n", timeout_ns);
> +	ksft_print_msg("\tArguments: timeout=%ldns\n", timeout_ns);
>  
>  	/* initialize timeout */
>  	to.tv_sec = 0;
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c b/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c
> index d237a8b702f0..26975322545b 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_uninitialized_heap.c
> @@ -99,7 +99,8 @@ int main(int argc, char **argv)
>  		exit(1);
>  	}
>  
> -	printf("%s: Test the uninitialized futex value in FUTEX_WAIT\n",
> +	ksft_print_header();
> +	ksft_print_msg("%s: Test the uninitialized futex value in FUTEX_WAIT\n",
>  	       basename(argv[0]));
>  
>  
> diff --git a/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c b/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
> index 9a2c56fa7305..da15a63269b4 100644
> --- a/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
> +++ b/tools/testing/selftests/futex/functional/futex_wait_wouldblock.c
> @@ -64,7 +64,8 @@ int main(int argc, char *argv[])
>  		}
>  	}
>  
> -	printf("%s: Test the unexpected futex value in FUTEX_WAIT\n",
> +	ksft_print_header();
> +	ksft_print_msg("%s: Test the unexpected futex value in FUTEX_WAIT\n",
>  	       basename(argv[0]));
>  
>  	info("Calling futex_wait on f1: %u @ %p with val=%u\n", f1, &f1, f1+1);
> diff --git a/tools/testing/selftests/futex/include/logging.h b/tools/testing/selftests/futex/include/logging.h
> index 4e7944984fbb..01989644e50a 100644
> --- a/tools/testing/selftests/futex/include/logging.h
> +++ b/tools/testing/selftests/futex/include/logging.h
> @@ -109,22 +109,20 @@ void log_verbosity(int level)
>   */
>  void print_result(const char *test_name, int ret)
>  {
> -	const char *result = "Unknown return code";
> -
>  	switch (ret) {
>  	case RET_PASS:
> -		ksft_inc_pass_cnt();
> -		result = PASS;
> -		break;
> +		ksft_test_result_pass("%s\n", test_name);
> +		ksft_print_cnts();
> +		return;
>  	case RET_ERROR:
> -		result = ERROR;
> -		break;
> +		ksft_test_result_error("%s\n", test_name);
> +		ksft_print_cnts();
> +		return;
>  	case RET_FAIL:
> -		ksft_inc_fail_cnt();
> -		result = FAIL;
> -		break;
> +		ksft_test_result_fail("%s\n", test_name);
> +		ksft_print_cnts();
> +		return;
>  	}
> -	printf("selftests: %s [%s]\n", test_name, result);
>  }
>  
>  /* log level macros */
> -- 
> 2.11.0
> 
> 

-- 
Darren Hart
VMware Open Source Technology Center

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ