Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 1.46 KB

File metadata and controls

59 lines (40 loc) · 1.46 KB

Testing

Test Layers

linx-model uses lightweight executable tests through CTest.

Local Commands

Configure and run the default test suite:

cmake -S . -B build -G Ninja
cmake --build build
ctest --test-dir build --output-on-failure

Run individual labels:

ctest --test-dir build --output-on-failure -L unit
ctest --test-dir build --output-on-failure -L system
ctest --test-dir build --output-on-failure -L checks

Sanitizers

The sanitizer configuration enables AddressSanitizer, LeakSanitizer, and UndefinedBehaviorSanitizer in one build.

cmake -S . -B build-sanitize -G Ninja -DLINX_MODEL_ENABLE_SANITIZERS=ON
cmake --build build-sanitize
ctest --test-dir build-sanitize --output-on-failure

This is the supported leak-detection path. There is no separate valgrind flow.

Validation Coverage

The checks target exercises:

  • missing input / output declarations on leaf modules
  • missing signal names or descriptions
  • queue-role conflicts
  • top-level objects that are not declared as SimQueue-based

These checks run through ValidateModel() and are wired into CI.

Loader and Disassembly Coverage

The test suite also covers:

  • raw binary loading plus ISA disassembly
  • ELF PT_LOAD parsing into ProgramImage
  • CLI --bin and --disasm-only behavior