summaryrefslogtreecommitdiff
path: root/libs/ardour/test
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2013-10-14 19:31:22 +0100
committerJohn Emmas <johne53@tiscali.co.uk>2013-10-14 19:31:22 +0100
commite466ce40ad1ba591543020cb7c0aa15dbebef81e (patch)
treef8e43560917a0a70c48d32ac171e828472cfd794 /libs/ardour/test
parent4fac237fdcf025c5fd5aafe207113abd6abb469b (diff)
parenta901f28c6287ff99444d6a8afe67b71531a5f7d0 (diff)
Merge branch 'master' into windows+cc
Conflicts (hopefully resolved): gtk2_ardour/ardour_ui.cc
Diffstat (limited to 'libs/ardour/test')
-rw-r--r--libs/ardour/test/audio_region_read_test.cc1
-rw-r--r--libs/ardour/test/audio_region_test.cc3
-rw-r--r--libs/ardour/test/automation_list_property_test.cc42
-rw-r--r--libs/ardour/test/load_session.cc4
-rw-r--r--libs/ardour/test/playlist_read_test.cc1
-rw-r--r--libs/ardour/test/profiling/load_session.cc4
-rw-r--r--libs/ardour/test/profiling/runpc.cc3
-rw-r--r--libs/ardour/test/session_test.cc16
-rw-r--r--libs/ardour/test/test_common.cc9
-rw-r--r--libs/ardour/test/test_common.h4
-rw-r--r--libs/ardour/test/test_globals.cc3
-rw-r--r--libs/ardour/test/test_globals.h2
-rw-r--r--libs/ardour/test/test_needing_session.cc4
-rw-r--r--libs/ardour/test/test_util.cc9
-rw-r--r--libs/ardour/test/test_util.h2
15 files changed, 66 insertions, 41 deletions
diff --git a/libs/ardour/test/audio_region_read_test.cc b/libs/ardour/test/audio_region_read_test.cc
index dc3127ea2e..6a8e3600f1 100644
--- a/libs/ardour/test/audio_region_read_test.cc
+++ b/libs/ardour/test/audio_region_read_test.cc
@@ -20,7 +20,6 @@
#include "ardour/region.h"
#include "ardour/audioregion.h"
#include "audio_region_read_test.h"
-#include "test_globals.h"
CPPUNIT_TEST_SUITE_REGISTRATION (AudioRegionReadTest);
diff --git a/libs/ardour/test/audio_region_test.cc b/libs/ardour/test/audio_region_test.cc
index df3fa72d10..a25a78a40b 100644
--- a/libs/ardour/test/audio_region_test.cc
+++ b/libs/ardour/test/audio_region_test.cc
@@ -27,7 +27,6 @@
#include "ardour/audioregion.h"
#include "ardour/audioplaylist.h"
#include "audio_region_test.h"
-#include "test_globals.h"
#include "test_common.h"
using namespace std;
@@ -42,7 +41,7 @@ AudioRegionTest::setUp ()
std::string const test_wav_path = Glib::build_filename (new_test_output_dir(), "test.wav");
_playlist = PlaylistFactory::create (DataType::AUDIO, *_session, "test");
_audio_playlist = boost::dynamic_pointer_cast<AudioPlaylist> (_playlist);
- _source = SourceFactory::createWritable (DataType::AUDIO, *_session, test_wav_path, "", false, Fs);
+ _source = SourceFactory::createWritable (DataType::AUDIO, *_session, test_wav_path, false, get_test_sample_rate ());
/* Write a staircase to the source */
diff --git a/libs/ardour/test/automation_list_property_test.cc b/libs/ardour/test/automation_list_property_test.cc
index 90e2e22989..e5a74cad2f 100644
--- a/libs/ardour/test/automation_list_property_test.cc
+++ b/libs/ardour/test/automation_list_property_test.cc
@@ -16,11 +16,15 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <glibmm/fileutils.h>
+#include <glibmm/miscutils.h>
+
#include "pbd/properties.h"
#include "pbd/stateful_diff_command.h"
#include "ardour/automation_list.h"
#include "automation_list_property_test.h"
#include "test_util.h"
+#include "test_common.h"
CPPUNIT_TEST_SUITE_REGISTRATION (AutomationListPropertyTest);
@@ -29,6 +33,16 @@ using namespace PBD;
using namespace ARDOUR;
void
+write_automation_list_xml (XMLNode* node, std::string filename)
+{
+ // use the same output dir for all of them
+ static std::string test_output_dir = new_test_output_dir ("automation_list_property");
+ std::string output_file = Glib::build_filename (test_output_dir, filename);
+
+ CPPUNIT_ASSERT (write_ref (node, output_file));
+}
+
+void
AutomationListPropertyTest::basicTest ()
{
list<string> ignore_properties;
@@ -52,9 +66,18 @@ AutomationListPropertyTest::basicTest ()
/* Now it has changed */
CPPUNIT_ASSERT_EQUAL (true, property.changed());
+ std::string test_data_filename = "automation_list_property_test1.ref";
+ std::string test_data_file1 = Glib::build_filename (test_search_path().front(), test_data_filename);
+ CPPUNIT_ASSERT (Glib::file_test (test_data_file1, Glib::FILE_TEST_EXISTS));
+
XMLNode* foo = new XMLNode ("test");
property.get_changes_as_xml (foo);
- check_xml (foo, "../libs/ardour/test/data/automation_list_property_test1.ref", ignore_properties);
+ write_automation_list_xml (foo, test_data_filename);
+ check_xml (foo, test_data_file1, ignore_properties);
+
+ test_data_filename = "automation_list_property_test2.ref";
+ std::string test_data_file2 = Glib::build_filename (test_search_path().front(), test_data_filename);
+ CPPUNIT_ASSERT (Glib::file_test (test_data_file2, Glib::FILE_TEST_EXISTS));
/* Do some more */
property.clear_changes ();
@@ -64,7 +87,8 @@ AutomationListPropertyTest::basicTest ()
CPPUNIT_ASSERT_EQUAL (true, property.changed());
foo = new XMLNode ("test");
property.get_changes_as_xml (foo);
- check_xml (foo, "../libs/ardour/test/data/automation_list_property_test2.ref", ignore_properties);
+ write_automation_list_xml (foo, test_data_filename);
+ check_xml (foo, test_data_file2, ignore_properties);
}
/** Here's a StatefulDestructible class that has a AutomationListProperty */
@@ -119,11 +143,21 @@ AutomationListPropertyTest::undoTest ()
sheila->_jim->add (7, 8);
StatefulDiffCommand sdc (sheila);
+ std::string test_data_filename = "automation_list_property_test3.ref";
+ std::string test_data_file3 = Glib::build_filename (test_search_path().front(), test_data_filename);
+ CPPUNIT_ASSERT (Glib::file_test (test_data_file3, Glib::FILE_TEST_EXISTS));
+
/* Undo */
sdc.undo ();
- check_xml (&sheila->get_state(), "../libs/ardour/test/data/automation_list_property_test3.ref", ignore_properties);
+ write_automation_list_xml (&sheila->get_state(), test_data_filename);
+ check_xml (&sheila->get_state(), test_data_file3, ignore_properties);
+
+ test_data_filename = "automation_list_property_test4.ref";
+ std::string test_data_file4 = Glib::build_filename (test_search_path().front(), test_data_filename);
+ CPPUNIT_ASSERT (Glib::file_test (test_data_file4, Glib::FILE_TEST_EXISTS));
/* Redo */
sdc.redo ();
- check_xml (&sheila->get_state(), "../libs/ardour/test/data/automation_list_property_test4.ref", ignore_properties);
+ write_automation_list_xml (&sheila->get_state(), test_data_filename);
+ check_xml (&sheila->get_state(), test_data_file4, ignore_properties);
}
diff --git a/libs/ardour/test/load_session.cc b/libs/ardour/test/load_session.cc
index 3f56e63577..f2a2a6922e 100644
--- a/libs/ardour/test/load_session.cc
+++ b/libs/ardour/test/load_session.cc
@@ -3,7 +3,6 @@
#include "ardour/ardour.h"
#include "ardour/audioengine.h"
#include "ardour/session.h"
-#include "midi++/manager.h"
#include <iostream>
#include <cstdlib>
@@ -41,9 +40,8 @@ int main (int argc, char* argv[])
AudioEngine::instance()->remove_session ();
delete s;
- AudioEngine::instance()->stop (true);
+ AudioEngine::instance()->stop ();
- MIDI::Manager::destroy ();
AudioEngine::destroy ();
return 0;
diff --git a/libs/ardour/test/playlist_read_test.cc b/libs/ardour/test/playlist_read_test.cc
index 54b0bc4fd5..78b2e4eadd 100644
--- a/libs/ardour/test/playlist_read_test.cc
+++ b/libs/ardour/test/playlist_read_test.cc
@@ -22,7 +22,6 @@
#include "ardour/audioregion.h"
#include "ardour/session.h"
#include "playlist_read_test.h"
-#include "test_globals.h"
CPPUNIT_TEST_SUITE_REGISTRATION (PlaylistReadTest);
diff --git a/libs/ardour/test/profiling/load_session.cc b/libs/ardour/test/profiling/load_session.cc
index 3f56e63577..f2a2a6922e 100644
--- a/libs/ardour/test/profiling/load_session.cc
+++ b/libs/ardour/test/profiling/load_session.cc
@@ -3,7 +3,6 @@
#include "ardour/ardour.h"
#include "ardour/audioengine.h"
#include "ardour/session.h"
-#include "midi++/manager.h"
#include <iostream>
#include <cstdlib>
@@ -41,9 +40,8 @@ int main (int argc, char* argv[])
AudioEngine::instance()->remove_session ();
delete s;
- AudioEngine::instance()->stop (true);
+ AudioEngine::instance()->stop ();
- MIDI::Manager::destroy ();
AudioEngine::destroy ();
return 0;
diff --git a/libs/ardour/test/profiling/runpc.cc b/libs/ardour/test/profiling/runpc.cc
index ddbd463234..6538fcf88a 100644
--- a/libs/ardour/test/profiling/runpc.cc
+++ b/libs/ardour/test/profiling/runpc.cc
@@ -1,5 +1,4 @@
#include <iostream>
-#include "midi++/manager.h"
#include "pbd/textreceiver.h"
#include "pbd/compose.h"
#include "pbd/enumwriter.h"
@@ -31,7 +30,7 @@ main (int argc, char* argv[])
cout << "INFO: " << session->get_routes()->size() << " routes.\n";
for (int i = 0; i < 32768; ++i) {
- session->process (session->engine().frames_per_cycle ());
+ session->process (session->engine().samples_per_cycle ());
}
return 0;
diff --git a/libs/ardour/test/session_test.cc b/libs/ardour/test/session_test.cc
index 83273b5a2e..ba57b4bd63 100644
--- a/libs/ardour/test/session_test.cc
+++ b/libs/ardour/test/session_test.cc
@@ -3,7 +3,7 @@
#include <glibmm/miscutils.h>
#include <stdexcept>
-#include "midi++/manager.h"
+
#include "pbd/textreceiver.h"
#include "pbd/file_utils.h"
#include "ardour/session.h"
@@ -33,17 +33,12 @@ SessionTest::setUp ()
text_receiver.listen_to (fatal);
text_receiver.listen_to (warning);
- // this is not a good singleton constructor pattern
- AudioEngine* engine = 0;
-
- try {
- engine = new AudioEngine ("session_test", "");
- } catch (const AudioEngine::NoBackendAvailable& engine_exception) {
- cerr << engine_exception.what ();
- }
+ AudioEngine* engine = AudioEngine::create ();
CPPUNIT_ASSERT (engine);
+ CPPUNIT_ASSERT (engine->set_default_backend());
+
init_post_engine ();
CPPUNIT_ASSERT (engine->start () == 0);
@@ -53,9 +48,8 @@ void
SessionTest::tearDown ()
{
// this is needed or there is a crash in MIDI::Manager::destroy
- AudioEngine::instance()->stop (true);
+ AudioEngine::instance()->stop ();
- MIDI::Manager::destroy ();
AudioEngine::destroy ();
}
diff --git a/libs/ardour/test/test_common.cc b/libs/ardour/test/test_common.cc
index 5f802fbf5a..71eba65bbb 100644
--- a/libs/ardour/test/test_common.cc
+++ b/libs/ardour/test/test_common.cc
@@ -37,13 +37,14 @@ test_search_path ()
}
std::string
-new_test_output_dir ()
+new_test_output_dir (std::string prefix)
{
std::string tmp_dir = Glib::build_filename (g_get_tmp_dir(), "ardour_test");
std::string dir_name;
std::string new_test_dir;
do {
ostringstream oss;
+ oss << prefix;
oss << g_random_int ();
dir_name = oss.str();
new_test_dir = Glib::build_filename (tmp_dir, dir_name);
@@ -51,3 +52,9 @@ new_test_output_dir ()
} while (g_mkdir_with_parents (new_test_dir.c_str(), 0755) != 0);
return new_test_dir;
}
+
+int
+get_test_sample_rate ()
+{
+ return 44100;
+}
diff --git a/libs/ardour/test/test_common.h b/libs/ardour/test/test_common.h
index 10bfdbc694..bfda543508 100644
--- a/libs/ardour/test/test_common.h
+++ b/libs/ardour/test/test_common.h
@@ -23,6 +23,8 @@
PBD::Searchpath test_search_path ();
-std::string new_test_output_dir ();
+std::string new_test_output_dir (std::string prefix = "");
+
+int get_test_sample_rate ();
#endif
diff --git a/libs/ardour/test/test_globals.cc b/libs/ardour/test/test_globals.cc
deleted file mode 100644
index e40f951d75..0000000000
--- a/libs/ardour/test/test_globals.cc
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "test_globals.h"
-
-int const Fs = 44100;
diff --git a/libs/ardour/test/test_globals.h b/libs/ardour/test/test_globals.h
deleted file mode 100644
index ccd5c27384..0000000000
--- a/libs/ardour/test/test_globals.h
+++ /dev/null
@@ -1,2 +0,0 @@
-
-extern int const Fs;
diff --git a/libs/ardour/test/test_needing_session.cc b/libs/ardour/test/test_needing_session.cc
index 181d391e01..4525a758b3 100644
--- a/libs/ardour/test/test_needing_session.cc
+++ b/libs/ardour/test/test_needing_session.cc
@@ -1,6 +1,5 @@
#include <glibmm/miscutils.h>
-#include "midi++/manager.h"
#include "pbd/compose.h"
#include "pbd/enumwriter.h"
#include "ardour/session.h"
@@ -26,8 +25,7 @@ TestNeedingSession::tearDown ()
{
AudioEngine::instance()->remove_session ();
delete _session;
- AudioEngine::instance()->stop (true);
+ AudioEngine::instance()->stop ();
- MIDI::Manager::destroy ();
AudioEngine::destroy ();
}
diff --git a/libs/ardour/test/test_util.cc b/libs/ardour/test/test_util.cc
index 1514012d97..dfbf40d351 100644
--- a/libs/ardour/test/test_util.cc
+++ b/libs/ardour/test/test_util.cc
@@ -60,12 +60,12 @@ check_xml (XMLNode* node, string ref_file, list<string> const & ignore_propertie
check_nodes (p, q, ignore_properties);
}
-void
+bool
write_ref (XMLNode* node, string ref_file)
{
XMLTree ref;
ref.set_root (node);
- ref.write (ref_file);
+ return ref.write (ref_file);
}
class TestReceiver : public Receiver
@@ -124,7 +124,10 @@ load_session (string dir, string state)
*/
Config->set_use_lxvst (false);
- AudioEngine* engine = new AudioEngine ("test", "");
+ AudioEngine* engine = AudioEngine::create ();
+
+ CPPUNIT_ASSERT (engine->set_default_backend ());
+
init_post_engine ();
CPPUNIT_ASSERT (engine->start () == 0);
diff --git a/libs/ardour/test/test_util.h b/libs/ardour/test/test_util.h
index fea74a2ea8..dd4b078e9f 100644
--- a/libs/ardour/test/test_util.h
+++ b/libs/ardour/test/test_util.h
@@ -8,5 +8,5 @@ namespace ARDOUR {
}
extern void check_xml (XMLNode *, std::string, std::list<std::string> const &);
-extern void write_ref (XMLNode *, std::string);
+extern bool write_ref (XMLNode *, std::string);
extern ARDOUR::Session* load_session (std::string, std::string);