summaryrefslogtreecommitdiffstats
path: root/src/spdk/test/blobstore/blobstore.sh
blob: 4ae413a1a002fdd5ccd9122eb86c0b2d2a279901 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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