This patch set adds simple user-space tests as part of gnumach's make check, running on qemu, and some fixes found in the meantime. The tests are far for complete and currently mostly cover issues I found working on x86_64, but they are quite minimal and only require a working MIG. They will be definitely useful in case of new architectures, if supported by qemu. Currently I ran the tests only on GNU/Linux as qemu does not run yet on the Hurd.
Luca Dariz (14): USER32: change default to disabled and make it a general option add basic user-space tests with qemu add mach_host tests add gsync tests add mach_port tests adjust range when changing memory pageability add basic vm tests add thread creation helper to tests add syscall tests expose MACH_MSG_USER_ALIGNMENT for manually-built messages add raw mach_msg tests add basic task tests add basic thread tests add tests to make check configure.ac | 16 +- include/mach/message.h | 19 +- tests/Makefrag.am | 11 +- tests/README | 37 +++ tests/configfrag.ac | 16 ++ tests/grub.cfg.single.template | 4 + tests/include/device/cons.h | 10 + tests/include/kern/printf.h | 1 + tests/include/mach/mig_support.h | 71 ++++++ tests/include/syscalls.h | 83 +++++++ tests/include/testlib.h | 58 +++++ tests/include/util/atoi.h | 1 + tests/run-qemu.sh.template | 23 ++ tests/syscalls.S | 4 + tests/test-gsync.c | 87 +++++++ tests/test-hello.c | 9 + tests/test-mach_host.c | 54 +++++ tests/test-mach_port.c | 80 +++++++ tests/test-machmsg.c | 390 +++++++++++++++++++++++++++++++ tests/test-syscalls.c | 149 ++++++++++++ tests/test-task.c | 149 ++++++++++++ tests/test-threads.c | 88 +++++++ tests/test-vm.c | 52 +++++ tests/testlib.c | 150 ++++++++++++ tests/user-qemu.mk | 203 ++++++++++++++++ vm/vm_map.c | 21 +- x86_64/configfrag.ac | 14 +- 27 files changed, 1771 insertions(+), 29 deletions(-) create mode 100644 tests/README create mode 100644 tests/grub.cfg.single.template create mode 100644 tests/include/device/cons.h create mode 120000 tests/include/kern/printf.h create mode 100644 tests/include/mach/mig_support.h create mode 100644 tests/include/syscalls.h create mode 100644 tests/include/testlib.h create mode 120000 tests/include/util/atoi.h create mode 100644 tests/run-qemu.sh.template create mode 100644 tests/syscalls.S create mode 100644 tests/test-gsync.c create mode 100644 tests/test-hello.c create mode 100644 tests/test-mach_host.c create mode 100644 tests/test-mach_port.c create mode 100644 tests/test-machmsg.c create mode 100644 tests/test-syscalls.c create mode 100644 tests/test-task.c create mode 100644 tests/test-threads.c create mode 100644 tests/test-vm.c create mode 100644 tests/testlib.c create mode 100644 tests/user-qemu.mk -- 2.39.2