Description
The project currently lacks comprehensive unit tests for the core wiping algorithms (ATA Secure Erase, NVMe Secure Erase, Overwrite, Guttmann, etc.). We need to implement a testing framework to ensure reliability and catch regressions.
Proposed Solution
- Set up a C++ testing framework (e.g., Google Test or Catch2)
- Create mock disk interfaces for testing without real hardware
- Write unit tests for each algorithm in
src/algorithms/
- Add tests for edge cases and error handling
- Integrate tests into the build system
Affected Components
src/algorithms/ata_erase.cpp
src/algorithms/crypto_erase.cpp
src/algorithms/overwrite.cpp
src/algorithms/guttmann.cpp
Acceptance Criteria
Additional Context
This is crucial for ensuring data is actually being wiped correctly and meeting NIST SP 800-88 compliance standards.
Description
The project currently lacks comprehensive unit tests for the core wiping algorithms (ATA Secure Erase, NVMe Secure Erase, Overwrite, Guttmann, etc.). We need to implement a testing framework to ensure reliability and catch regressions.
Proposed Solution
src/algorithms/Affected Components
src/algorithms/ata_erase.cppsrc/algorithms/crypto_erase.cppsrc/algorithms/overwrite.cppsrc/algorithms/guttmann.cppAcceptance Criteria
Additional Context
This is crucial for ensuring data is actually being wiped correctly and meeting NIST SP 800-88 compliance standards.