The workspace goals have evolved to make integration testing more complicated than it needs to be. The original goal was a simple integration test to guard against regressions in RISCV relocation code handlers. The proof of concept there is test00IgcKernelModImport within the top level directory.
That test requires the previous import of a specific Fedora IGC device handler kernel module - and that import process is complicated enough to require its own testing framework. Common failures with the import process include Ghidra locking failures and disk image mounting and decompressing failures. Refactoring should integrate extraction and verification of those steps in something not labeled integrationTest.py.
We also have the ability to compile small reference programs and libraries with differing toolchains, generating feature exemplars ready to be imported into Ghidra for manual analysis. Additional scripts and tests are needed to:
verify that toolchain imports are complete
generate a new set of riscv64 and x86_64 importable exemplars
load a reference set of riscv64 and x86_64 exemplars into Ghidra for manual inspection
The workspace goals have evolved to make integration testing more complicated than it needs to be. The original goal was a simple integration test to guard against regressions in RISCV relocation code handlers. The proof of concept there is
test00IgcKernelModImport
within the top level directory.That test requires the previous import of a specific Fedora IGC device handler kernel module - and that import process is complicated enough to require its own testing framework. Common failures with the import process include Ghidra locking failures and disk image mounting and decompressing failures. Refactoring should integrate extraction and verification of those steps in something not labeled
integrationTest.py
.We also have the ability to compile small reference programs and libraries with differing toolchains, generating feature exemplars ready to be imported into Ghidra for manual analysis. Additional scripts and tests are needed to: