mbox series

[v2,00/11] VSOCK: add vsock_test test suite

Message ID 20190801152541.245833-1-sgarzare@redhat.com
Headers show
Series VSOCK: add vsock_test test suite | expand

Message

Stefano Garzarella Aug. 1, 2019, 3:25 p.m. UTC
The vsock_diag.ko module already has a test suite but the core AF_VSOCK
functionality has no tests.  This patch series adds several test cases that
exercise AF_VSOCK SOCK_STREAM socket semantics (send/recv, connect/accept,
half-closed connections, simultaneous connections).

Stefan: Do you think we should have a single application or is better to
split it in single tests (e.g. vsock_test_send_recv, vsock_test_half_close,
vsock_test_multiconnection, etc.)?

Jorgen: Please test the VMCI transport and let me know if the fixes work.
I added the '--transport' parameter to skip the read() on the half-closed
connection test.

Dexuan: Do you think can be useful to test HyperV?

The v1 of this series was originally sent by Stefan. I rebased on master
and tried to fix some issues reported by Jorgen.

v2:
- Patch 1 added by Stefan to fix header include in vsock_diag_test.
- Patch 2 added by Stefan to add SPDX identifiers. I modified it to be
  aligned with SPDX currently used on master.
- Patch 3:
  * fixed SPDX [Stefano].
- Patch 7:
  * Drop unnecessary includes [Stefan]
  * Fixed SPDX [Stefano]
  * Set MULTICONN_NFDS to 100 [Stefano]
  * Changed (i % 1) in (i % 2) in the 'multiconn' test [Stefano]
- Patches 8,9,10 added to skip read after close in test_stream*close tests
  on a VMCI host.
- Patch 11 added to wait for the remote to close the connection, before
  check if a send returns -EPIPE.

v1: https://patchwork.ozlabs.org/cover/847998/

Stefan Hajnoczi (7):
  VSOCK: fix header include in vsock_diag_test
  VSOCK: add SPDX identifiers to vsock tests
  VSOCK: extract utility functions from vsock_diag_test.c
  VSOCK: extract connect/accept functions from vsock_diag_test.c
  VSOCK: add full barrier between test cases
  VSOCK: add send_byte()/recv_byte() test utilities
  VSOCK: add AF_VSOCK test cases

Stefano Garzarella (4):
  VSOCK: add vsock_get_local_cid() test utility
  vsock_test: add --transport parameter
  vsock_test: skip read() in test_stream*close tests on a VMCI host
  vsock_test: wait for the remote to close the connection

 tools/testing/vsock/.gitignore        |   1 +
 tools/testing/vsock/Makefile          |   9 +-
 tools/testing/vsock/README            |   3 +-
 tools/testing/vsock/control.h         |   1 +
 tools/testing/vsock/timeout.h         |   1 +
 tools/testing/vsock/util.c            | 342 ++++++++++++++++++++++++
 tools/testing/vsock/util.h            |  54 ++++
 tools/testing/vsock/vsock_diag_test.c | 170 ++----------
 tools/testing/vsock/vsock_test.c      | 362 ++++++++++++++++++++++++++
 9 files changed, 793 insertions(+), 150 deletions(-)
 create mode 100644 tools/testing/vsock/util.c
 create mode 100644 tools/testing/vsock/util.h
 create mode 100644 tools/testing/vsock/vsock_test.c

Comments

Dexuan Cui Aug. 1, 2019, 4:16 p.m. UTC | #1
> From: Stefano Garzarella <sgarzare@redhat.com>
> Sent: Thursday, August 1, 2019 8:26 AM
> 
> The vsock_diag.ko module already has a test suite but the core AF_VSOCK
> functionality has no tests.  This patch series adds several test cases that
> exercise AF_VSOCK SOCK_STREAM socket semantics (send/recv,
> connect/accept,
> half-closed connections, simultaneous connections).
> 
> Dexuan: Do you think can be useful to test HyperV?

Hi Stefano,
Thanks! This should be useful, though I have to write the Windows host side
code to use the test program(s). :-)

Thanks,
-- Dexuan
Stefano Garzarella Aug. 2, 2019, 7:55 a.m. UTC | #2
On Thu, Aug 01, 2019 at 04:16:37PM +0000, Dexuan Cui wrote:
> > From: Stefano Garzarella <sgarzare@redhat.com>
> > Sent: Thursday, August 1, 2019 8:26 AM
> > 
> > The vsock_diag.ko module already has a test suite but the core AF_VSOCK
> > functionality has no tests.  This patch series adds several test cases that
> > exercise AF_VSOCK SOCK_STREAM socket semantics (send/recv,
> > connect/accept,
> > half-closed connections, simultaneous connections).
> > 
> > Dexuan: Do you think can be useful to test HyperV?
> 
> Hi Stefano,
> Thanks! This should be useful, though I have to write the Windows host side
> code to use the test program(s). :-)
> 

Oh, yeah, I thought so :-)

Let me know when you'll try to find out if there's a problem.

Thanks,
Stefano