]> git.baikalelectronics.ru Git - kernel.git/commit
wireguard: selftests: import harness makefile for test suite
authorJason A. Donenfeld <Jason@zx2c4.com>
Sun, 15 Dec 2019 21:08:00 +0000 (22:08 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 17 Dec 2019 03:22:22 +0000 (19:22 -0800)
commit8f397b9efb0a61e5497ea39a7671ac555a558d3e
treef3cd01bc248f150463f81c332fbf472b00086ed2
parentdfc15d02eb7b5e5b3ae428ec0c94ce460585cede
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>
18 files changed:
tools/testing/selftests/wireguard/qemu/.gitignore [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/Makefile [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/aarch64.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/aarch64_be.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/arm.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/armeb.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/i686.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/m68k.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/mips.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/mips64.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/mips64el.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/mipsel.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/powerpc.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/powerpc64le.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/arch/x86_64.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/debug.config [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/init.c [new file with mode: 0644]
tools/testing/selftests/wireguard/qemu/kernel.config [new file with mode: 0644]