summaryrefslogtreecommitdiffstats
path: root/src/spdk/test/blobstore/blobstore.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/spdk/test/blobstore/blobstore.sh')
-rwxr-xr-xsrc/spdk/test/blobstore/blobstore.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/spdk/test/blobstore/blobstore.sh b/src/spdk/test/blobstore/blobstore.sh
new file mode 100755
index 00000000..4ae413a1
--- /dev/null
+++ b/src/spdk/test/blobstore/blobstore.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+
+SYSTEM=`uname -s`
+if [ $SYSTEM = "FreeBSD" ] ; then
+ echo "blobstore.sh cannot run on FreeBSD currently."
+ exit 0
+fi
+
+set -xe
+
+testdir=$(readlink -f $(dirname $0))
+rootdir=$(readlink -f $testdir/../..)
+source $rootdir/test/common/autotest_common.sh
+timing_enter blobstore
+
+set -e
+
+# Nvme0 target configuration
+$rootdir/scripts/gen_nvme.sh > $testdir/blobcli.conf
+
+# generate random data file for import/export diff
+dd if=/dev/urandom of=$testdir/test.pattern bs=1M count=1
+
+cd $testdir
+$rootdir/examples/blob/cli/blobcli -c $testdir/blobcli.conf -b Nvme0n1 -T $testdir/test.bs > $testdir/btest.out
+cd -
+
+# the tool leaves some trailing whitespaces that we need to strip out
+sed -i 's/[[:space:]]*$//' $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.conf
+rm -rf $testdir/*.blob
+rm -rf $testdir/test.pattern
+
+timing_exit blobstore