Skip to content

Conversation

@wizzomafizzo
Copy link
Member

Summary

  • Add fuzz tests for binary parsing security (identifier, iso9660, binary packages)
  • Add tests for disc-based identifiers (PSX, PS2, PSP, NeoGeoCD)
  • Add tests for MountedDisc functionality
  • Add tests for console detection and database lookups
  • Add tests for SNES coprocessor detection
  • Add tests for binary utility functions
  • Add fuzz job to CI workflow (10-30s per target)
  • Fix Genesis magic word search bounds check (found by fuzz testing)

Coverage Improvement

Package Before After
identifier 60% 77.3%
iso9660 49.6% 75.6%
internal/binary 76.8% 91.3%
Root package 37.2% 55.0%
Overall 46.7% 62.8%

Bug Fix

Fuzz testing discovered a real bug in findGenesisMagicWord - slice bounds panic when data is less than 0x200 bytes. This has been fixed with proper bounds checking.

Test plan

  • All existing tests pass
  • New tests pass
  • Lint passes
  • Fuzz tests run without crashes

- Add fuzz tests for binary parsing security (identifier, iso9660, binary)
- Add tests for disc-based identifiers (PSX, PS2, PSP, NeoGeoCD)
- Add tests for MountedDisc functionality
- Add tests for console detection and database lookups
- Add tests for SNES coprocessor detection
- Add tests for binary utility functions
- Add fuzz job to CI workflow (10-30s per target)
- Fix Genesis magic word search bounds check (found by fuzz testing)
- Improve test coverage from 46.7% to 62.8%
@codecov
Copy link

codecov bot commented Dec 9, 2025

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@wizzomafizzo wizzomafizzo merged commit 1c33d0a into main Dec 9, 2025
8 checks passed
@wizzomafizzo wizzomafizzo deleted the test-coverage branch December 9, 2025 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants