All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Radim Krčmář" <rkrcmar@redhat.com>
To: kvm@vger.kernel.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Andrew Jones <drjones@redhat.com>
Subject: [PATCH kvm-unit-tests 09/12] scripts/mkstandalone: use scripts/runtime
Date: Tue, 19 Jan 2016 14:24:08 +0100	[thread overview]
Message-ID: <1453209851-27760-10-git-send-email-rkrcmar@redhat.com> (raw)
In-Reply-To: <1453209851-27760-1-git-send-email-rkrcmar@redhat.com>

Patch is based around a call to run with required parameters.

This brings a lot of changes to the behavior.  The only change that
could be considered as negative is that we don't print summary messages
to stderr.  The main benefit is that the final scripts/mkstandalone.sh
is fairly orthogonal, so we don't need to do every future change twice.

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
---
 scripts/mkstandalone.sh | 57 ++++++++++++-------------------------------------
 1 file changed, 14 insertions(+), 43 deletions(-)

diff --git a/scripts/mkstandalone.sh b/scripts/mkstandalone.sh
index 70efe64af243..d9cfded36d5e 100755
--- a/scripts/mkstandalone.sh
+++ b/scripts/mkstandalone.sh
@@ -20,6 +20,13 @@ fi
 unittests=$TEST_DIR/unittests.cfg
 mkdir -p tests
 
+escape ()
+{
+	for arg in "${@}"; do
+		printf "%q " "$arg"; # XXX: trailing whitespace
+	done
+}
+
 temp_file ()
 {
 	local var="$1"
@@ -38,13 +45,7 @@ temp_file ()
 function mkstandalone()
 {
 	local testname="$1"
-	local groups="$2"
-	local smp="$3"
-	local kernel="$4"
-	local opts="$5"
-	local arch="$6"
-	local check="$7"
-	local accel="$8"
+	local args=( $(escape "${@}") )
 
 	if [ -z "$testname" ]; then
 		return 1
@@ -63,21 +64,8 @@ function mkstandalone()
 
 	cat config.mak | grep '^ARCH='
 
-if [ "$check" ]; then
-	cat <<EOF
-for param in $check; do
-	path=\`echo \$param | cut -d= -f1\`
-	value=\`echo \$param | cut -d= -f2\`
-	if [ -f "\$path" ] && [ "\`cat \$path\`" != "\$value" ]; then
-		echo "skip $testname (\$path not equal to \$value)" 1>&2
-		exit 1
-	fi
-done
-
-EOF
-fi
 	if [ ! -f $kernel ]; then
-		echo 'echo "skip '"$testname"' (test kernel not present)" 1>&2'
+		echo 'echo "skip '"$testname"' (test kernel not present)"'
 		echo 'exit 1'
 	else
 	# XXX: bad indentation
@@ -85,31 +73,14 @@ fi
 	echo "trap 'rm -f \$cleanup' EXIT"
 
 	temp_file bin "$kernel"
+	args[3]='$bin'
+
 	temp_file RUNTIME_arch_run "$TEST_DIR/run"
 
-	cat <<EOF
+	cat scripts/runtime.bash
 
-MAX_SMP="MAX_SMP"
-echo \$RUNTIME_arch_run \$bin -smp $smp $opts
-
-if \$RUNTIME_arch_run _NO_FILE_4Uhere_ 2>&1 | grep 'No accelerator found'; then
-	ret=2
-else
-	MAX_SMP=\`getconf _NPROCESSORS_CONF\`
-	while \$RUNTIME_arch_run \$bin -smp \$MAX_SMP 2>&1 | grep 'exceeds max cpus' > /dev/null; do
-		MAX_SMP=\`expr \$MAX_SMP - 1\`
-	done
-
-	\$RUNTIME_arch_run \$bin -smp $smp $opts
-	ret=\$?
-fi
-if [ \$ret -le 1 ]; then
-	echo PASS $testname 1>&2
-else
-	echo FAIL $testname 1>&2
-fi
-exit 0
-EOF
+	echo "run ${args[@]}"
+	echo "exit 0"
 	fi
 
 	exec 1<&$tmpfd {tmpfd}<&-
-- 
2.7.0


  parent reply	other threads:[~2016-01-19 13:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-19 13:23 [PATCH kvm-unit-tests 00/12] scripts/mkstandalone: rewrite Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 01/12] scripts/mkstandalone: simplify redirection Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 02/12] scripts/mkstandalone: fix ARCH Radim Krčmář
2016-01-19 14:32   ` Paolo Bonzini
2016-01-19 13:24 ` [PATCH kvm-unit-tests 03/12] scripts/mkstandalone: refactor temp file creation Radim Krčmář
2016-01-19 14:46   ` Paolo Bonzini
2016-01-19 14:53     ` Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 04/12] scripts/mkstandalone: use bash in standalone test Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 05/12] scripts/mkstandalone: reuse $TEST_DIR/run Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 06/12] run_tests: move reusable code to scripts/runtime Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 07/12] scripts/runtime: change callsite of $TEST_DIR/run Radim Krčmář
2016-01-19 14:38   ` Paolo Bonzini
2016-01-19 14:55     ` Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 08/12] scripts/mkstandalone: refactor check for test kernel Radim Krčmář
2016-01-19 13:24 ` Radim Krčmář [this message]
2016-01-19 13:24 ` [PATCH kvm-unit-tests 10/12] scripts/mkstandalone: simplifiy redirection, again Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 11/12] scripts/mkstandalone: sanitize one_kernel handling Radim Krčmář
2016-01-19 13:24 ` [PATCH kvm-unit-tests 12/12] scripts/mkstandalone: return the exit value of a test Radim Krčmář
2016-01-19 14:49 ` [PATCH kvm-unit-tests 00/12] scripts/mkstandalone: rewrite Paolo Bonzini
2016-01-19 14:56   ` Radim Krčmář
2016-01-19 15:20 ` Andrew Jones

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=1453209851-27760-10-git-send-email-rkrcmar@redhat.com \
    --to=rkrcmar@redhat.com \
    --cc=drjones@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.