Skip to content

MNI-6: MakerNote Integration Tests & Benchmarks #15

@rpuneet

Description

@rpuneet

Summary

Create comprehensive integration tests and benchmarks for MakerNote parsers.

Test Data Required

  • Canon: CR2, JPG from various models (5D, R5, etc.)
  • Sony: ARW, JPG from various models (A7, A9, etc.)
  • Nikon: NEF, JPG from various models (D850, Z6, etc.)
  • Fujifilm: RAF, JPG from various models (X-T4, GFX, etc.)

Integration Tests

  • Mixed manufacturer batch processing
  • Graceful handling of unknown manufacturers
  • Partial parse on corrupted MakerNote
  • Nested HEIC/AVIF → EXIF → MakerNote flow

Benchmarks

  • Per-manufacturer parse time
  • Memory allocation tracking
  • Comparison with raw-byte extraction baseline
  • Target: < 5% overhead vs not parsing MakerNote

Fuzz Testing

  • Malformed headers
  • Invalid IFD counts
  • Out-of-bounds offsets
  • Mixed endianness edge cases

Acceptance Criteria

  • 90%+ code coverage for makernote package
  • No performance regression (benchmark proof)
  • Fuzz tests pass 10k iterations

Blocked by: MNI-2, MNI-3
Parent: #9

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions