qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-block@nongnu.org, kwolf@redhat.com
Subject: [Qemu-devel] [PATCH 06/12] qemu-iotests: do not do useless search for QEMU_*_PROG
Date: Wed,  9 Aug 2017 23:55:04 +0200	[thread overview]
Message-ID: <20170809215510.22802-7-pbonzini@redhat.com> (raw)
In-Reply-To: <20170809215510.22802-1-pbonzini@redhat.com>

With the exception of qnio_server, all the variables are initialized
by "check" prior to "common" being sourced.  They cannot be empty.
Only the "realpath" invocation is useful, and can be done just once
in "check" rather than in the tests.

For qnio_server, move the detection to "common", simplifying
set_prog_path to stop handling the unused second argument, and
embedding the "realpath" pass.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/qemu-iotests/common        | 19 ++++++++++++++
 tests/qemu-iotests/common.config | 54 ----------------------------------------
 2 files changed, 19 insertions(+), 54 deletions(-)

diff --git a/tests/qemu-iotests/common b/tests/qemu-iotests/common
index f58e56fc40..33557abe6c 100644
--- a/tests/qemu-iotests/common
+++ b/tests/qemu-iotests/common
@@ -42,6 +42,25 @@ _full_platform_details()
     echo "$os/$platform $host $kernel"
 }
 
+# $1 = prog to look for
+set_prog_path()
+{
+    p=`command -v $1 2> /dev/null`
+    if [ -n "$p" -a -x "$p" ]; then
+        realpath -- "$(type -p "$p")"
+    else
+        return 1
+    fi
+}
+
+export QEMU_PROG=$(realpath -- "$(type -p "$QEMU_PROG")")
+export QEMU_IMG_PROG=$(realpath -- "$(type -p "$QEMU_IMG_PROG")")
+export QEMU_IO_PROG=$(realpath -- "$(type -p "$QEMU_IO_PROG")")
+export QEMU_NBD_PROG=$(realpath -- "$(type -p "$QEMU_NBD_PROG")")
+if [ -z "$QEMU_VXHS_PROG" ]; then
+  export QEMU_VXHS_PROG="`set_prog_path qnio_server`"
+fi
+
 diff="diff -u"
 verbose=false
 debug=false
diff --git a/tests/qemu-iotests/common.config b/tests/qemu-iotests/common.config
index ee10c23672..9d535415b5 100644
--- a/tests/qemu-iotests/common.config
+++ b/tests/qemu-iotests/common.config
@@ -30,28 +30,6 @@ export _QEMU_HANDLE=0
 # make sure we have a standard umask
 umask 022
 
-# $1 = prog to look for, $2* = default pathnames if not found in $PATH
-set_prog_path()
-{
-    p=`command -v $1 2> /dev/null`
-    if [ -n "$p" -a -x "$p" ]; then
-        echo $p
-        return 0
-    fi
-    p=$1
-
-    shift
-    for f; do
-        if [ -x $f ]; then
-            echo $f
-            return 0
-        fi
-    done
-
-    echo ""
-    return 1
-}
-
 _optstr_add()
 {
     if [ -n "$1" ]; then
@@ -61,38 +39,6 @@ _optstr_add()
     fi
 }
 
-if [ -z "$QEMU_PROG" ]; then
-    export QEMU_PROG="`set_prog_path qemu`"
-fi
-
-if [ -z "$QEMU_IMG_PROG" ]; then
-    export QEMU_IMG_PROG="`set_prog_path qemu-img`"
-fi
-
-if [ -z "$QEMU_IO_PROG" ]; then
-    export QEMU_IO_PROG="`set_prog_path qemu-io`"
-fi
-
-if [ -z "$QEMU_NBD_PROG" ]; then
-    export QEMU_NBD_PROG="`set_prog_path qemu-nbd`"
-fi
-
-if [ -z "$QEMU_VXHS_PROG" ]; then
-    export QEMU_VXHS_PROG="`set_prog_path qnio_server`"
-fi
-
-export QEMU_PROG=$(realpath -- "$(type -p "$QEMU_PROG")")
-export QEMU_IMG_PROG=$(realpath -- "$(type -p "$QEMU_IMG_PROG")")
-export QEMU_IO_PROG=$(realpath -- "$(type -p "$QEMU_IO_PROG")")
-export QEMU_NBD_PROG=$(realpath -- "$(type -p "$QEMU_NBD_PROG")")
-
-# This program is not built as part of qemu but (possibly) provided by the
-# system, so it may not be present at all
-if [ -n "$QEMU_VXHS_PROG" ]; then
-    export QEMU_VXHS_PROG=$(realpath -- "$(type -p "$QEMU_VXHS_PROG")")
-fi
-
-
 QEMU_IMG_EXTRA_ARGS=
 if [ "$IMGOPTSSYNTAX" = "true" ]; then
     QEMU_IMG_EXTRA_ARGS="--image-opts $QEMU_IMG_EXTRA_ARGS"
