Commit 81cfac61 authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

test/nvme: Enable SCC test



Instead of driving it via yet another test flag that would have to be
added to the target job, simply pin it to QEMU which always provides
SCC support.

Change-Id: If7c64986a10d93a593f0dc4e8e500dc2d280fbd3
Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18129


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 69c9a7c9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -204,9 +204,9 @@ if [ $SPDK_RUN_FUNCTIONAL_TEST -eq 1 ]; then
		if [[ $SPDK_TEST_NVME_PMR -eq 1 ]]; then
			run_test "nvme_pmr" $rootdir/test/nvme/nvme_pmr.sh
		fi
		if [[ $SPDK_TEST_NVME_SCC -eq 1 ]]; then

		run_test "nvme_scc" $rootdir/test/nvme/nvme_scc.sh
		fi

		if [[ $SPDK_TEST_NVME_BP -eq 1 ]]; then
			run_test "nvme_bp" $rootdir/test/nvme/nvme_bp.sh
		fi
+0 −2
Original line number Diff line number Diff line
@@ -97,8 +97,6 @@ export SPDK_TEST_ISCSI_INITIATOR
export SPDK_TEST_NVME
: ${SPDK_TEST_NVME_PMR=0}
export SPDK_TEST_NVME_PMR
: ${SPDK_TEST_NVME_SCC=0}
export SPDK_TEST_NVME_SCC
: ${SPDK_TEST_NVME_BP=0}
export SPDK_TEST_NVME_BP
: ${SPDK_TEST_NVME_CLI=0}
+0 −4
Original line number Diff line number Diff line
@@ -9,10 +9,6 @@ ftl_fio_nightly
# Waiting for test refactor
iscsi_tgt_fio_remote_nvme

# Waiting on SCC support in CI
nvme_scc
nvme_simple_copy

# Waiting on Boot Partition support in CI
nvme_bp
nvme_boot_partition
+13 −0
Original line number Diff line number Diff line
@@ -167,6 +167,11 @@ get_ctratt() {
	get_nvme_ctrl_feature "$ctrl" ctratt
}

get_oncs() {
	local ctrl=$1
	get_nvme_ctrl_feature "$ctrl" oncs
}

ctrl_has_fdp() {
	local ctrl=$1 ctratt

@@ -175,6 +180,14 @@ ctrl_has_fdp() {
	((ctratt & 1 << 19))
}

ctrl_has_scc() {
	local ctrl=$1 oncs

	oncs=$(get_oncs "$ctrl")
	# See include/spdk/nvme_spec.h
	((oncs & 1 << 8))
}

get_ctrls_with_feature() {
	((${#ctrls[@]} == 0)) && scan_nvme_ctrls

+13 −6
Original line number Diff line number Diff line
@@ -5,11 +5,18 @@

testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../..)
source $rootdir/scripts/common.sh
source $rootdir/test/common/autotest_common.sh
source "$rootdir/test/nvme/cuse/common.sh"

if [ $(uname) = Linux ]; then
	$rootdir/scripts/setup.sh
fi
# We do know that QEMU provides SCC emulation by very default so pin this test
# to it without requesting an extra configuration flag.
[[ $(uname) == Linux && $(< /sys/class/dmi/id/chassis_vendor) == QEMU ]] || exit 0

run_test "nvme_simple_copy" $testdir/simple_copy/simple_copy
"$rootdir/scripts/setup.sh" reset

scan_nvme_ctrls
ctrl=$(get_ctrl_with_feature scc) bdf=${bdfs["$ctrl"]}

"$rootdir/scripts/setup.sh"

run_test "nvme_simple_copy" "$testdir/simple_copy/simple_copy" \
	-r "trtype:pcie traddr:$bdf"