[LTP] [RFC PATCH v3 2/5] tst_test.sh: Introduce TST_NO_DEFAULT_RUN
Cyril Hrubis
chrubis@suse.cz
Wed Apr 4 15:08:06 CEST 2018
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
More information about the ltp
mailing list