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

Add regression tests using GitHub CI #382

Merged
merged 2 commits into from
Dec 23, 2019
Merged

Conversation

atsampson
Copy link
Collaborator

@atsampson atsampson commented Dec 23, 2019

This adds a test-decode script, and a GitHub CI configuration that invokes it automatically on pushes and pull requests. The following things are tested:

  • The toplevel Makefile builds successfully
  • The tools build successfully
  • The unit tests for library/filter run successfully
  • For samples of NTSC CAV, NTSC CLV, PAL CAV and PAL CLV from ld-decode-testdata...
    • ld-decode runs
    • ld-process-vbi runs
    • ld-process-efm runs
    • ld-dropout-correct runs
    • ld-chroma-decoder runs with all the supported decoders

It also does some basic sanity checks on the output: the black PSNR, number of frames decoded and number of EFM samples decoded shouldn't be significantly worse than they currently are, and some VBI data should be decoded correctly (thanks @simoninns for some suggestions here!).

We could add extra unit tests and decoding samples easily in the future.

The test-decode script should be useful on its own during development. I've made it a separate commit so that if the CI config turns out to be problematic we can just revert the second commit.

Here's a sample run of the tests.

Fixes #374 and related to #8.

Given an RF input file, this runs it through the complete decoding
toolchain, and does optional sanity checks on the results.

It's careful to run all the tools from the source directory, so you
don't need to install anything first.
On pushes and pull requests, this builds all of ld-decode, and runs
test-decode on CAV/CLV PAL/NTSC samples from ld-decode-testdata.
The sanity check parameters are based on the results as of the rev6
release (with bPSNR backed off by 0.5 dB to allow for some variation).
@happycube happycube merged commit 915442d into happycube:rev7 Dec 23, 2019
@atsampson atsampson deleted the githubci branch January 6, 2020 11:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants