From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Jones Subject: Re: [PATCH kvm-unit-tests v2 02/12] run_tests: prepare for changes in scripts/mkstandalone Date: Thu, 17 Dec 2015 12:53:39 -0600 Message-ID: <20151217185339.GB14168@hawk.localdomain> References: <1450374823-7648-1-git-send-email-rkrcmar@redhat.com> <1450374823-7648-3-git-send-email-rkrcmar@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, Paolo Bonzini To: Radim =?utf-8?B?S3LEjW3DocWZ?= Return-path: Received: from mx1.redhat.com ([209.132.183.28]:40685 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751190AbbLQSxq (ORCPT ); Thu, 17 Dec 2015 13:53:46 -0500 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (Postfix) with ESMTPS id 87A688E91C for ; Thu, 17 Dec 2015 18:53:46 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1450374823-7648-3-git-send-email-rkrcmar@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Dec 17, 2015 at 06:53:33PM +0100, Radim Kr=C4=8Dm=C3=A1=C5=99 w= rote: > mkstandalone has a different mechanism for running tests as well as a > different handling of output and return codes. > - create two shell function to capture test execution and logging > - return the return value of unit-test > - cope with empty $verbose in `run` >=20 > Signed-off-by: Radim Kr=C4=8Dm=C3=A1=C5=99 > --- > v2: new (reused the bitshift and comment from v1) > =20 > run_tests.sh | 4 ++++ > scripts/run.bash | 13 +++++++++---- > 2 files changed, 13 insertions(+), 4 deletions(-) >=20 > diff --git a/run_tests.sh b/run_tests.sh > index 58949e39c38c..e09d410beaa4 100755 > --- a/run_tests.sh > +++ b/run_tests.sh > @@ -28,7 +28,11 @@ specify the appropriate qemu binary for ARCH-run. > EOF > } > =20 > +__run() { ./$TEST_DIR-run "${@}"; } > +__eval_log() { eval "${@}" >> test.log; } > + > echo > test.log > + > while getopts "g:hv" opt; do > case $opt in > g) > diff --git a/scripts/run.bash b/scripts/run.bash > index 0c5a2569d80e..243586c6d2fc 100644 > --- a/scripts/run.bash > +++ b/scripts/run.bash > @@ -34,18 +34,23 @@ function run() > fi > done > =20 > - cmdline=3D"TESTNAME=3D$testname ACCEL=3D$accel ./$TEST_DIR-run $= kernel -smp $smp $opts" > - if [ $verbose !=3D 0 ]; then > + cmdline=3D"TESTNAME=3D$testname ACCEL=3D$accel __run $kernel -sm= p $smp $opts" > + if [ "$verbose" -a "$verbose" !=3D 0 ]; then =46or bash bools I prefer just doing 'if [ "$verbose" =3D "yes" ]', all= owing it to be empty. > echo $cmdline > fi > =20 > # extra_params in the config file may contain backticks that nee= d to be > # expanded, so use eval to start qemu > - eval $cmdline >> test.log > + __eval_log "$cmdline" > + # The first bit of return value is too hard to use, just skip it= =2E > + # Unit-tests' return value is shifted by one. > + ret=3D$(($? >> 1)) I just wrote a patch, inspired by reviewing your v1 of this series, tha= t tackles the ambiguous exit code problem. I'll post it now, but obviousl= y we'll need to rebase one or the other of our run_tests.sh series'. > =20 > - if [ $? -le 1 ]; then > + if [ $ret -eq 0 ]; then > echo -e "\e[32mPASS\e[0m $1" > else > echo -e "\e[31mFAIL\e[0m $1" > fi > + > + return $ret > } > --=20 > 2.6.4 >=20 > -- > To unsubscribe from this list: send the line "unsubscribe kvm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html