public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: Cyril Hrubis <chrubis@suse.cz>
To: ltp@lists.linux.it
Subject: [LTP] [RFC PATCH v3 2/5] tst_test.sh: Introduce TST_NO_DEFAULT_RUN
Date: Wed, 4 Apr 2018 15:08:06 +0200	[thread overview]
Message-ID: <20180404130806.GG32109@rei> (raw)
In-Reply-To: <20180403154717.22491-3-pvorel@suse.cz>

Hi!
> TST_NO_DEFAULT_RUN is somehow similar to TST_NO_DEFAULT_MAIN. It's meant
> to be used for libraries and tools using tst_test.sh. It helps to use
> part of test framework functionality without wanting to run test.
>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  testcases/lib/tst_test.sh | 100 +++++++++++++++++++++++-----------------------
>  1 file changed, 51 insertions(+), 49 deletions(-)
> 
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 78bd328a2..7cdaa1f7f 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -1,6 +1,6 @@
>  #!/bin/sh
>  #
> -# Copyright (c) Linux Test Project, 2014-2017
> +# Copyright (c) Linux Test Project, 2014-2018
>  #
>  # This program is free software; you can redistribute it and/or modify
>  # it under the terms of the GNU General Public License as published by
> @@ -371,67 +371,69 @@ tst_run()
>  	tst_do_exit
>  }
>  
> -if TST_TEST_PATH=$(which $0) 2>/dev/null; then
> -	if ! grep -q tst_run "$TST_TEST_PATH"; then
> -		tst_brk TBROK "Test $0 must call tst_run!"
> +if [ -z "$TST_NO_DEFAULT_RUN" ]; then
> +	if TST_TEST_PATH=$(which $0) 2>/dev/null; then
> +		if ! grep -q tst_run "$TST_TEST_PATH"; then
> +			tst_brk TBROK "Test $0 must call tst_run!"
> +		fi
>  	fi
> -fi
> -
> -if [ -z "$TST_ID" ]; then
> -	filename=$(basename $0)
> -	TST_ID=${filename%%.*}
> -fi
> -export TST_ID="$TST_ID"
> -
> -if [ -z "$TST_TESTFUNC" ]; then
> -	tst_brk TBROK "TST_TESTFUNC is not defined"
> -fi
>  
> -if [ -n "$TST_CNT" ]; then
> -	if ! tst_is_int "$TST_CNT"; then
> -		tst_brk TBROK "TST_CNT must be integer"
> +	if [ -z "$TST_ID" ]; then
> +		filename=$(basename $0)
> +		TST_ID=${filename%%.*}
>  	fi
> +	export TST_ID="$TST_ID"
>  
> -	if [ "$TST_CNT" -le 0 ]; then
> -		tst_brk TBROK "TST_CNT must be > 0"
> +	if [ -z "$TST_TESTFUNC" ]; then
> +		tst_brk TBROK "TST_TESTFUNC is not defined"
>  	fi
> -fi
>  
> -if [ -n "$TST_POS_ARGS" ]; then
> -	if ! tst_is_int "$TST_POS_ARGS"; then
> -		tst_brk TBROK "TST_POS_ARGS must be integer"
> +	if [ -n "$TST_CNT" ]; then
> +		if ! tst_is_int "$TST_CNT"; then
> +			tst_brk TBROK "TST_CNT must be integer"
> +		fi
> +
> +		if [ "$TST_CNT" -le 0 ]; then
> +			tst_brk TBROK "TST_CNT must be > 0"
> +		fi
>  	fi
>  
> -	if [ "$TST_POS_ARGS" -le 0 ]; then
> -		tst_brk TBROK "TST_POS_ARGS must be > 0"
> +	if [ -n "$TST_POS_ARGS" ]; then
> +		if ! tst_is_int "$TST_POS_ARGS"; then
> +			tst_brk TBROK "TST_POS_ARGS must be integer"
> +		fi
> +
> +		if [ "$TST_POS_ARGS" -le 0 ]; then
> +			tst_brk TBROK "TST_POS_ARGS must be > 0"
> +		fi
>  	fi
> -fi
>  
> -if [ -z "$LTPROOT" ]; then
> -	export LTPROOT="$PWD"
> -	export TST_DATAROOT="$LTPROOT/datafiles"
> -else
> -	export TST_DATAROOT="$LTPROOT/testcases/data/$TST_ID"
> -fi
> +	if [ -z "$LTPROOT" ]; then
> +		export LTPROOT="$PWD"
> +		export TST_DATAROOT="$LTPROOT/datafiles"
> +	else
> +		export TST_DATAROOT="$LTPROOT/testcases/data/$TST_ID"
> +	fi

I guess that we may want to initialize the TST_ID, LTPROOT and
TST_DATAROOT regardless, otherwise this looks pretty much
straighforward and okay.

-- 
Cyril Hrubis
chrubis@suse.cz

  reply	other threads:[~2018-04-04 13:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-03 15:47 [LTP] [RFC PATCH v3 0/5] Rewriting network tests into new shell API Petr Vorel
2018-04-03 15:47 ` [LTP] [RFC PATCH v3 1/5] tst_net.sh: Support both old and new shell APIs + rename it Petr Vorel
2018-04-04 13:37   ` Alexey Kodanev
2018-04-03 15:47 ` [LTP] [RFC PATCH v3 2/5] tst_test.sh: Introduce TST_NO_DEFAULT_RUN Petr Vorel
2018-04-04 13:08   ` Cyril Hrubis [this message]
2018-04-04 13:15     ` Petr Vorel
2018-04-03 15:47 ` [LTP] [RFC PATCH v3 3/5] network.sh: Migrate to new shell API Petr Vorel
2018-04-03 15:47 ` [LTP] [RFC PATCH v3 4/5] network/interface: Cleanup if4-addr-change Petr Vorel
2018-04-03 15:47 ` [LTP] [RFC PATCH v3 5/5] net: Migrate test_net_stress.sh and it's dependencies to new shell API Petr Vorel
2018-04-04 13:59   ` Alexey Kodanev
2018-04-04 14:33     ` Petr Vorel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180404130806.GG32109@rei \
    --to=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox