diff options
author | John Emmas <johne53@tiscali.co.uk> | 2013-10-14 19:31:22 +0100 |
---|---|---|
committer | John Emmas <johne53@tiscali.co.uk> | 2013-10-14 19:31:22 +0100 |
commit | e466ce40ad1ba591543020cb7c0aa15dbebef81e (patch) | |
tree | f8e43560917a0a70c48d32ac171e828472cfd794 /libs/ardour/test | |
parent | 4fac237fdcf025c5fd5aafe207113abd6abb469b (diff) | |
parent | a901f28c6287ff99444d6a8afe67b71531a5f7d0 (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.cc | 1 | ||||
-rw-r--r-- | libs/ardour/test/audio_region_test.cc | 3 | ||||
-rw-r--r-- | libs/ardour/test/automation_list_property_test.cc | 42 | ||||
-rw-r--r-- | libs/ardour/test/load_session.cc | 4 | ||||
-rw-r--r-- | libs/ardour/test/playlist_read_test.cc | 1 | ||||
-rw-r--r-- | libs/ardour/test/profiling/load_session.cc | 4 | ||||
-rw-r--r-- | libs/ardour/test/profiling/runpc.cc | 3 | ||||
-rw-r--r-- | libs/ardour/test/session_test.cc | 16 | ||||
-rw-r--r-- | libs/ardour/test/test_common.cc | 9 | ||||
-rw-r--r-- | libs/ardour/test/test_common.h | 4 | ||||
-rw-r--r-- | libs/ardour/test/test_globals.cc | 3 | ||||
-rw-r--r-- | libs/ardour/test/test_globals.h | 2 | ||||
-rw-r--r-- | libs/ardour/test/test_needing_session.cc | 4 | ||||
-rw-r--r-- | libs/ardour/test/test_util.cc | 9 | ||||
-rw-r--r-- | libs/ardour/test/test_util.h | 2 |
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); |