Fabian 46460641c7 Update tests readme %!s(int64=3) %!d(string=hai) anos
..
api aa46a4da2f Update test images, add QNX, Minix and Arch Linux test %!s(int64=3) %!d(string=hai) anos
benchmark 8638c6abaf benchmark script improvements %!s(int64=3) %!d(string=hai) anos
devices ea50e29e5f Remove dead & improve %!s(int64=3) %!d(string=hai) anos
expect 472e53fec6 Update expect tests %!s(int64=3) %!d(string=hai) anos
full aa46a4da2f Update test images, add QNX, Minix and Arch Linux test %!s(int64=3) %!d(string=hai) anos
jit-paging 5b95165de2 Add TEST_RELEASE_BUILD to run tests on release build %!s(int64=3) %!d(string=hai) anos
kvm-unit-tests 5325856849 kvm-unit-test benchmark: Print millicycles %!s(int64=3) %!d(string=hai) anos
nasm bf1ea2e742 Force immediate hlt on exception in nasmtests %!s(int64=3) %!d(string=hai) anos
qemu fe6872d55b Don't print control characters in terminal %!s(int64=3) %!d(string=hai) anos
rust acb8ad5423 Avoid console.assert (doesn't throw) %!s(int64=3) %!d(string=hai) anos
Readme.md 46460641c7 Update tests readme %!s(int64=3) %!d(string=hai) anos

Readme.md

Use the corresponding make target in the root directory to run a test. The following list is roughtly sorted from most interesting/useful to least.

  • nasm: Small unit tests written in assembly, which are run using gdb on the host.
  • qemu: Based on tests from qemu. Builds a Linux binary, which tests many CPU features, which are then compared to a run on qemu.
  • kvm-unit-test: Based on tests from the KVM project, tests various CPU features.
  • full: Starts several OSes and checks if they boot correctly.
  • jit-paging: Tests jit and paging interaction.
  • api: Tests for several API functions of v86.
  • devices: Device tests.
  • rust: Rust unit test helpers.
  • expect: Expect tests for the jit output. Contains a set of asm+wasm files, where the jit is expected to produce the wasm file given the asm file.