diff mbox series

[v2,2/3] qemu-iotests: Filter NFS paths

Message ID 20180518142605.19846-3-kwolf@redhat.com
State New
Headers show
Series qemu-iotests: Fix NFS + raw | expand

Commit Message

Kevin Wolf May 18, 2018, 2:26 p.m. UTC
NFS paths were only partially filtered in _filter_img_create, _img_info
and _filter_img_info, resulting in "nfs://127.0.0.1TEST_DIR/t.IMGFMT".
This adds another replacement to the sed calls that matches the test
directory not as a host path, but as an NFS URL (the prefix as used for
$TEST_IMG).

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 tests/qemu-iotests/common.filter | 6 ++++--
 tests/qemu-iotests/common.rc     | 8 +++++++-
 2 files changed, 11 insertions(+), 3 deletions(-)

Comments

Fam Zheng May 23, 2018, 2:55 a.m. UTC | #1
On Fri, 05/18 16:26, Kevin Wolf wrote:
> NFS paths were only partially filtered in _filter_img_create, _img_info
> and _filter_img_info, resulting in "nfs://127.0.0.1TEST_DIR/t.IMGFMT".
> This adds another replacement to the sed calls that matches the test
> directory not as a host path, but as an NFS URL (the prefix as used for
> $TEST_IMG).
> 
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  tests/qemu-iotests/common.filter | 6 ++++--
>  tests/qemu-iotests/common.rc     | 8 +++++++-
>  2 files changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter
> index c5f4bcf578..f08ee55046 100644
> --- a/tests/qemu-iotests/common.filter
> +++ b/tests/qemu-iotests/common.filter
> @@ -119,7 +119,8 @@ _filter_actual_image_size()
>  # replace driver-specific options in the "Formatting..." line
>  _filter_img_create()
>  {
> -    sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
> +    sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
> +        -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
>          -e "s#$TEST_DIR#TEST_DIR#g" \
>          -e "s#$IMGFMT#IMGFMT#g" \
>          -e 's#nbd:127.0.0.1:10810#TEST_DIR/t.IMGFMT#g' \
> @@ -154,7 +155,8 @@ _filter_img_info()
>  
>      discard=0
>      regex_json_spec_start='^ *"format-specific": \{'
> -    sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
> +    sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
> +        -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
>          -e "s#$TEST_DIR#TEST_DIR#g" \
>          -e "s#$IMGFMT#IMGFMT#g" \
>          -e 's#nbd://127.0.0.1:10810$#TEST_DIR/t.IMGFMT#g' \
> diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
> index cb5fa14e7f..d236bb9f15 100644
> --- a/tests/qemu-iotests/common.rc
> +++ b/tests/qemu-iotests/common.rc
> @@ -148,6 +148,7 @@ else
>          TEST_IMG="ssh://127.0.0.1$TEST_IMG_FILE"
>      elif [ "$IMGPROTO" = "nfs" ]; then
>          TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> +        REMOTE_TEST_DIR="nfs://127.0.0.1$TEST_DIR"
>          TEST_IMG="nfs://127.0.0.1$TEST_IMG_FILE"
>      elif [ "$IMGPROTO" = "vxhs" ]; then
>          TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
> @@ -173,6 +174,10 @@ if [ ! -d "$TEST_DIR" ]; then
>      exit 1
>  fi
>  
> +if [ -z "$REMOTE_TEST_DIR" ]; then
> +        REMOTE_TEST_DIR="$TEST_DIR"

This has one extra level of indentation.

Reviewed-by: Fam Zheng <famz@redhat.com>

> +fi
> +
>  if [ ! -d "$SAMPLE_IMG_DIR" ]; then
>      echo "common.config: Error: \$SAMPLE_IMG_DIR ($SAMPLE_IMG_DIR) is not a directory"
>      exit 1
> @@ -333,7 +338,8 @@ _img_info()
>      discard=0
>      regex_json_spec_start='^ *"format-specific": \{'
>      $QEMU_IMG info $QEMU_IMG_EXTRA_ARGS "$@" "$TEST_IMG" 2>&1 | \
> -        sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
> +        sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
> +            -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
>              -e "s#$TEST_DIR#TEST_DIR#g" \
>              -e "s#$IMGFMT#IMGFMT#g" \
>              -e "/^disk size:/ D" \
> -- 
> 2.13.6
> 
>
diff mbox series

Patch

diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter
index c5f4bcf578..f08ee55046 100644
--- a/tests/qemu-iotests/common.filter
+++ b/tests/qemu-iotests/common.filter
@@ -119,7 +119,8 @@  _filter_actual_image_size()
 # replace driver-specific options in the "Formatting..." line
 _filter_img_create()
 {
-    sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
+    sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
+        -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
         -e "s#$TEST_DIR#TEST_DIR#g" \
         -e "s#$IMGFMT#IMGFMT#g" \
         -e 's#nbd:127.0.0.1:10810#TEST_DIR/t.IMGFMT#g' \
@@ -154,7 +155,8 @@  _filter_img_info()
 
     discard=0
     regex_json_spec_start='^ *"format-specific": \{'
-    sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
+    sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
+        -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
         -e "s#$TEST_DIR#TEST_DIR#g" \
         -e "s#$IMGFMT#IMGFMT#g" \
         -e 's#nbd://127.0.0.1:10810$#TEST_DIR/t.IMGFMT#g' \
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index cb5fa14e7f..d236bb9f15 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -148,6 +148,7 @@  else
         TEST_IMG="ssh://127.0.0.1$TEST_IMG_FILE"
     elif [ "$IMGPROTO" = "nfs" ]; then
         TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
+        REMOTE_TEST_DIR="nfs://127.0.0.1$TEST_DIR"
         TEST_IMG="nfs://127.0.0.1$TEST_IMG_FILE"
     elif [ "$IMGPROTO" = "vxhs" ]; then
         TEST_IMG_FILE=$TEST_DIR/t.$IMGFMT
@@ -173,6 +174,10 @@  if [ ! -d "$TEST_DIR" ]; then
     exit 1
 fi
 
+if [ -z "$REMOTE_TEST_DIR" ]; then
+        REMOTE_TEST_DIR="$TEST_DIR"
+fi
+
 if [ ! -d "$SAMPLE_IMG_DIR" ]; then
     echo "common.config: Error: \$SAMPLE_IMG_DIR ($SAMPLE_IMG_DIR) is not a directory"
     exit 1
@@ -333,7 +338,8 @@  _img_info()
     discard=0
     regex_json_spec_start='^ *"format-specific": \{'
     $QEMU_IMG info $QEMU_IMG_EXTRA_ARGS "$@" "$TEST_IMG" 2>&1 | \
-        sed -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
+        sed -e "s#$REMOTE_TEST_DIR#TEST_DIR#g" \
+            -e "s#$IMGPROTO:$TEST_DIR#TEST_DIR#g" \
             -e "s#$TEST_DIR#TEST_DIR#g" \
             -e "s#$IMGFMT#IMGFMT#g" \
             -e "/^disk size:/ D" \