summaryrefslogtreecommitdiff
path: root/libs/ardour/test/test_util.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2014-12-20 18:56:36 +0700
committerTim Mayberry <mojofunk@gmail.com>2015-02-15 12:53:41 +1000
commitd9b4c6be6a9366434f92b2ed8897a139ce4f9089 (patch)
tree914d7d950da0d6e58e7fed10804d9009774860ba /libs/ardour/test/test_util.cc
parentef99814f7aedca0e03be617c6fd24ff3f82a9108 (diff)
Add a few test util functions and refactor existing test code
Diffstat (limited to 'libs/ardour/test/test_util.cc')
-rw-r--r--libs/ardour/test/test_util.cc33
1 files changed, 26 insertions, 7 deletions
diff --git a/libs/ardour/test/test_util.cc b/libs/ardour/test/test_util.cc
index c111aa7d26..cedb7fa849 100644
--- a/libs/ardour/test/test_util.cc
+++ b/libs/ardour/test/test_util.cc
@@ -135,11 +135,8 @@ protected:
TestReceiver test_receiver;
-/** @param dir Session directory.
- * @param state Session state file, without .ardour suffix.
- */
-Session *
-load_session (string dir, string state)
+bool
+test_init ()
{
SessionEvent::create_per_thread_pool ("test", 512);
@@ -152,17 +149,39 @@ load_session (string dir, string state)
required bits in gtk2_ardour.
*/
Config->set_use_lxvst (false);
+ return true;
+}
+void
+create_and_start_dummy_backend ()
+{
AudioEngine* engine = AudioEngine::create ();
+ CPPUNIT_ASSERT (AudioEngine::instance ());
+ CPPUNIT_ASSERT (engine);
CPPUNIT_ASSERT (engine->set_backend ("Dummy", "", ""));
init_post_engine ();
CPPUNIT_ASSERT (engine->start () == 0);
+}
- Session* session = new Session (*engine, dir, state);
- engine->set_session (session);
+void
+stop_and_destroy_backend ()
+{
+ AudioEngine::instance()->remove_session ();
+ AudioEngine::instance()->stop ();
+ AudioEngine::destroy ();
+}
+
+/** @param dir Session directory.
+ * @param state Session state file, without .ardour suffix.
+ */
+Session *
+load_session (string dir, string state)
+{
+ Session* session = new Session (*AudioEngine::instance(), dir, state);
+ AudioEngine::instance ()->set_session (session);
return session;
}