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).
The test suite is modest but I hope to cover additional cases in the future. My goal is to have a shared test suite so VMCI, Hyper-V, and KVM can ensure that our transports behave the same. I have tested virtio-vsock. Jorgen: Please test the VMCI transport and let me know if anything needs to be adjusted. See tools/testing/vsock/README for information on how to run the test suite. Dexuan: I'm not sure if this test suite is useful for the Hyper-V transport since the host is Windows and uses a different API for AF_HYPERV? Stefan Hajnoczi (5): 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 tools/testing/vsock/Makefile | 7 +- tools/testing/vsock/util.h | 43 +++++ tools/testing/vsock/util.c | 291 ++++++++++++++++++++++++++++++ tools/testing/vsock/vsock_diag_test.c | 167 +++--------------- tools/testing/vsock/vsock_test.c | 321 ++++++++++++++++++++++++++++++++++ tools/testing/vsock/.gitignore | 1 + tools/testing/vsock/README | 1 + 7 files changed, 685 insertions(+), 146 deletions(-) create mode 100644 tools/testing/vsock/util.h create mode 100644 tools/testing/vsock/util.c create mode 100644 tools/testing/vsock/vsock_test.c -- 2.14.3