mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-11-26 09:22:20 +03:00
6e020bcde6
GHC 9.2 adds `-Wincomplete-uni-patterns` to `-Wall`, which uncovers a slew of previously unnoticed warnings in `macaw`. This patch fixes them, mostly by adding explicit fall-through cases. |
||
---|---|---|
.. | ||
arm | ||
ARMTests.hs | ||
MismatchTests.hs | ||
README.md | ||
Shared.hs | ||
TestMain.hs |
Overview
The tests in this directory attempt to test both ARM and Thumb decoding/discovery. The test suite only runs on the binaries with corresponding .mcw.expected
files, which describe the expected discovered basic blocks.
- test-just-exit-a32.exe: Ensures that the very basics of anything at all works
- test-conditional-a32.exe: Ensures that conditional branches in A32 mode are handled correctly
- test-direct-call-a32.exe: Ensures that call and return sequences work in A32 mode
- test-direct-call-t32.exe: Ensures that transitions (via call) to Thumb mode work correctly
- test-conditional-mixed.exe: Ensures that multi-block Thumb functions are handled correctly
- test-just-exit-t32.exe: Ensures that Thumb entry points work correctly
Notes
The test-just-exit-t32.exe test is interesting because executables with Thumb entry points have the low bit set (even though it isn't technically the address where the function starts - it happens to work because the ISA clears the bit before jumping). We want to make sure that macaw handles it correctly.