Add test for strange boost-related crash.

git-svn-id: svn://localhost/ardour2/branches/3.0@12261 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington
2012-05-12 19:34:02 +00:00
parent 5f06335948
commit 7d09c5627b
5 changed files with 42 additions and 1 deletions

View File

@@ -16,6 +16,7 @@ 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:/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH
export ARDOUR_PANNER_PATH=$libs/panners/2in2out:$libs/panners/1in2out:$libs/panners/vbap
export ARDOUR_SURFACES_PATH=$libs/surfaces/osc:$libs/surfaces/generic_midi:$libs/surfaces/tranzport:$libs/surfaces/powermate:$libs/surfaces/mackie
if [ "$1" == "--debug" ]; then
gdb ./libs/ardour/run-tests

View File

@@ -0,0 +1,23 @@
#include "control_surfaces_test.h"
#include "ardour/control_protocol_manager.h"
#include "ardour/session.h"
CPPUNIT_TEST_SUITE_REGISTRATION (ControlSurfacesTest);
using namespace std;
using namespace ARDOUR;
void
ControlSurfacesTest::instantiateAndTeardownTest ()
{
cout << "HELLO!\n";
_session->new_audio_track (1, 2, Normal, 0, 1, "Test");
ControlProtocolManager& m = ControlProtocolManager::instance ();
cout << "CST: Test " << m.control_protocol_info.size() << "\n";
for (list<ControlProtocolInfo*>::iterator i = m.control_protocol_info.begin(); i != m.control_protocol_info.end(); ++i) {
cout << "CST: Test " << (*i)->name << "\n";
m.instantiate (**i);
m.teardown (**i);
}
}

View File

@@ -0,0 +1,11 @@
#include "test_needing_session.h"
class ControlSurfacesTest : public TestNeedingSession
{
CPPUNIT_TEST_SUITE (ControlSurfacesTest);
CPPUNIT_TEST (instantiateAndTeardownTest);
CPPUNIT_TEST_SUITE_END ();
public:
void instantiateAndTeardownTest ();
};

View File

@@ -6,6 +6,8 @@
#include "ardour/audioengine.h"
#include "test_needing_session.h"
extern void setup_libpbd_enums ();
using namespace std;
using namespace ARDOUR;
using namespace PBD;
@@ -57,13 +59,16 @@ TestNeedingSession::setUp ()
init (false, true);
SessionEvent::create_per_thread_pool ("test", 512);
setup_libpbd_enums ();
test_receiver.listen_to (error);
test_receiver.listen_to (info);
test_receiver.listen_to (fatal);
test_receiver.listen_to (warning);
AudioEngine* engine = new AudioEngine ("test", "");
MIDI::Manager::create (engine->jack ());
init_post_engine ();
CPPUNIT_ASSERT (engine->start () == 0);
_session = new Session (*engine, test_session_path, "test_session");

View File

@@ -435,6 +435,7 @@ def build(bld):
test/framepos_minus_beats_test.cc
test/playlist_layering_test.cc
test/playlist_read_test.cc
test/control_surfaces_test.cc
test/testrunner.cc
'''.split()