redsea icon indicating copy to clipboard operation
redsea copied to clipboard

Test suite

Open windytan opened this issue 2 years ago • 1 comments

Currently all tests are residing on my computer, which is not ideal :). It would be good to have tests publicly in the repository. This would make it easier to contribute to the code and also pave the way for a 1.0 release.

  • Current tests use a purpose-made Perl framework. These are all end-to-end tests with real, recorded data. Maybe CppUtest or Gtest could be used instead, to make it accessible and maintainable. Both of these can be used for end-to-end, not just unit tests.
  • Copyright laws prevent publishing real radio station MPX recordings as test data.
  • Perhaps an audio file could legally be used if the audible part was filtered out. However, this way you're not testing the filter's resistance to audio interference.
  • Publishing hex and binary RDS streams is probably OK, and they're easier to manage in a repository anyway, size-wise.
  • Best case scenario: Github could run these automatically for every commit.

windytan avatar Jun 09 '22 18:06 windytan

does copyright prevent having samples of very few seconds? if necessary, removing very few kHz of mono/sum should be sufficient - that should keep filter's resistance in the test. but that would require a high quality filter, not touching the RDS frequencies level or phase. i'd suggest to have an extra repository for the test data.

hayguen avatar Jun 10 '22 06:06 hayguen