Commit 651d9158 authored by Pawel Wodkowski's avatar Pawel Wodkowski Committed by Darek Stojaczyk
Browse files

test: consolidate tests for reading JSON config



This patch rework all JSON config file reading tests. This is needed as
current approach will require to modify each test to re-launch SPDK
applications for each test type. This is hard to do because tests are
not flexible and will require to be rewritten almost from scratch. Not
metioning time to relaunch each test separatly.

Instead, just replace all old tests with one test. Launch only one
target and only one initiator. Then configure it using RPC calls. Then
config is dumped and target and initiator application is relaunched to
reread the configuration from file. Then config is dumped again and
compared.

Change-Id: Id857089aed0e6f2197cbf3ae625a4e9f4b13e8bb
Signed-off-by: default avatarPawel Wodkowski <pawelx.wodkowski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/432318


Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
Reviewed-by: default avatarPawel Kaminski <pawelx.kaminski@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarDarek Stojaczyk <dariusz.stojaczyk@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
parent e724e9d9
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line
@@ -109,12 +109,6 @@ timing_enter lib

if [ $SPDK_TEST_BLOCKDEV -eq 1 ]; then
	run_test suite test/bdev/blockdev.sh
	if [ $(uname -s) = Linux ]; then
		run_test suite test/bdev/bdevjson/json_config.sh
		if modprobe -n nbd; then
			run_test suite test/bdev/nbdjson/json_config.sh
		fi
	fi
fi

if [ $SPDK_TEST_JSON -eq 1 ]; then
@@ -150,7 +144,6 @@ timing_exit lib

if [ $SPDK_TEST_ISCSI -eq 1 ]; then
	run_test suite ./test/iscsi_tgt/iscsi_tgt.sh posix
	run_test suite ./test/iscsi_tgt/iscsijson/json_config.sh
	run_test suite ./test/spdkcli/iscsi.sh
fi

@@ -161,7 +154,6 @@ fi

if [ $SPDK_TEST_NVMF -eq 1 ]; then
	run_test suite ./test/nvmf/nvmf.sh
	run_test suite ./test/nvmf/nvmfjson/json_config.sh
	run_test suite ./test/spdkcli/nvmf.sh
fi

@@ -186,7 +178,6 @@ fi
if [ $SPDK_TEST_VHOST_INIT -eq 1 ]; then
	timing_enter vhost_initiator
	run_test suite ./test/vhost/initiator/blockdev.sh
	run_test suite ./test/vhost/initiator/json_config.sh
	run_test suite ./test/spdkcli/virtio.sh
	report_test_completion "vhost_initiator"
	timing_exit vhost_initiator
@@ -194,15 +185,15 @@ fi

if [ $SPDK_TEST_PMDK -eq 1 ]; then
	run_test suite ./test/pmem/pmem.sh -x
	run_test suite ./test/pmem/json_config/json_config.sh
	run_test suite ./test/spdkcli/pmem.sh
fi

if [ $SPDK_TEST_RBD -eq 1 ]; then
	run_test suite ./test/bdev/bdevjson/rbd_json_config.sh
	run_test suite ./test/spdkcli/rbd.sh
fi

run_test suite ./test/json_config/json_config.sh

timing_enter cleanup
autotest_cleanup
timing_exit cleanup

test/bdev/bdevjson/json_config.sh

deleted100755 → 0
+0 −27
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -ex
BDEV_JSON_DIR=$(readlink -f $(dirname $0))
. $BDEV_JSON_DIR/../../json_config/common.sh

function test_subsystems() {
	run_spdk_tgt
	rootdir=$(readlink -f $BDEV_JSON_DIR/../../..)

	rpc_py="$spdk_rpc_py"
	clear_config_py="$spdk_clear_config_py"
	load_nvme
	create_bdev_subsystem_config
	test_json_config

	clear_bdev_subsystem_config
	test_global_params "spdk_tgt"
	kill_targets
}

