linux/tools/testing/vsock
Arseny Krasnov 41b792d7a8 vsock_test: add SOCK_SEQPACKET tests
Implement two tests of SOCK_SEQPACKET socket: first sends data by
several 'write()'s and checks that number of 'read()' were same.
Second test checks MSG_TRUNC flag. Cases for connect(), bind(),
etc. are not tested, because it is same as for stream socket.

Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-11 13:32:47 -07:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
control.c testing/vsock: add parameters to list and skip tests 2019-12-20 21:09:21 -08:00
control.h testing/vsock: add parameters to list and skip tests 2019-12-20 21:09:21 -08:00
Makefile VSOCK: add AF_VSOCK test cases 2019-12-20 21:09:21 -08:00
README VSOCK: add AF_VSOCK test cases 2019-12-20 21:09:21 -08:00
timeout.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
timeout.h VSOCK: add SPDX identifiers to vsock tests 2019-12-20 21:09:21 -08:00
util.c vsock_test: add SOCK_SEQPACKET tests 2021-06-11 13:32:47 -07:00
util.h vsock_test: add SOCK_SEQPACKET tests 2021-06-11 13:32:47 -07:00
vsock_diag_test.c testing/vsock: print list of options and description 2019-12-20 21:09:21 -08:00
vsock_test.c vsock_test: add SOCK_SEQPACKET tests 2021-06-11 13:32:47 -07:00

AF_VSOCK test suite
-------------------
These tests exercise net/vmw_vsock/ host<->guest sockets for VMware, KVM, and
Hyper-V.

The following tests are available:

  * vsock_test - core AF_VSOCK socket functionality
  * vsock_diag_test - vsock_diag.ko module for listing open sockets

The following prerequisite steps are not automated and must be performed prior
to running tests:

1. Build the kernel, make headers_install, and build these tests.
2. Install the kernel and tests on the host.
3. Install the kernel and tests inside the guest.
4. Boot the guest and ensure that the AF_VSOCK transport is enabled.

Invoke test binaries in both directions as follows:

  # host=server, guest=client
  (host)# $TEST_BINARY --mode=server \
                       --control-port=1234 \
                       --peer-cid=3
  (guest)# $TEST_BINARY --mode=client \
                        --control-host=$HOST_IP \
                        --control-port=1234 \
                        --peer-cid=2

  # host=client, guest=server
  (guest)# $TEST_BINARY --mode=server \
                        --control-port=1234 \
                        --peer-cid=2
  (host)# $TEST_BINARY --mode=client \
                       --control-port=$GUEST_IP \
                       --control-port=1234 \
                       --peer-cid=3