From d6ff0e35d8693be40808abd672ece60e4f651bf9 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 3 Jan 2012 17:36:17 +0000 Subject: [PATCH] add support for -D foobar when running tests git-svn-id: svn://localhost/ardour2/branches/3.0@11142 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/run-tests.sh | 4 +- libs/ardour/test/testrunner.cc | 71 +++++++++++++++++++++++++--------- 2 files changed, 55 insertions(+), 20 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 + #include #include #include #include #include #include + +#include "pbd/debug.h" #include "ardour/ardour.h" int -main() +main(int argc, char* argv[]) { + if (!Glib::thread_supported()) { + Glib::thread_init(); + } + + const struct option longopts[] = { + { "debug", 1, 0, 'D' }, + { 0, 0, 0, 0 } + }; + const char *optstring = "D:"; + int option_index = 0; + int c = 0; + + while (1) { + c = getopt_long (argc, argv, optstring, longopts, &option_index); + + if (c == -1) { + break; + } + + switch (c) { + case 0: + break; + + case 'D': + if (PBD::parse_debug_options (optarg)) { + exit (0); + } + break; + } + } + 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; + + 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; }