mirror of
https://github.com/FEX-Emu/FEX.git
synced 2025-01-26 16:54:32 +00:00
8b2cd87d9e
The Zen+ CI runner doesn't support the UMIP hardware feature, so it doesn't hit the kernel emulated path. Instead the instruction returns real data on this hardware. Still in kernel space, so it is unmapped as expected.
FEX Unit tests
FEX has its own test suite for x86-64 emulation, and we also use gcc's target tests, posixtest, and gvisor's tests. We use a combination of CMake/CTest and python runner scripts.
We also regularly run and pass qemu's and valgrind's tests for validation, but those aren't in CI right now.
x86/64 testing
- A lot of handwritten assembly unit tests in 32Bit_ASM and ASM folders, run via our TestHarnessHelper
- A few handwritten IR tests in IR, run via our IRLoader
- gcc-target-tests-32 and gcc-target-tests-64, run via FEXLoader. The tests binaries are in External/fex-gcc-target-tests-bins
Syscall testing
- 64-bit posixtest from http://posixtest.sourceforge.net/, run via FEXLoader. The tests binaries are in External/fex-posixtest-bins
- 64-bit gvisor tests from https://github.com/google/gvisor, run via FEXLoader. The tests binaries are in External/fex-gvisor-tests-bins