Spdk/test/blobstore/blobstore.sh
Michal Berger a70a338f5a test/blobstore: Generate json config with single nvme bdev
The match run against btest.out.match expects to find only single
nvme in the configuration, however, some CI nodes may come with
multiple nvme drives causing this particular test to fail. To
mitigate this, make sure to create config with only a single nvme
bdev.

Signed-off-by: Michal Berger <michal.berger@intel.com>
Change-Id: Ifa390269b0e0a040b1aea752735c2692cbabac6b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13762
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-07-28 06:56:05 +00:00

31 lines
976 B
Bash
Executable File

#!/usr/bin/env bash
SYSTEM=$(uname -s)
if [ $SYSTEM = "FreeBSD" ]; then
echo "blobstore.sh cannot run on FreeBSD currently."
exit 0
fi
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../..)
source $rootdir/test/common/autotest_common.sh
# Nvme0 target configuration
"$rootdir/scripts/gen_nvme.sh" --json-with-subsystems -n 1 > "$testdir/blobcli.json"
# generate random data file for import/export diff
dd if=/dev/urandom of=$testdir/test.pattern bs=1M count=1
(cd $testdir \
&& $SPDK_EXAMPLE_DIR/blobcli -j $testdir/blobcli.json -b Nvme0n1 -T $testdir/test.bs > $testdir/btest.out)
# the test script will import the test pattern generated by dd and then export
# it to a file so we can compare and confirm basic read and write
$rootdir/test/app/match/match -v $testdir/btest.out.match
diff $testdir/test.pattern $testdir/test.pattern.blob
rm -rf $testdir/btest.out
rm -rf $testdir/blobcli.json
rm -rf $testdir/*.blob
rm -rf $testdir/test.pattern