timing_enter json_config
trap 'on_error_exit "${FUNCNAME}" "${LINENO}"' ERR

test_subsystems

timing_exit json_config
report_test_completion json_config
+0 −26
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -ex
VHOST_JSON_DIR=$(readlink -f $(dirname $0))
. $VHOST_JSON_DIR/../../json_config/common.sh

function test_subsystems() {
	run_spdk_tgt
	rootdir=$(readlink -f $VHOST_JSON_DIR/../../..)

	rpc_py="$spdk_rpc_py"
	clear_config_py="$spdk_clear_config_py"
	$rpc_py start_subsystem_init

	create_rbd_bdev_subsystem_config
	test_json_config
	clear_rbd_bdev_subsystem_config

	kill_targets
}

trap 'rbd_cleanup; on_error_exit "${FUNCNAME}" "${LINENO}"' ERR
timing_enter rbd_json_config

test_subsystems
timing_exit rbd_json_config
report_test_completion rbd_json_config

test/bdev/nbdjson/json_config.sh

deleted100755 → 0
+0 −29
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -xe
NBD_JSON_DIR=$(readlink -f $(dirname $0))
. $NBD_JSON_DIR/../../json_config/common.sh
rpc_py="$spdk_rpc_py"
clear_config_py="$spdk_clear_config_py"
trap 'on_error_exit "${FUNCNAME}" "${LINENO}"' ERR

timing_enter nbd_json_config
run_spdk_tgt
load_nvme
modprobe nbd

timing_enter nbd_json_config_create_setup
$rpc_py construct_malloc_bdev 128 512 --name Malloc0
$rpc_py start_nbd_disk Malloc0 /dev/nbd0
waitfornbd nbd0
$rpc_py start_nbd_disk Nvme0n1 /dev/nbd1
waitfornbd nbd1
timing_exit nbd_json_config_create_setup

timing_enter nbd_json_config_test
test_json_config
timing_exit nbd_json_config_test

$clear_config_py clear_config
kill_targets
timing_exit nbd_json_config
report_test_completion nbd_json_config
+0 −43
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -xe
ISCSI_JSON_DIR=$(readlink -f $(dirname $0))
. $ISCSI_JSON_DIR/../../json_config/common.sh
. $JSON_DIR/../iscsi_tgt/common.sh
base_iscsi_config=$JSON_DIR/base_iscsi_config.json
last_iscsi_config=$JSON_DIR/last_iscsi_config.json
rpc_py="$spdk_rpc_py"
clear_config_py="$spdk_clear_config_py"
trap 'on_error_exit "${FUNCNAME}" "${LINENO}"; rm -f $base_iscsi_config $last_iscsi_config' ERR

timing_enter iscsi_json_config
run_spdk_tgt
$rpc_py start_subsystem_init

timing_enter iscsi_json_config_create_setup
$rpc_py add_portal_group $PORTAL_TAG 127.0.0.1:$ISCSI_PORT
$rpc_py add_initiator_group $INITIATOR_TAG $INITIATOR_NAME $NETMASK
$rpc_py construct_malloc_bdev 64 4096 --name Malloc0
$rpc_py construct_target_node Target3 Target3_alias 'Malloc0:0' $PORTAL_TAG:$INITIATOR_TAG 64 -d
$rpc_py save_config > $base_iscsi_config
timing_exit iscsi_json_config_create_setup

timing_enter iscsi_json_config_test
test_json_config
timing_exit iscsi_json_config_test

timing_enter iscsi_json_config_restart_spdk
$clear_config_py clear_config
kill_targets
run_spdk_tgt
$rpc_py load_config < $base_iscsi_config
$rpc_py save_config > $last_iscsi_config
timing_exit iscsi_json_config_restart_spdk

json_diff $base_iscsi_config $last_iscsi_config

$clear_config_py clear_config
kill_targets
rm -f $base_iscsi_config $last_iscsi_config

timing_exit iscsi_json_config
report_test_completion iscsi_json_config
Loading