linux/tools/testing/selftests
Jason A. Donenfeld 65d88d0411 wireguard: selftests: import harness makefile for test suite
WireGuard has been using this on build.wireguard.com for the last
several years with considerable success. It allows for very quick and
iterative development cycles, and supports several platforms.

To run the test suite on your current platform in QEMU:

  $ make -C tools/testing/selftests/wireguard/qemu -j$(nproc)

To run it with KASAN and such turned on:

  $ DEBUG_KERNEL=yes make -C tools/testing/selftests/wireguard/qemu -j$(nproc)

To run it emulated for another platform in QEMU:

  $ ARCH=arm make -C tools/testing/selftests/wireguard/qemu -j$(nproc)

At the moment, we support aarch64_be, aarch64, arm, armeb, i686, m68k,
mips64, mips64el, mips, mipsel, powerpc64le, powerpc, and x86_64.

The system supports incremental rebuilding, so it should be very fast to
change a single file and then test it out and have immediate feedback.

This requires for the right toolchain and qemu to be installed prior.
I've had success with those from musl.cc.

This is tailored for WireGuard at the moment, though later projects
might generalize it for other network testing.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-12-16 19:22:22 -08:00
..
android
arm64 kselftest: arm64: fix spelling mistake "contiguos" -> "contiguous" 2019-11-11 18:25:24 +00:00
bpf selftests/bpf: Add a fexit/bpf2bpf test with target bpf prog no callees 2019-12-04 21:34:42 -08:00
breakpoints selftests: breakpoints: Fix a typo of function name 2019-11-07 14:27:26 -07:00
capabilities
cgroup kselftests: cgroup: Avoid the reuse of fd after it is deallocated 2019-11-12 07:33:59 -08:00
clone3 selftests/clone3: skip if clone3() is ENOSYS 2019-11-18 08:59:03 +01:00
cpu-hotplug
cpufreq
drivers selftests: mlxsw: Check devlink device before running test 2019-11-18 17:11:54 -08:00
efivarfs
exec
filesystems selftests: add epoll selftests 2019-12-04 19:44:13 -08:00
firmware selftests: firmware: Add request_firmware_into_buf tests 2019-09-04 13:31:28 +02:00
ftrace ftrace/selftests: Fix spelling mistake "wakeing" -> "waking" 2019-11-15 11:30:38 -05:00
futex
gpio
ia64
intel_pstate
ipc
ir
kcmp
kexec sefltest/ima: support appended signatures (modsig) 2019-08-29 12:45:30 -04:00
kmod
kselftest selftests: Move kselftest_module.sh into kselftest/ 2019-11-07 14:46:08 -07:00
kvm Merge branch 'kvm-tsx-ctrl' into HEAD 2019-11-21 12:03:40 +01:00
lib selftests: Move kselftest_module.sh into kselftest/ 2019-11-07 14:46:08 -07:00
livepatch New tracing features: 2019-11-27 11:42:01 -08:00
locking
media_tests
membarrier selftests, sched/membarrier: Add multi-threaded test 2019-09-25 17:42:31 +02:00
memfd memfd: add test for COW on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings 2019-12-01 12:59:03 -08:00
memory-hotplug
mount
mqueue
net selftests/net: make so_txtime more robust to timer variance 2019-12-14 18:03:01 -08:00
netfilter selftests: netfilter: add ipvs tunnel test case 2019-10-11 10:05:27 +02:00
networking/timestamping
nsfs
ntb
pidfd test: verify fdinfo for pidfd of reaped process 2019-10-17 15:36:54 +02:00
powerpc selftests/powerpc: spectre_v2 test must be built 64-bit 2019-11-21 15:41:39 +11:00
prctl
proc selftests: proc: Make va_max 1MB 2019-11-07 14:52:57 -07:00
pstore
ptp ptp: Extend the test program to check the external time stamp flags. 2019-11-15 12:48:33 -08:00
ptrace
rcutorture rcutorture: Remove CONFIG_HOTPLUG_CPU=n from scenarios 2019-10-05 11:49:13 -07:00
rseq
rtc selftests/kselftest/runner.sh: Add 45 second timeout per test 2019-10-01 13:33:28 -06:00
safesetid
seccomp seccomp updates for v5.5 2019-11-30 17:23:16 -08:00
sigaltstack
size
sparc64
splice
static_keys
sync selftests: sync: Fix cast warnings on arm 2019-11-07 14:54:37 -07:00
sysctl
tc-testing tc-testing: Introduced tdc tests for basic filter 2019-11-12 19:40:19 -08:00
timers
tmpfs
tpm2 selftests/tpm2: Add the missing TEST_FILES assignment 2019-09-25 02:43:48 +03:00
uevent
user
vDSO
vm selftests: vm: add fragment CONFIG_TEST_VMALLOC 2019-12-01 12:59:05 -08:00
watchdog selftests: watchdog: Add command line option to show watchdog_info 2019-10-02 13:44:43 -06:00
wireguard wireguard: selftests: import harness makefile for test suite 2019-12-16 19:22:22 -08:00
x86 selftests/x86/single_step_syscall: Check SYSENTER directly 2019-11-26 21:53:34 +01:00
zram
.gitignore selftests/tpm2: Add log and *.pyc to .gitignore 2019-09-25 02:43:51 +03:00
gen_kselftest_tar.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_harness.h
kselftest_install.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_module.h
kselftest.h
lib.mk
Makefile selftests: add epoll selftests 2019-12-04 19:44:13 -08:00