#!/usr/bin/env bash
set -e
-READONLY_BASE_DIR=$(readlink -f $(dirname $0))
-[[ -z "$TEST_DIR" ]] && TEST_DIR="$(cd $READONLY_BASE_DIR/../../../../ && pwd)"
-[[ -z "$COMMON_DIR" ]] && COMMON_DIR="$(cd $READONLY_BASE_DIR/../common && pwd)"
-source $COMMON_DIR/common.sh
-rpc_py="$READONLY_BASE_DIR/../../../scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
+testdir=$(readlink -f $(dirname $0))
+rootdir=$(readlink -f $testdir/../../..)
+source $rootdir/test/common/autotest_common.sh
+source $rootdir/test/vhost/common.sh
+
+rpc_py="$testdir/../../../scripts/rpc.py -s $(get_vhost_dir)/rpc.sock"
vm_img=""
disk="Nvme0n1"
esac
done
+vhosttestinit
+
trap 'error_exit "${FUNCNAME}" "${LINENO}"' ERR
if [[ $EUID -ne 0 ]]; then
vm_setup --disk-type=spdk_vhost_blk --force=$vm_no --os=$vm_img --disks=$disk --read-only=true
vm_run $vm_no
- vm_wait_for_boot 600 $vm_no
+ vm_wait_for_boot 300 $vm_no
notice "Preparing partition and file on guest VM"
- vm_ssh $vm_no "bash -s" < $READONLY_BASE_DIR/disabled_readonly_vm.sh
+ vm_ssh $vm_no "bash -s" < $testdir/disabled_readonly_vm.sh
sleep 1
vm_shutdown_all
$rpc_py construct_vhost_blk_controller -r $vhost_blk_name $disk_name
vm_run $vm_no
- vm_wait_for_boot 600 $vm_no
+ vm_wait_for_boot 300 $vm_no
notice "Testing readonly feature on guest VM"
- vm_ssh $vm_no "bash -s" < $READONLY_BASE_DIR/enabled_readonly_vm.sh
+ vm_ssh $vm_no "bash -s" < $testdir/enabled_readonly_vm.sh
sleep 3
vm_shutdown_all
$rpc_py construct_vhost_blk_controller $vhost_blk_name $disk_name
vm_run $vm_no
- vm_wait_for_boot 600 $vm_no
+ vm_wait_for_boot 300 $vm_no
notice "Removing partition and file from test disk on guest VM"
- vm_ssh $vm_no "bash -s" < $READONLY_BASE_DIR/delete_partition_vm.sh
+ vm_ssh $vm_no "bash -s" < $testdir/delete_partition_vm.sh
sleep 1
vm_shutdown_all
}
-spdk_vhost_run
+vhost_run
if [[ -z $x ]]; then
set +x
fi
$rpc_py delete_nvme_controller Nvme0
-spdk_vhost_kill
+vhost_kill
+
+vhosttestfini