summaryrefslogtreecommitdiff
path: root/TESTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'TESTING.md')
-rw-r--r--TESTING.md43
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