merge with master
[ardour.git] / libs / ardour / test / audio_engine_test.cc
1 #include <iostream>
2
3 #include "ardour/audioengine.h"
4 #include "ardour/audio_backend.h"
5 #include "ardour/backend_search_path.h"
6
7 #include "audio_engine_test.h"
8 #include "test_common.h"
9
10 CPPUNIT_TEST_SUITE_REGISTRATION (AudioEngineTest);
11
12 using namespace std;
13 using namespace ARDOUR;
14 using namespace PBD;
15
16 void
17 print_audio_backend_info (AudioBackendInfo const* abi)
18 {
19         cerr << "Audio Backend, name:" << abi->name << endl;
20 }
21
22 void
23 AudioEngineTest::test_backends ()
24 {
25         AudioEngine* engine = AudioEngine::create ();
26
27         CPPUNIT_ASSERT (engine);
28
29         std::vector<AudioBackendInfo const *> backends = engine->available_backends ();
30
31         CPPUNIT_ASSERT (backends.size () != 0);
32
33         for (std::vector<AudioBackendInfo const *>::const_iterator i = backends.begin();
34                 i != backends.end(); ++i) {
35                 print_audio_backend_info(*i);
36         }
37 }
38
39 void
40 AudioEngineTest::test_start ()
41 {
42         AudioEngine* engine = AudioEngine::create ();
43
44         CPPUNIT_ASSERT_NO_THROW (engine->set_default_backend ());
45
46         init_post_engine ();
47
48         CPPUNIT_ASSERT (engine->start () == 0);
49
50         // sleep
51         // stop
52         // destroy
53 }