public inbox for [email protected]
 help / color / mirror / Atom feed
From: Hao Xu <[email protected]>
To: Jens Axboe <[email protected]>
Cc: [email protected], Joseph Qi <[email protected]>
Subject: Re: [PATCH liburing] test: use a map to define test files / devices we need
Date: Tue, 15 Dec 2020 10:44:14 +0800	[thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

在 2020/12/8 下午8:28, Hao Xu 写道:
ping...
> Different tests need different files / devices, use a map to indicate
> what each test need.
> 
> Signed-off-by: Hao Xu <[email protected]>
> ---
> 
> the former implementation use a array for the global list TEST_FILES,
> which may causes this:
> 	TEST_FILES="dev0 dev1"
> 	dev0 required by test0
> 	dev1 required by test1
> In the <for tst in $TESTS> loop, we run the test for each $dev, which
> makes <test0 dev1> and <test1 dev0> run, these are not expected.
> Currently I see that statx.c accept argv[1] as a file_name, if someone
> writes another test which defines a device(say nvme0n1) in TEST_FILES,
> it may cause issues.
> 
>   test/config      |  2 +-
>   test/runtests.sh | 13 ++++++-------
>   2 files changed, 7 insertions(+), 8 deletions(-)
> 
> diff --git a/test/config b/test/config
> index cab270359155..1bd9b40207bb 100644
> --- a/test/config
> +++ b/test/config
> @@ -4,4 +4,4 @@
>   # TEST_EXCLUDE=""
>   #
>   # Define raw test devices (or files) for test cases, if any
> -# TEST_FILES="/dev/nvme0n1p2 /data/file"
> +# declare -A TEST_FILES=()
> diff --git a/test/runtests.sh b/test/runtests.sh
> index fa240f205542..1a6905b42768 100755
> --- a/test/runtests.sh
> +++ b/test/runtests.sh
> @@ -5,10 +5,10 @@ RET=0
>   TIMEOUT=60
>   DMESG_FILTER="cat"
>   TEST_DIR=$(dirname $0)
> -TEST_FILES=""
>   FAILED=""
>   SKIPPED=""
>   MAYBE_FAILED=""
> +declare -A TEST_FILES
>   
>   # Only use /dev/kmsg if running as root
>   DO_KMSG="1"
> @@ -17,7 +17,7 @@ DO_KMSG="1"
>   # Include config.local if exists and check TEST_FILES for valid devices
>   if [ -f "$TEST_DIR/config.local" ]; then
>   	. $TEST_DIR/config.local
> -	for dev in $TEST_FILES; do
> +	for dev in ${TEST_FILES[@]}; do
>   		if [ ! -e "$dev" ]; then
>   			echo "Test file $dev not valid"
>   			exit 1
> @@ -109,11 +109,10 @@ run_test()
>   
>   # Run all specified tests
>   for tst in $TESTS; do
> -	run_test $tst
> -	if [ ! -z "$TEST_FILES" ]; then
> -		for dev in $TEST_FILES; do
> -			run_test $tst $dev
> -		done
> +	if [ ! -n "${TEST_FILES[$tst]}" ]; then
> +		run_test $tst
> +	else
> +		run_test $tst ${TEST_FILES[$tst]}
>   	fi
>   done
>   
> 


  reply	other threads:[~2020-12-15  2:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-08 12:28 [PATCH liburing] test: use a map to define test files / devices we need Hao Xu
2020-12-15  2:44 ` Hao Xu [this message]
2020-12-22  3:03   ` Hao Xu
2021-01-26  6:18     ` Hao Xu
2021-01-26 17:59       ` Jens Axboe
2021-01-27 12:04         ` Hao Xu

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=12018281-f8d4-7a67-3ffc-49d6a1c721b8@linux.alibaba.com \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /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