summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2013-10-11 21:54:40 +1000
committerTim Mayberry <mojofunk@gmail.com>2013-12-07 20:48:19 +1000
commitbe376350b549ddac13a258db650acc55c100c817 (patch)
tree5fccfde405acde92f25d54a63d47edbfc37ca1e6
parente9529d26e1a5cfceefc0e840e04811cec019b059 (diff)
A few basic tests for AudioEngine
-rw-r--r--libs/ardour/test/audio_engine_test.cc53
-rw-r--r--libs/ardour/test/audio_engine_test.h14
-rw-r--r--libs/ardour/wscript2
3 files changed, 69 insertions, 0 deletions
diff --git a/libs/ardour/test/audio_engine_test.cc b/libs/ardour/test/audio_engine_test.cc
new file mode 100644
index 0000000000..b992caf73e
--- /dev/null
+++ b/libs/ardour/test/audio_engine_test.cc
@@ -0,0 +1,53 @@
+#include <iostream>
+
+#include "ardour/audioengine.h"
+#include "ardour/audio_backend.h"
+#include "ardour/backend_search_path.h"
+
+#include "audio_engine_test.h"
+#include "test_common.h"
+
+CPPUNIT_TEST_SUITE_REGISTRATION (AudioEngineTest);
+
+using namespace std;
+using namespace ARDOUR;
+using namespace PBD;
+
+void
+print_audio_backend_info (AudioBackendInfo const* abi)
+{
+ cerr << "Audio Backend, name:" << abi->name << endl;
+}
+
+void
+AudioEngineTest::test_backends ()
+{
+ AudioEngine* engine = AudioEngine::create ();
+
+ CPPUNIT_ASSERT (engine);
+
+ std::vector<AudioBackendInfo const *> backends = engine->available_backends ();
+
+ CPPUNIT_ASSERT (backends.size () != 0);
+
+ for (std::vector<AudioBackendInfo const *>::const_iterator i = backends.begin();
+ i != backends.end(); ++i) {
+ print_audio_backend_info(*i);
+ }
+}
+
+void
+AudioEngineTest::test_start ()
+{
+ AudioEngine* engine = AudioEngine::create ();
+
+ CPPUNIT_ASSERT_NO_THROW (engine->set_default_backend ());
+
+ init_post_engine ();
+
+ CPPUNIT_ASSERT (engine->start () == 0);
+
+ // sleep
+ // stop
+ // destroy
+}
diff --git a/libs/ardour/test/audio_engine_test.h b/libs/ardour/test/audio_engine_test.h
new file mode 100644
index 0000000000..9a6d9cc241
--- /dev/null
+++ b/libs/ardour/test/audio_engine_test.h
@@ -0,0 +1,14 @@
+#include <cppunit/TestFixture.h>
+#include <cppunit/extensions/HelperMacros.h>
+
+class AudioEngineTest : public CppUnit::TestFixture
+{
+ CPPUNIT_TEST_SUITE (AudioEngineTest);
+ CPPUNIT_TEST (test_backends);
+ CPPUNIT_TEST (test_start);
+ CPPUNIT_TEST_SUITE_END ();
+
+public:
+ void test_backends ();
+ void test_start ();
+};
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index b509db361f..4ba8f4a0ed 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -434,6 +434,7 @@ def build(bld):
testcommon.source += [ 'sse_functions_64bit.s' ]
if bld.env['SINGLE_TESTS']:
+ create_ardour_test_program(bld, obj.includes, 'audio_engine_test', 'test_audio_engine', ['test/audio_engine_test.cc'])
create_ardour_test_program(bld, obj.includes, 'automation_list_property_test', 'test_automation_list_property', ['test/automation_list_property_test.cc'])
create_ardour_test_program(bld, obj.includes, 'bbt', 'test_bbt', ['test/bbt_test.cc'])
create_ardour_test_program(bld, obj.includes, 'tempo', 'test_tempo', ['test/tempo_test.cc'])
@@ -452,6 +453,7 @@ def build(bld):
create_ardour_test_program(bld, obj.includes, 'session_test', 'test_session', ['test/session_test.cc'])
test_sources = '''
+ test/audio_engine_test.cc
test/automation_list_property_test.cc
test/bbt_test.cc
test/tempo_test.cc