-- 
2.13.3

  parent reply	other threads:[~2017-08-09 21:55 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-09 21:54 [Qemu-devel] [PATCH 00/12] cleanup qemu-iotests Paolo Bonzini
2017-08-09 21:54 ` [Qemu-devel] [PATCH 01/12] qemu-iotests: remove dead code Paolo Bonzini
2017-08-09 22:18   ` Eric Blake
2017-08-09 22:43     ` Paolo Bonzini
2017-09-12 10:00       ` Kevin Wolf
2017-08-10  9:53     ` [Qemu-devel] [Qemu-block] " Paolo Bonzini
2017-08-09 21:55 ` [Qemu-devel] [PATCH 02/12] qemu-iotests: get rid of AWK_PROG Paolo Bonzini
2017-08-09 22:21   ` Eric Blake
2017-08-09 22:28   ` Philippe Mathieu-Daudé
2017-08-09 21:55 ` [Qemu-devel] [PATCH 03/12] qemu-iotests: move "check" code out of common.rc Paolo Bonzini
2017-08-09 22:27   ` Philippe Mathieu-Daudé
2017-08-09 21:55 ` [Qemu-devel] [PATCH 04/12] qemu-iotests: limit non-_PROG-suffixed variables to common.rc Paolo Bonzini
2017-09-12 10:31   ` Kevin Wolf
2017-09-12 12:28     ` Paolo Bonzini
2017-09-12 12:51       ` Kevin Wolf
2017-09-12 12:55         ` Paolo Bonzini
2017-08-09 21:55 ` [Qemu-devel] [PATCH 05/12] qemu-iotests: do not include common.rc in "check" Paolo Bonzini
2017-08-09 22:26   ` Philippe Mathieu-Daudé
2017-08-09 21:55 ` Paolo Bonzini [this message]
2017-08-09 21:55 ` [Qemu-devel] [PATCH 07/12] qemu-iotests: disintegrate more parts of common.config Paolo Bonzini
2017-09-12 10:40   ` Kevin Wolf
2017-09-12 12:31     ` Paolo Bonzini
2017-09-12 12:57       ` Kevin Wolf
2017-09-12 13:02         ` Paolo Bonzini
2017-08-09 21:55 ` [Qemu-devel] [PATCH 08/12] qemu-iotests: fix uninitialized variable Paolo Bonzini
2017-08-10  9:17   ` Markus Armbruster
2017-08-09 21:55 ` [Qemu-devel] [PATCH 09/12] qemu-iotests: do not search for binaries in the current directory Paolo Bonzini
2017-08-10  9:18   ` Markus Armbruster
2017-08-09 21:55 ` [Qemu-devel] [PATCH 10/12] qemu-iotests: get rid of $iam Paolo Bonzini
2017-08-09 22:23   ` Philippe Mathieu-Daudé
2017-08-09 21:55 ` [Qemu-devel] [PATCH 11/12] qemu-iotests: include common.env and common.config early Paolo Bonzini
2017-08-09 21:55 ` [Qemu-devel] [PATCH 12/12] qemu-iotests: merge "check" and "common" Paolo Bonzini
2017-09-11 22:22 ` [Qemu-devel] [Qemu-block] [PATCH 00/12] cleanup qemu-iotests John Snow
2017-09-11 22:31   ` Paolo Bonzini

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=20170809215510.22802-7-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).