From: Tim Mayberry Date: Fri, 29 Nov 2013 02:16:18 +0000 (+1000) Subject: Move libardour test utility code into one source file X-Git-Tag: 4.0-rc1~1200 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=f1b66b86b4b9c708d78701a5b06853d7d5a87477;p=ardour.git Move libardour test utility code into one source file --- diff --git a/libs/ardour/test/audio_engine_test.cc b/libs/ardour/test/audio_engine_test.cc index 0bed81f8a6..0ce9fa706a 100644 --- a/libs/ardour/test/audio_engine_test.cc +++ b/libs/ardour/test/audio_engine_test.cc @@ -5,7 +5,7 @@ #include "ardour/search_paths.h" #include "audio_engine_test.h" -#include "test_common.h" +#include "test_util.h" CPPUNIT_TEST_SUITE_REGISTRATION (AudioEngineTest); diff --git a/libs/ardour/test/audio_region_test.cc b/libs/ardour/test/audio_region_test.cc index a25a78a40b..deb0d2e46a 100644 --- a/libs/ardour/test/audio_region_test.cc +++ b/libs/ardour/test/audio_region_test.cc @@ -27,7 +27,7 @@ #include "ardour/audioregion.h" #include "ardour/audioplaylist.h" #include "audio_region_test.h" -#include "test_common.h" +#include "test_util.h" using namespace std; using namespace PBD; diff --git a/libs/ardour/test/automation_list_property_test.cc b/libs/ardour/test/automation_list_property_test.cc index e5a74cad2f..c0b3e8a42a 100644 --- a/libs/ardour/test/automation_list_property_test.cc +++ b/libs/ardour/test/automation_list_property_test.cc @@ -24,7 +24,6 @@ #include "ardour/automation_list.h" #include "automation_list_property_test.h" #include "test_util.h" -#include "test_common.h" CPPUNIT_TEST_SUITE_REGISTRATION (AutomationListPropertyTest); diff --git a/libs/ardour/test/plugins_test.cc b/libs/ardour/test/plugins_test.cc index c769bdaac0..d9d0fcf6e9 100644 --- a/libs/ardour/test/plugins_test.cc +++ b/libs/ardour/test/plugins_test.cc @@ -4,7 +4,7 @@ #include "ardour/search_paths.h" #include "plugins_test.h" -#include "test_common.h" +#include "test_util.h" CPPUNIT_TEST_SUITE_REGISTRATION (PluginsTest); diff --git a/libs/ardour/test/resampled_source_test.cc b/libs/ardour/test/resampled_source_test.cc index 9aa8989992..97bf2e58fe 100644 --- a/libs/ardour/test/resampled_source_test.cc +++ b/libs/ardour/test/resampled_source_test.cc @@ -1,5 +1,4 @@ -// this is included first to avoid Searchpath definition on windows -#include "test_common.h" +#include "test_util.h" #include "pbd/file_utils.h" #include "ardour/resampled_source.h" diff --git a/libs/ardour/test/session_test.cc b/libs/ardour/test/session_test.cc index ba57b4bd63..39e0849f74 100644 --- a/libs/ardour/test/session_test.cc +++ b/libs/ardour/test/session_test.cc @@ -11,7 +11,7 @@ #include "ardour/smf_source.h" #include "ardour/midi_model.h" -#include "test_common.h" +#include "test_util.h" #include "session_test.h" diff --git a/libs/ardour/test/test_needing_session.cc b/libs/ardour/test/test_needing_session.cc index 4525a758b3..ac47d1ccf4 100644 --- a/libs/ardour/test/test_needing_session.cc +++ b/libs/ardour/test/test_needing_session.cc @@ -6,7 +6,6 @@ #include "ardour/audioengine.h" #include "test_needing_session.h" #include "test_util.h" -#include "test_common.h" using namespace std; using namespace ARDOUR; diff --git a/libs/ardour/test/test_util.cc b/libs/ardour/test/test_util.cc index dfbf40d351..768bee7b48 100644 --- a/libs/ardour/test/test_util.cc +++ b/libs/ardour/test/test_util.cc @@ -1,9 +1,35 @@ +/* + Copyright (C) 2011 Paul Davis + Copyright (C) 2011 Tim Mayberry + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 675 Mass Ave, Cambridge, MA 02139, USA. +*/ #include #include + +#include +#include + #include "pbd/xml++.h" #include "pbd/textreceiver.h" + #include "ardour/session.h" #include "ardour/audioengine.h" + +#include "test_util.h" + #include using namespace std; @@ -136,3 +162,37 @@ load_session (string dir, string state) engine->set_session (session); return session; } + +PBD::Searchpath +test_search_path () +{ +#ifdef PLATFORM_WINDOWS + std::string wsp(g_win32_get_package_installation_directory_of_module(NULL)); + return Glib::build_filename (wsp, "ardour_testdata"); +#else + return Glib::getenv("ARDOUR_TEST_PATH"); +#endif +} + +std::string +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); + if (Glib::file_test (new_test_dir, Glib::FILE_TEST_EXISTS)) continue; + } 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_util.h b/libs/ardour/test/test_util.h index dd4b078e9f..d10e92a8a6 100644 --- a/libs/ardour/test/test_util.h +++ b/libs/ardour/test/test_util.h @@ -1,12 +1,44 @@ +/* + Copyright (C) 2011 Paul Davis + Copyright (C) 2011 Tim Mayberry + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef ARDOUR_TEST_UTIL_H +#define ARDOUR_TEST_UTIL_H + #include #include +#include "pbd/search_path.h" + class XMLNode; namespace ARDOUR { class Session; } +PBD::Searchpath test_search_path (); + +std::string new_test_output_dir (std::string prefix = ""); + +int get_test_sample_rate (); + extern void check_xml (XMLNode *, std::string, std::list const &); extern bool write_ref (XMLNode *, std::string); extern ARDOUR::Session* load_session (std::string, std::string); + +#endif diff --git a/libs/ardour/wscript b/libs/ardour/wscript index beca18f0e5..cc8cd6c05e 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -425,7 +425,7 @@ def build(bld): testcommon = bld(features = 'cxx') testcommon.includes = obj.includes + ['test', '../pbd', '..'] testcommon.source = ['test/testrunner.cc', 'test/test_needing_session.cc', - 'test/test_common.cc', 'test/dummy_lxvst.cc', 'test/audio_region_test.cc', 'test/test_util.cc'] + 'test/dummy_lxvst.cc', 'test/audio_region_test.cc', 'test/test_util.cc'] testcommon.uselib = ['CPPUNIT','SIGCPP','GLIBMM','GTHREAD', 'SAMPLERATE','XML','LRDF','COREAUDIO','TAGLIB','VAMPSDK','VAMPHOSTSDK','RUBBERBAND'] testcommon.use = ['libpbd','libmidipp','libevoral',