mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-08-19 00:20:59 +00:00

This commit introduces a new vmtest.sh runner for vsock. It uses virtme-ng/qemu to run tests in a VM. The tests validate G2H, H2G, and loopback. The testing tools from tools/testing/vsock/ are reused. Currently, only vsock_test is used. VMCI and hyperv support is included in the config file to be built with the -b option, though not used in the tests. Only tested on x86. To run: $ make -C tools/testing/selftests TARGETS=vsock $ tools/testing/selftests/vsock/vmtest.sh or $ make -C tools/testing/selftests TARGETS=vsock run_tests Example runs (after make -C tools/testing/selftests TARGETS=vsock): $ ./tools/testing/selftests/vsock/vmtest.sh 1..3 ok 0 vm_server_host_client ok 1 vm_client_host_server ok 2 vm_loopback SUMMARY: PASS=3 SKIP=0 FAIL=0 Log: /tmp/vsock_vmtest_m7DI.log $ ./tools/testing/selftests/vsock/vmtest.sh vm_loopback 1..1 ok 0 vm_loopback SUMMARY: PASS=1 SKIP=0 FAIL=0 Log: /tmp/vsock_vmtest_a1IO.log $ mkdir -p ~/scratch $ make -C tools/testing/selftests install TARGETS=vsock INSTALL_PATH=~/scratch [... omitted ...] $ cd ~/scratch $ ./run_kselftest.sh TAP version 13 1..1 # timeout set to 300 # selftests: vsock: vmtest.sh # 1..3 # ok 0 vm_server_host_client # ok 1 vm_client_host_server # ok 2 vm_loopback # SUMMARY: PASS=3 SKIP=0 FAIL=0 # Log: /tmp/vsock_vmtest_svEl.log ok 1 selftests: vsock: vmtest.sh Future work can include vsock_diag_test. Because vsock requires a VM to test anything other than loopback, this patch adds vmtest.sh as a kselftest itself. This is different than other systems that have a "vmtest.sh", where it is used as a utility script to spin up a VM to run the selftests as a guest (but isn't hooked into kselftest). Signed-off-by: Bobby Eshleman <bobbyeshleman@gmail.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Link: https://patch.msgid.link/20250609-vsock-vmtest-v10-1-7f37198e1cd4@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
112 lines
2.3 KiB
Plaintext
112 lines
2.3 KiB
Plaintext
CONFIG_BLK_DEV_INITRD=y
|
|
CONFIG_BPF=y
|
|
CONFIG_BPF_SYSCALL=y
|
|
CONFIG_BPF_JIT=y
|
|
CONFIG_HAVE_EBPF_JIT=y
|
|
CONFIG_BPF_EVENTS=y
|
|
CONFIG_FTRACE_SYSCALLS=y
|
|
CONFIG_FUNCTION_TRACER=y
|
|
CONFIG_HAVE_DYNAMIC_FTRACE=y
|
|
CONFIG_DYNAMIC_FTRACE=y
|
|
CONFIG_HAVE_KPROBES=y
|
|
CONFIG_KPROBES=y
|
|
CONFIG_KPROBE_EVENTS=y
|
|
CONFIG_ARCH_SUPPORTS_UPROBES=y
|
|
CONFIG_UPROBES=y
|
|
CONFIG_UPROBE_EVENTS=y
|
|
CONFIG_DEBUG_FS=y
|
|
CONFIG_FW_CFG_SYSFS=y
|
|
CONFIG_FW_CFG_SYSFS_CMDLINE=y
|
|
CONFIG_DRM=y
|
|
CONFIG_DRM_VIRTIO_GPU=y
|
|
CONFIG_DRM_VIRTIO_GPU_KMS=y
|
|
CONFIG_DRM_BOCHS=y
|
|
CONFIG_VIRTIO_IOMMU=y
|
|
CONFIG_SOUND=y
|
|
CONFIG_SND=y
|
|
CONFIG_SND_SEQUENCER=y
|
|
CONFIG_SND_PCI=y
|
|
CONFIG_SND_INTEL8X0=y
|
|
CONFIG_SND_HDA_CODEC_REALTEK=y
|
|
CONFIG_SECURITYFS=y
|
|
CONFIG_CGROUP_BPF=y
|
|
CONFIG_SQUASHFS=y
|
|
CONFIG_SQUASHFS_XZ=y
|
|
CONFIG_SQUASHFS_ZSTD=y
|
|
CONFIG_FUSE_FS=y
|
|
CONFIG_VIRTIO_FS=y
|
|
CONFIG_SERIO=y
|
|
CONFIG_PCI=y
|
|
CONFIG_INPUT=y
|
|
CONFIG_INPUT_KEYBOARD=y
|
|
CONFIG_KEYBOARD_ATKBD=y
|
|
CONFIG_SERIAL_8250=y
|
|
CONFIG_SERIAL_8250_CONSOLE=y
|
|
CONFIG_X86_VERBOSE_BOOTUP=y
|
|
CONFIG_VGA_CONSOLE=y
|
|
CONFIG_FB=y
|
|
CONFIG_FB_VESA=y
|
|
CONFIG_FRAMEBUFFER_CONSOLE=y
|
|
CONFIG_RTC_CLASS=y
|
|
CONFIG_RTC_HCTOSYS=y
|
|
CONFIG_RTC_DRV_CMOS=y
|
|
CONFIG_HYPERVISOR_GUEST=y
|
|
CONFIG_PARAVIRT=y
|
|
CONFIG_KVM_GUEST=y
|
|
CONFIG_KVM=y
|
|
CONFIG_KVM_INTEL=y
|
|
CONFIG_KVM_AMD=y
|
|
CONFIG_VSOCKETS=y
|
|
CONFIG_VSOCKETS_DIAG=y
|
|
CONFIG_VSOCKETS_LOOPBACK=y
|
|
CONFIG_VMWARE_VMCI_VSOCKETS=y
|
|
CONFIG_VIRTIO_VSOCKETS=y
|
|
CONFIG_VIRTIO_VSOCKETS_COMMON=y
|
|
CONFIG_HYPERV_VSOCKETS=y
|
|
CONFIG_VMWARE_VMCI=y
|
|
CONFIG_VHOST_VSOCK=y
|
|
CONFIG_HYPERV=y
|
|
CONFIG_UEVENT_HELPER=n
|
|
CONFIG_VIRTIO=y
|
|
CONFIG_VIRTIO_PCI=y
|
|
CONFIG_VIRTIO_MMIO=y
|
|
CONFIG_VIRTIO_BALLOON=y
|
|
CONFIG_NET=y
|
|
CONFIG_NET_CORE=y
|
|
CONFIG_NETDEVICES=y
|
|
CONFIG_NETWORK_FILESYSTEMS=y
|
|
CONFIG_INET=y
|
|
CONFIG_NET_9P=y
|
|
CONFIG_NET_9P_VIRTIO=y
|
|
CONFIG_9P_FS=y
|
|
CONFIG_VIRTIO_NET=y
|
|
CONFIG_CMDLINE_OVERRIDE=n
|
|
CONFIG_BINFMT_SCRIPT=y
|
|
CONFIG_SHMEM=y
|
|
CONFIG_TMPFS=y
|
|
CONFIG_UNIX=y
|
|
CONFIG_MODULE_SIG_FORCE=n
|
|
CONFIG_DEVTMPFS=y
|
|
CONFIG_TTY=y
|
|
CONFIG_VT=y
|
|
CONFIG_UNIX98_PTYS=y
|
|
CONFIG_EARLY_PRINTK=y
|
|
CONFIG_INOTIFY_USER=y
|
|
CONFIG_BLOCK=y
|
|
CONFIG_SCSI_LOWLEVEL=y
|
|
CONFIG_SCSI=y
|
|
CONFIG_SCSI_VIRTIO=y
|
|
CONFIG_BLK_DEV_SD=y
|
|
CONFIG_VIRTIO_CONSOLE=y
|
|
CONFIG_WATCHDOG=y
|
|
CONFIG_WATCHDOG_CORE=y
|
|
CONFIG_I6300ESB_WDT=y
|
|
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
|
|
CONFIG_OVERLAY_FS=y
|
|
CONFIG_DAX=y
|
|
CONFIG_DAX_DRIVER=y
|
|
CONFIG_FS_DAX=y
|
|
CONFIG_MEMORY_HOTPLUG=y
|
|
CONFIG_MEMORY_HOTREMOVE=y
|
|
CONFIG_ZONE_DEVICE=y
|