FEX/unittests
Ryan Houdek 862d63adf2
unittests/ASM: Adds a test for overlapping memcpy using rep movs
Caused by #3478

This was missed in the review that it could cause issues. bylaws already
has a fix incoming that will get this unit test working.
2024-03-20 18:44:36 -07:00
..
32Bit_ASM Improve 32bit constant usage in memory addressing 2024-03-05 14:01:32 +00:00
APITests Allocator: Test CollectMemoryGaps instead of StealMemoryRegions and restore the original interfaces 2024-03-12 10:49:31 +01:00
ASM unittests/ASM: Adds a test for overlapping memcpy using rep movs 2024-03-20 18:44:36 -07:00
FEXLinuxTests Update Catch2 to v3.5.3 2024-03-05 12:15:29 +01:00
gcc-target-tests-32 unittests: Instruct CTest to print output from tests on failure 2023-09-26 17:16:28 +02:00
gcc-target-tests-64 unittests: Instruct CTest to print output from tests on failure 2023-09-26 17:16:28 +02:00
gvisor-tests unittests: Instruct CTest to print output from tests on failure 2023-09-26 17:16:28 +02:00
InstructionCountCI Update InstCountCI 2024-03-20 21:08:59 +00:00
POSIX unittests: Instruct CTest to print output from tests on failure 2023-09-26 17:16:28 +02:00
ThunkFunctionalTests unittests: Instruct CTest to print output from tests on failure 2023-09-26 17:16:28 +02:00
ThunkLibs Update Catch2 to v3.5.3 2024-03-05 12:15:29 +01:00
Utilities unittests: Adds missing header 2023-07-08 14:50:10 -07:00
CMakeLists.txt Removes IRLoader, unittests, and public interface 2023-12-25 07:00:29 -08:00
Example.asm
Readme.md

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