Skip to content
This repository has been archived by the owner on Mar 16, 2021. It is now read-only.

Latest commit

 

History

History
43 lines (33 loc) · 1.81 KB

TESTING.md

File metadata and controls

43 lines (33 loc) · 1.81 KB

Testing MrsWatson

MrsWatson has an extensive test suit that is used to verify the program is running correctly. All releases of MrsWatson must pass the entire test suite with no failed tests, so if you modify any of the source code, it is a good idea to run the suite to make sure that all tasks continue to pass. Additionally, each release must pass the test suite run through valgrind, in order to ensure that no memory leaks or corruption is present.

The test suite is built by the generated project file, and is named mrswatsontest, or mrswatsontest64 if you are building for 64-bit. This application contains all of the internal unit tests, but is also capable of launching the MrsWatson binary for integration tests.

Integration Tests

The test suite also has a number of integration tests which execute the built binary MrsWatson application, running it with a variety of command-line arguments and input files. The output generated by these tests is checked for audio quality and the expected output code. Currently, the audio quality verification includes the following checks:

  • Silence (ie, output was produced)
  • Clipping
  • Distortion

The integration tests (called "application test suite" in mrswatsontest) rely on the AudioTestData repository, which is a submodule of the MrsWatson project. This repository contains several pre-compiled VST plugins for various platforms, audio data files, and MIDI data files.

To run the application test suite, you will need to provide mrswatsontest with the location of the AudioTestData repository (which is included as a submodule of MrsWatson), and the location of MrsWatson itself. For more information, run mrswatsontest --help full from the command line.