diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-01-03 17:36:17 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-01-03 17:36:17 +0000 |
commit | d6ff0e35d8693be40808abd672ece60e4f651bf9 (patch) | |
tree | 06c9f8f840d0befb8b2ae5264ac56139fdc6fdf5 | |
parent | 431a30b3a92b66c92cefcea22e9e8eba3cadbe91 (diff) |
add support for -D foobar when running tests
git-svn-id: svn://localhost/ardour2/branches/3.0@11142 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rwxr-xr-x | libs/ardour/run-tests.sh | 4 | ||||
-rw-r--r-- | libs/ardour/test/testrunner.cc | 61 |
2 files changed, 50 insertions, 15 deletions
diff --git a/libs/ardour/run-tests.sh b/libs/ardour/run-tests.sh index 379678c968..ce384ea2db 100755 --- a/libs/ardour/run-tests.sh +++ b/libs/ardour/run-tests.sh @@ -13,12 +13,12 @@ cd ../../build libs='libs' -export LD_LIBRARY_PATH=$libs/audiographer:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/timecode:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=$libs/audiographer:$libs/vamp-sdk:$libs/surfaces:$libs/surfaces/control_protocol:$libs/ardour:$libs/midi++2:$libs/pbd:$libs/rubberband:$libs/soundtouch:$libs/gtkmm2ext:$libs/appleutility:$libs/taglib:$libs/evoral:$libs/evoral/src/libsmf:$libs/timecode:/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH export ARDOUR_PANNER_PATH=$libs/panners/2in2out:$libs/panners/1in2out:$libs/panners/vbap if [ "$1" == "--debug" ]; then gdb ./libs/ardour/run-tests else - ./libs/ardour/run-tests + ./libs/ardour/run-tests $* fi diff --git a/libs/ardour/test/testrunner.cc b/libs/ardour/test/testrunner.cc index ebbd50543e..4024490da0 100644 --- a/libs/ardour/test/testrunner.cc +++ b/libs/ardour/test/testrunner.cc @@ -1,30 +1,65 @@ +#include <getopt.h> + #include <cppunit/CompilerOutputter.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <cppunit/TestResult.h> #include <cppunit/TestResultCollector.h> #include <cppunit/TestRunner.h> #include <cppunit/BriefTestProgressListener.h> + +#include "pbd/debug.h" #include "ardour/ardour.h" int -main() +main(int argc, char* argv[]) { - ARDOUR::init (false, false); + if (!Glib::thread_supported()) { + Glib::thread_init(); + } - CppUnit::TestResult testresult; + const struct option longopts[] = { + { "debug", 1, 0, 'D' }, + { 0, 0, 0, 0 } + }; + const char *optstring = "D:"; + int option_index = 0; + int c = 0; - CppUnit::TestResultCollector collectedresults; - testresult.addListener (&collectedresults); + while (1) { + c = getopt_long (argc, argv, optstring, longopts, &option_index); - CppUnit::BriefTestProgressListener progress; - testresult.addListener (&progress); + if (c == -1) { + break; + } - CppUnit::TestRunner testrunner; - testrunner.addTest (CppUnit::TestFactoryRegistry::getRegistry ().makeTest ()); - testrunner.run (testresult); + switch (c) { + case 0: + break; - CppUnit::CompilerOutputter compileroutputter (&collectedresults, std::cerr); - compileroutputter.write (); + case 'D': + if (PBD::parse_debug_options (optarg)) { + exit (0); + } + break; + } + } - return collectedresults.wasSuccessful () ? 0 : 1; + ARDOUR::init (false, false); + + CppUnit::TestResult testresult; + + CppUnit::TestResultCollector collectedresults; + testresult.addListener (&collectedresults); + + CppUnit::BriefTestProgressListener progress; + testresult.addListener (&progress); + + CppUnit::TestRunner testrunner; + testrunner.addTest (CppUnit::TestFactoryRegistry::getRegistry ().makeTest ()); + testrunner.run (testresult); + + CppUnit::CompilerOutputter compileroutputter (&collectedresults, std::cerr); + compileroutputter.write (); + + return collectedresults.wasSuccessful () ? 0 : 1; } |