qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu-iotests: Fail test if explict test case nu


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH] qemu-iotests: Fail test if explict test case number is unknown
Date: Thu, 25 Sep 2014 09:46:24 +0800
User-agent: Mutt/1.5.23 (2014-03-12)

On Wed, 09/24 10:05, Stefan Hajnoczi wrote:
> On Tue, Sep 23, 2014 at 10:26:26AM +0800, Fam Zheng wrote:
> > When we expand a number range, we just print "$id - unknown test,
> > ignored", this is convenient if we want to run a range of tests.
> > 
> > When we designate a test case number explicitly, we shouldn't just
> > ignore it if the case script doesn't exist.
> > 
> > Print an error and fail the test.
> 
> I guess you want this because new test case numbers are often sparse?
> For example, 096, 096, 098 are missing.  Presumably those patches are
> waiting to be merged but we already merged 100.
> 
> It's helps to explain "why" this patch is useful.

OK.

Because when explicitly running one test just beyond the biggest case number
(happens when you write a new test but didn't update group file), with the exit
status 0 and "PASS" in the last line of output, it is hard to realize that
group file is missed without paying a fairly close attention.

# ./check -qcow2 999
999 - unknown test
QEMU          -- 
/home/fam/build/last/tests/qemu-iotests/../../x86_64-softmmu/qemu-system-x86_64
QEMU_IMG      -- /home/fam/build/last/tests/qemu-iotests/../../qemu-img
QEMU_IO       -- /home/fam/build/last/tests/qemu-iotests/../../qemu-io
QEMU_NBD      -- /home/fam/build/last/tests/qemu-iotests/../../qemu-nbd
IMGFMT        -- qcow2 (compat=1.1)
IMGPROTO      -- file
PLATFORM      -- Linux/x86_64 fam-t430 3.16.2-201.fc20.x86_64
SOCKET_SCM_HELPER -- /home/fam/build/last/tests/qemu-iotests/socket_scm_helper

Passed all 0 tests
PASS

> 
> > diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common
> > index 70df659..2403a20 100644
> > --- a/tests/qemu-iotests/common
> > +++ b/tests/qemu-iotests/common
> > @@ -382,10 +382,16 @@ BEGIN        { for (t='$start'; t<='$end'; t++) 
> > printf "%03d\n",t }' \
> >                      echo $id >>$tmp.list
> >                  else
> >                      # oops
> > -                    echo "$id - unknown test, ignored"
> > +                    if [ "$start" == "$end" -a "$id" == "$end" ]
> > +                    then
> > +                        echo "$id - unknown test"
> > +                        exit 1
> > +                    else
> > +                        echo "$id - unknown test, ignored"
> > +                    fi
> >                  fi
> >              fi
> > -        done
> > +        done || exit 1
> 
> What is the purpose of this line?

The exit inside the loop is in a subshell so won't cause the whole script to
exit.

Fam




reply via email to

[Prev in Thread] Current Thread [Next in Thread]