numam-spdk/test/blobstore/btest.out.match
paul luse a0e22e1303 test: add 'match' util and use it with blobstore
Will follow this up with a doc change but want to make sure we're
all good with it first. This is meant to not only beef up
blobstore testing but provide the 'match' utilitiy for all test
cases where we are currently calling an executable and either
counting only on a return code to determine success or failure
or worse yet we're just running it and if it doesn't explode we
assume its a pass.

The 'match' util was borrowed from the PMDK folks after first
adding the "ignore" feature upstream to make it easier to use
in SPDK.  It works like this:

When the developer checks in a test they create and check in
the output of the test with two different file extensions:

.ignore: should include a string per line for output lines
that we want to totally ignore typically because they're
platform specific so the output could be different from
machine to machine.  In this case I'm ignoring all output
lines with 'DPDK' or 'EAL' or '...' in them. The first
few are obvious, the last is because the test tool will
print a varrying number of these as progress indicators.

.match: this is a copy of the output that the developer
'fixes' up by replacing platform specific output strings
with replacable tokens as described in the 'match' help.
This is where you'd want to match an entire line minus
something like a CPU count or free block count or
something. The 'ignore' feature was added simply so we
wouldn't have to edit every single line of an output
file that had DPDK or EAL in it.

Then you modify the test script to save the output and
smply run the match util providing the name of the
match file and if it fails to match the actual output
with the saved output that's been token'ized the script
will error.

The obvious advantage here is that now we can confirm all
of the output from a test executable is as we expect.

Change-Id: I701d36ee83d37b6193e16ed3171e114f814e5eb3
Signed-off-by: paul luse <paul.e.luse@intel.com>
Reviewed-on: https://review.gerrithub.io/397027
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-02-06 18:05:25 -05:00

124 lines
3.8 KiB
Plaintext

Starting DPDK 17.11.0 initialization...
[ DPDK EAL parameters: blobcli -c 0x1 --file-prefix=spdk_pid5072 ]
EAL: Probing VFIO support...
EAL: PCI device 0000:00:04.0 on NUMA socket 0
EAL: probe driver: 8086:2f20 spdk_ioat
EAL: PCI device 0000:00:04.1 on NUMA socket 0
EAL: probe driver: 8086:2f21 spdk_ioat
EAL: PCI device 0000:00:04.2 on NUMA socket 0
EAL: probe driver: 8086:2f22 spdk_ioat
EAL: PCI device 0000:00:04.3 on NUMA socket 0
EAL: probe driver: 8086:2f23 spdk_ioat
EAL: PCI device 0000:00:04.4 on NUMA socket 0
EAL: probe driver: 8086:2f24 spdk_ioat
EAL: PCI device 0000:00:04.5 on NUMA socket 0
EAL: probe driver: 8086:2f25 spdk_ioat
EAL: PCI device 0000:00:04.6 on NUMA socket 0
EAL: probe driver: 8086:2f26 spdk_ioat
EAL: PCI device 0000:00:04.7 on NUMA socket 0
EAL: probe driver: 8086:2f27 spdk_ioat
EAL: PCI device 0000:80:04.0 on NUMA socket 1
EAL: probe driver: 8086:2f20 spdk_ioat
EAL: PCI device 0000:80:04.1 on NUMA socket 1
EAL: probe driver: 8086:2f21 spdk_ioat
EAL: PCI device 0000:80:04.2 on NUMA socket 1
EAL: probe driver: 8086:2f22 spdk_ioat
EAL: PCI device 0000:80:04.3 on NUMA socket 1
EAL: probe driver: 8086:2f23 spdk_ioat
EAL: PCI device 0000:80:04.4 on NUMA socket 1
EAL: probe driver: 8086:2f24 spdk_ioat
EAL: PCI device 0000:80:04.5 on NUMA socket 1
EAL: probe driver: 8086:2f25 spdk_ioat
EAL: PCI device 0000:80:04.6 on NUMA socket 1
EAL: probe driver: 8086:2f26 spdk_ioat
EAL: PCI device 0000:80:04.7 on NUMA socket 1
EAL: probe driver: 8086:2f27 spdk_ioat
EAL: PCI device 0000:06:00.0 on NUMA socket 0
EAL: probe driver: 8086:953 spdk_nvme
SCRIPT NOW PROCESSING: -i
Init blobstore using bdev Product Name: NVMe disk
blobstore init'd: ($(XX))
SCRIPT NOW PROCESSING: -l bdevs
List bdevs:
bdev Name: Nvme0n1
bdev Product Name: NVMe disk
SCRIPT NOW PROCESSING: -n 1
New blob id 4294967296
blob now has USED clusters of 1
SCRIPT NOW PROCESSING: -p $B0
Super Blob ID has been set.
SCRIPT NOW PROCESSING: -n 1
New blob id 4294967297
blob now has USED clusters of 1
SCRIPT NOW PROCESSING: -m $B1 test.pattern
Working...............................................................................................................................................................................................................................................................
Blob import complete (from test.pattern).
SCRIPT NOW PROCESSING: -d $B1 test.pattern.blob
Working................................................................................................................................................................................................................................................................
File write complete (to test.pattern.blob).
SCRIPT NOW PROCESSING: -x $B1 key val
Xattr has been set.
SCRIPT NOW PROCESSING: -s bs
Blobstore Public Info:
Using bdev Product Name: NVMe disk
API Version: $(N)
super blob ID: 4294967296
page size: 4096
cluster size: 1048576
# free clusters: $(N)
blobstore type:
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Blobstore Private Info:
Metadata start (pages): $(N)
Metadata length (pages): $(N)
SCRIPT NOW PROCESSING: -s $B1
Blob Public Info:
blob ID: 4294967297
# of clusters: 1
# of bytes: 1048576
# of pages: 256
# of xattrs: 1
xattrs:
(0) Name:key
(0) Value:
00000000 76 61 6c 00 val.
Blob Private Info:
state: CLEAN
open ref count: 1
SCRIPT NOW PROCESSING: -r $B1 key
Xattr has been removed.
SCRIPT NOW PROCESSING: -s bs
Blobstore Public Info:
Using bdev Product Name: NVMe disk
API Version: 3
super blob ID: 4294967296
page size: 4096
cluster size: 1048576
# free clusters: $(N)
blobstore type:
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Blobstore Private Info:
Metadata start (pages): $(N)
Metadata length (pages): $(N)
SCRIPT NOW PROCESSING: -X