All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.