cannam@2: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ cannam@2: cannam@2: /* cannam@2: Vamp Plugin Tester cannam@2: Chris Cannam, cannam@all-day-breakfast.com cannam@2: Centre for Digital Music, Queen Mary, University of London. Chris@42: Copyright 2009-2014 QMUL. cannam@2: cannam@2: This program loads a Vamp plugin and tests its susceptibility to a cannam@2: number of common pitfalls, including handling of extremes of input cannam@2: data. If you can think of any additional useful tests that are cannam@2: easily added, please send them to me. cannam@2: cannam@2: Permission is hereby granted, free of charge, to any person cannam@2: obtaining a copy of this software and associated documentation cannam@2: files (the "Software"), to deal in the Software without cannam@2: restriction, including without limitation the rights to use, copy, cannam@2: modify, merge, publish, distribute, sublicense, and/or sell copies cannam@2: of the Software, and to permit persons to whom the Software is cannam@2: furnished to do so, subject to the following conditions: cannam@2: cannam@2: The above copyright notice and this permission notice shall be cannam@2: included in all copies or substantial portions of the Software. cannam@2: cannam@2: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, cannam@2: EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF cannam@2: MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND cannam@2: NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR cannam@2: ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF cannam@2: CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION cannam@2: WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. cannam@2: cannam@2: Except as contained in this notice, the names of the Centre for cannam@2: Digital Music; Queen Mary, University of London; and Chris Cannam cannam@2: shall not be used in advertising or otherwise to promote the sale, cannam@2: use or other dealings in this Software without prior written cannam@2: authorization. cannam@2: */ cannam@2: cannam@2: #ifndef _TEST_MULTIPLE_RUNS_H_ cannam@2: #define _TEST_MULTIPLE_RUNS_H_ cannam@2: cannam@2: #include "Test.h" cannam@2: #include "Tester.h" cannam@2: cannam@2: class TestDistinctRuns : public Test cannam@2: { cannam@2: public: cannam@2: TestDistinctRuns() : Test() { } cannam@8: Results test(std::string key, Options options); cannam@2: cannam@2: protected: cannam@2: static Tester::TestRegistrar m_registrar; cannam@2: }; cannam@2: cannam@2: class TestReset : public Test cannam@2: { cannam@2: public: cannam@2: TestReset() : Test() { } cannam@8: Results test(std::string key, Options options); cannam@2: cannam@2: protected: cannam@2: static Tester::TestRegistrar m_registrar; cannam@2: }; cannam@2: cannam@2: class TestInterleavedRuns : public Test cannam@2: { cannam@2: public: cannam@2: TestInterleavedRuns() : Test() { } cannam@8: Results test(std::string key, Options options); cannam@2: cannam@2: protected: cannam@2: static Tester::TestRegistrar m_registrar; cannam@2: }; cannam@2: cannam@5: class TestDifferentStartTimes : public Test cannam@5: { cannam@5: public: cannam@5: TestDifferentStartTimes() : Test() { } cannam@8: Results test(std::string key, Options options); cannam@5: cannam@5: protected: cannam@5: static Tester::TestRegistrar m_registrar; cannam@5: }; cannam@5: cannam@2: #endif