mbox series

[v5,0/7] blktests: Add support to run nvme tests with tcp/rdma transports

Message ID 20200902222901.408217-1-sagi@grimberg.me (mailing list archive)
Headers show
Series blktests: Add support to run nvme tests with tcp/rdma transports | expand

Message

Sagi Grimberg Sept. 2, 2020, 10:28 p.m. UTC
We have a collection of nvme tests, but all run with nvme-loop. This
is the easiest to run on a standalone machine. However its very much possible
to run nvme-tcp and nvme-rdma using a loopback network. Add capability to run
tests with a new environment variable to set the transport type $nvme_trtype.

$ nvme_trtype=[loop|tcp|rdma] ./check nvme

This buys us some nice coverage on some more transport types. We also add
some transport type specific helpers to mark tests that are relevant only
for a single transport.

Changes from v4:
- removed extra paranthesis
- load either rdma_rxe or siw for rdma transport tests
Changes from v3:
- remove unload_module from tests/srp/rc
- fixed test run cmd
Changes from v2:
- changed patch 6 to move unload_module to common/rc
- changed helper to be named _require_nvme_trtype_is_fabrics
Changes from v1:
- added patch to remove use of module_unload
- move trtype agnostic logig helpers in patch #3

Sagi Grimberg (7):
  nvme: consolidate nvme requirements based on transport type
  nvme: consolidate some nvme-cli utility functions
  nvme: make tests transport type agnostic
  tests/nvme: restrict tests to specific transports
  nvme: support nvme-tcp when runinng tests
  common: move module_unload to common
  nvme: support rdma transport type

 common/rc          |  13 +++++
 tests/nvme/002     |   8 +--
 tests/nvme/003     |  10 ++--
 tests/nvme/004     |  12 +++--
 tests/nvme/005     |  15 +++---
 tests/nvme/006     |   7 +--
 tests/nvme/007     |   5 +-
 tests/nvme/008     |  13 ++---
 tests/nvme/009     |  11 ++--
 tests/nvme/010     |  13 ++---
 tests/nvme/011     |  13 ++---
 tests/nvme/012     |  14 ++---
 tests/nvme/013     |  13 ++---
 tests/nvme/014     |  13 ++---
 tests/nvme/015     |  12 +++--
 tests/nvme/016     |   7 +--
 tests/nvme/017     |   7 +--
 tests/nvme/018     |  13 ++---
 tests/nvme/019     |  13 ++---
 tests/nvme/020     |  11 ++--
 tests/nvme/021     |  13 ++---
 tests/nvme/022     |  13 ++---
 tests/nvme/023     |  13 ++---
 tests/nvme/024     |  13 ++---
 tests/nvme/025     |  13 ++---
 tests/nvme/026     |  13 ++---
 tests/nvme/027     |  13 ++---
 tests/nvme/028     |  15 +++---
 tests/nvme/029     |  13 ++---
 tests/nvme/030     |   8 +--
 tests/nvme/031     |  12 ++---
 tests/nvme/032     |   4 ++
 tests/nvme/rc      | 127 ++++++++++++++++++++++++++++++++++++++++++---
 tests/nvmeof-mp/rc |  13 -----
 tests/srp/rc       |  13 -----
 35 files changed, 327 insertions(+), 192 deletions(-)

Comments

Logan Gunthorpe Sept. 2, 2020, 10:59 p.m. UTC | #1
Hi Sagi,

On 2020-09-02 4:28 p.m., Sagi Grimberg wrote:
> We have a collection of nvme tests, but all run with nvme-loop. This
> is the easiest to run on a standalone machine. However its very much possible
> to run nvme-tcp and nvme-rdma using a loopback network. Add capability to run
> tests with a new environment variable to set the transport type $nvme_trtype.
> 
> $ nvme_trtype=[loop|tcp|rdma] ./check nvme
> 
> This buys us some nice coverage on some more transport types. We also add
> some transport type specific helpers to mark tests that are relevant only
> for a single transport.

I'm still noticing a bunch of quoting issues in your patches. Make sure
you run "make check" on them. I see a lot of warnings introduced by
these (see below).

Logan

--

$ make check
shellcheck -x -e SC2119 -f gcc check new common/* \
	tests/*/rc tests/*/[0-9]*[0-9]
tests/nvme/rc:120:19: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/rc:122:21: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/rc:134:18: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/rc:136:16: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/002:25:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/002:35:17: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/003:33:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/004:26:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/004:37:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/005:26:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/005:37:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/005:46:24: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/006:33:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/007:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/008:35:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/008:38:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/009:31:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/009:34:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/010:35:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/010:38:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/011:33:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/011:36:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/012:39:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/012:42:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/013:36:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/013:39:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/014:35:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/014:38:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/015:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/015:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/016:34:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/017:37:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/018:33:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/018:36:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/019:37:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/019:40:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/020:33:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/020:36:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/021:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/021:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/022:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/022:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/023:35:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/023:38:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/024:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/024:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/025:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/025:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/026:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/026:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/027:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/027:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/028:32:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/028:35:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/028:41:46: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/029:68:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/029:71:23: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/030:41:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/031:40:29: note: Double quote to prevent globbing and word
splitting. [SC2086]
tests/nvme/031:45:24: note: Double quote to prevent globbing and word
splitting. [SC2086]