diff options
Diffstat (limited to 'TESTING.md')
| -rw-r--r-- | TESTING.md | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/TESTING.md b/TESTING.md new file mode 100644 index 0000000..b5398fa --- /dev/null +++ b/TESTING.md @@ -0,0 +1,43 @@ +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][1], 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][2], 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. + + +[1]: http://valgrind.org/ +[2]: https://github.com/teragonaudio/AudioTestData |
