From: Lucas Meneghel Rodrigues <lmr@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: kvm@vger.kernel.org, gleb@redhat.com, mtosatti@redhat.com
Subject: Re: [PATCH kvm-unittests v2 1/4] Add run_tests.sh
Date: Fri, 12 Apr 2013 09:24:21 -0300 [thread overview]
Message-ID: <1365769461.2470.4.camel@thinkpad-t420s> (raw)
In-Reply-To: <1365766060-7604-2-git-send-email-kwolf@redhat.com>
On Fri, 2013-04-12 at 13:27 +0200, Kevin Wolf wrote:
> This adds a convenient way to run all tests without having to set up
> Autotest.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> run_tests.sh | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> x86-run | 9 +++-
> x86/unittests.cfg | 2 +
> 3 files changed, 132 insertions(+), 2 deletions(-)
> create mode 100755 run_tests.sh
>
> diff --git a/run_tests.sh b/run_tests.sh
> new file mode 100755
> index 0000000..55ecac5
> --- /dev/null
> +++ b/run_tests.sh
> @@ -0,0 +1,123 @@
> +#!/bin/bash
> +
> +testroot=x86
> +config=$testroot/unittests.cfg
> +qemu=${qemu:-qemu-system-x86_64}
> +verbose=0
> +
> +function run()
> +{
> + local testname="$1"
> + local groups="$2"
> + local smp="$3"
> + local kernel="$4"
> + local opts="$5"
> + local arch="$6"
> +
> + if [ -z "$testname" ]; then
> + return
> + fi
> +
> + if [ -n "$only_group" ] && ! grep -q "$only_group" <<<$groups; then
> + return
> + fi
> +
> + if [ -n "$arch" ] && [ "$arch" != "$ARCH" ]; then
> + echo "skip $1 ($arch only)"
> + return
> + fi
> +
> + cmdline="./x86-run $kernel -smp $smp -display none $opts"
> + if [ $verbose != 0 ]; then
> + echo $cmdline
> + fi
> +
> + # extra_params in the config file may contain backticks that need to be
> + # expanded, so use eval to start qemu
> + eval $cmdline >> test.log
> +
> + if [ $? -le 1 ]; then
> + echo -e "\e[32mPASS\e[0m $1"
> + else
> + echo -e "\e[31mFAIL\e[0m $1"
> + fi
> +}
> +
> +function run_all()
> +{
> + local config="$1"
> + local testname
> + local smp
> + local kernel
> + local opts
> + local groups
> + local arch
> +
> + exec {config_fd}<$config
> +
> + while read -u $config_fd line; do
> + if [[ "$line" =~ ^\[(.*)\]$ ]]; then
> + run "$testname" "$groups" "$smp" "$kernel" "$opts" "$arch"
> + testname=${BASH_REMATCH[1]}
> + smp=1
> + kernel=""
> + opts=""
> + groups=""
> + arch=""
> + elif [[ $line =~ ^file\ *=\ *(.*)$ ]]; then
> + kernel=$testroot/${BASH_REMATCH[1]}
> + elif [[ $line =~ ^smp\ *=\ *(.*)$ ]]; then
> + smp=${BASH_REMATCH[1]}
> + elif [[ $line =~ ^extra_params\ *=\ *(.*)$ ]]; then
> + opts=${BASH_REMATCH[1]}
> + elif [[ $line =~ ^groups\ *=\ *(.*)$ ]]; then
> + groups=${BASH_REMATCH[1]}
> + elif [[ $line =~ ^arch\ *=\ *(.*)$ ]]; then
> + arch=${BASH_REMATCH[1]}
> + fi
> + done
^ This looks good to me, although using python and the ConfigParser
library would be less work (no need to explicitly use regexp based
parsing).
I'm currently taking a look at the new fields and how autotest could
make use of them... Thanks!
next prev parent reply other threads:[~2013-04-12 12:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-12 11:27 [PATCH kvm-unittests v2 0/4] Add run_tests.sh script and update unittests.cfg Kevin Wolf
2013-04-12 11:27 ` [PATCH kvm-unittests v2 1/4] Add run_tests.sh Kevin Wolf
2013-04-12 12:24 ` Lucas Meneghel Rodrigues [this message]
2013-04-12 11:27 ` [PATCH kvm-unittests v2 2/4] x86/unittests.cfg: Add arch for x86_64-only tests Kevin Wolf
2013-04-12 11:27 ` [PATCH kvm-unittests v2 3/4] x86/unittests.cfg: Add missing test cases Kevin Wolf
2013-04-12 11:27 ` [PATCH kvm-unittests v2 4/4] x86/unittests.cfg: Create test case groups Kevin Wolf
2013-04-13 23:26 ` [PATCH kvm-unittests v2 0/4] Add run_tests.sh script and update unittests.cfg Cole Robinson
2013-04-15 8:11 ` Kevin Wolf
2013-04-17 22:26 ` Marcelo Tosatti
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=1365769461.2470.4.camel@thinkpad-t420s \
--to=lmr@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=mtosatti@redhat.com \
/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