[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 2/2] block/vxhs.c: Add qemu-iotests for new b
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v7 2/2] block/vxhs.c: Add qemu-iotests for new block device type "vxhs" |
Date: |
Mon, 13 Feb 2017 14:43:56 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Tue, Feb 07, 2017 at 08:18:14PM -0800, Ashish Mittal wrote:
> diff --git a/tests/qemu-iotests/common.config
> b/tests/qemu-iotests/common.config
> index f6384fb..c7a80c0 100644
> --- a/tests/qemu-iotests/common.config
> +++ b/tests/qemu-iotests/common.config
> @@ -105,6 +105,10 @@ 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 /usr/local/bin`"
Did you test this with /usr/local/bin/qnio_server?
I think it will evaluate to QEMU_VXHS_PROG=/usr/local/bin when qnio_server
isn't found in PATH. You probably wanted /usr/local/bin/qnio_server instead.
I suggest dropping the second argument completely and letting the user set PATH
themselves. No existing set_prog_path caller uses the second argument.
# $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
}
> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index 3213765..06a3164 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -89,6 +89,9 @@ else
> TEST_IMG=$TEST_DIR/t.$IMGFMT
> elif [ "$IMGPROTO" = "archipelago" ]; then
> TEST_IMG="archipelago:at.$IMGFMT"
> + elif [ "$IMGPROTO" = "vxhs" ]; then
> + TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> + TEST_IMG="vxhs://127.0.0.1:9999/t.$IMGFMT"
> else
> TEST_IMG=$IMGPROTO:$TEST_DIR/t.$IMGFMT
> fi
> @@ -175,6 +178,12 @@ _make_test_img()
> eval "$QEMU_NBD -v -t -b 127.0.0.1 -p 10810 -f $IMGFMT
> $TEST_IMG_FILE &"
> sleep 1 # FIXME: qemu-nbd needs to be listening before we continue
> fi
> +
> + # Start QNIO server on image directory for vxhs protocol
> + if [ $IMGPROTO = "vxhs" ]; then
> + eval "$QEMU_VXHS -d $TEST_DIR &"
> + sleep 1 # Wait for server to come up.
This is a pre-existing problem and you don't need to fix it now:
We should replace sleep 1 with a function that probes the TCP port until the
connection can be established or a timeout is reached. The netcat (nc) utility
is often used for this.
sleep 1 is not reliable and may fail on a heavily loaded machine like the
Travis-CI build machines that are used.
signature.asc
Description: PGP signature