Skip to content

System tests: OpenGD77 CPS file-level import → export round-trip against test-data #108

Description

@pskillen

Problem

CHIRP now has system tests that import committed test-data/chirp/<version>/<radio>/ fixtures through the internal codeplug model and assert file-level round-trip fidelity (multiset row compare; Location excluded because export reassigns slots). OpenGD77 should have the same guard.

Today OpenGD77 coverage is semantic (roundtrip.test.ts with stripIds()) and merge workflow (activeImport.system.test.ts with synthetic src/test/opengd77/ bundles). There is no committed real CPS export file-level diff after import → export.

Scope

  • Add test-data/opengd77/<version>/… layout (mirror CHIRP pattern)
  • System test: import OpenGD77 CPS folder → internal Codeplug → export all CSVs → compare each file to source
  • Row/order rules: multiset compare where order is not guaranteed; document excluded columns (e.g. header-only DTMF/APRS, profile-specific truncation)
  • Wire through runNewProjectImportWorkflow or dedicated harness beside src/test/system/chirpRoundTrip.system.test.ts

Reference

Acceptance

  • At least one committed OpenGD77 fixture set under test-data/opengd77/
  • System test runs in npm run test:system
  • Documented column exclusions match reference lossy-field tables
  • Fidelity matrix updated in docs/build/testing/format-fidelity.md

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions