test/bdevperf: test config file

Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Signed-off-by: Vitaliy Mysak <vitaliy.mysak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3291 (master)

(cherry picked from commit 8991773390)
Change-Id: I6a92345e1c3fae1f7f8b77bc68e0f715e7ac9ed9
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3544
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Maciej Wawryk 2020-07-10 14:15:45 +02:00 committed by Tomasz Zawadzki
parent 6b41a08654
commit 459d3e8f07
4 changed files with 100 additions and 0 deletions

View File

@ -173,6 +173,7 @@ if [ $SPDK_RUN_FUNCTIONAL_TEST -eq 1 ]; then
if [ $SPDK_TEST_BLOCKDEV -eq 1 ]; then
run_test "blockdev_general" test/bdev/blockdev.sh
run_test "bdev_raid" test/bdev/bdev_raid.sh
run_test "bdevperf_config" test/bdev/bdevperf/test_config.sh
if [[ $(uname -s) == Linux ]]; then
run_test "spdk_dd" test/dd/dd.sh
fi

View File

@ -0,0 +1,33 @@
bdevperf=$rootdir/test/bdev/bdevperf/bdevperf
function create_job() {
local job_section=$1
local rw=$2
local filename=$3
if [[ $job_section == "global" ]]; then
cat <<- EOF >> "$testdir"/test.conf
[global]
filename=${filename}
EOF
fi
job="[${job_section}]"
echo $global
cat <<- EOF >> "$testdir"/test.conf
${job}
filename=${filename}
bs=1024
rwmixread=70
rw=${rw}
iodepth=256
cpumask=0xff
EOF
}
function get_num_jobs() {
echo "$1" | grep -oE "Using job config with [0-9]+ jobs" | grep -oE "[0-9]+"
}
function cleanup() {
rm -f $testdir/test.conf
}

View File

@ -0,0 +1,25 @@
{
"subsystems": [
{
"subsystem": "bdev",
"config": [
{
"method": "bdev_malloc_create",
"params": {
"name": "Malloc0",
"num_blocks": 102400,
"block_size": 512
}
},
{
"method": "bdev_malloc_create",
"params": {
"name": "Malloc1",
"num_blocks": 102400,
"block_size": 512
}
}
]
}
]
}

View File

@ -0,0 +1,41 @@
#!/usr/bin/env bash
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $testdir/common.sh
jsonconf=$testdir/conf.json
testconf=$testdir/test.conf
trap 'cleanup; exit 1' SIGINT SIGTERM EXIT
#Test inheriting filename and rw_mode parameters from global section.
create_job "global" "read" "Malloc0"
create_job "job0"
create_job "job1"
create_job "job2"
create_job "job3"
bdevperf_output=$($bdevperf -t 2 --json $jsonconf -j $testconf 2>&1)
[[ $(get_num_jobs "$bdevperf_output") == "4" ]]
bdevperf_output=$($bdevperf -C -t 2 --json $jsonconf -j $testconf)
cleanup
#Test missing global section.
create_job "job0" "write" "Malloc0"
create_job "job1" "write" "Malloc0"
create_job "job2" "write" "Malloc0"
bdevperf_output=$($bdevperf -t 2 --json $jsonconf -j $testconf 2>&1)
[[ $(get_num_jobs "$bdevperf_output") == "3" ]]
cleanup
#Test inheriting multiple filenames and rw_mode parameters from global section.
create_job "global" "rw" "Malloc0:Malloc1"
create_job "job0"
create_job "job1"
create_job "job2"
create_job "job3"
bdevperf_output=$($bdevperf -t 2 --json $jsonconf -j $testconf 2>&1)
[[ $(get_num_jobs "$bdevperf_output") == "4" ]]
cleanup
trap - SIGINT SIGTERM EXIT