Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test suite #84

Open
7 tasks
windytan opened this issue Jun 9, 2022 · 1 comment
Open
7 tasks

Test suite #84

windytan opened this issue Jun 9, 2022 · 1 comment
Labels
meta build system, tests
Milestone

Comments

@windytan
Copy link
Owner

windytan commented Jun 9, 2022

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.
  • Introduce a test framework (GTest, CPPUtest...)
  • Create a repository for test data
  • Simple hex -> json smoke test
  • Simple wav -> hex smoke test
  • Simple wav -> json smoke test
  • Add tests to CI workflow
  • Document how to run tests locally
@hayguen
Copy link

hayguen commented Jun 10, 2022

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.

@windytan windytan added the meta build system, tests label Jun 10, 2023
@windytan windytan added this to the 1.0 milestone May 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta build system, tests
Projects
None yet
Development

No branches or pull requests

2 participants