Move libardour test utility code into one source file
authorTim Mayberry <mojofunk@gmail.com>
Fri, 29 Nov 2013 02:16:18 +0000 (12:16 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Wed, 3 Dec 2014 10:31:04 +0000 (17:31 +0700)
libs/ardour/test/audio_engine_test.cc
libs/ardour/test/audio_region_test.cc
libs/ardour/test/automation_list_property_test.cc
libs/ardour/test/plugins_test.cc
libs/ardour/test/resampled_source_test.cc
libs/ardour/test/session_test.cc
libs/ardour/test/test_needing_session.cc
libs/ardour/test/test_util.cc
libs/ardour/test/test_util.h
libs/ardour/wscript

index 0bed81f8a6cccbaafef1607e01a8151a065493a4..0ce9fa706ad21e0f8b26c7781ae41029ca8f96bd 100644 (file)
@@ -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);
 
index a25a78a40bb6a26b1e19993859cb7ca488b94d09..deb0d2e46a8d4cb16f22ade6315b46e1a0b0013c 100644 (file)
@@ -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;
index e5a74cad2f14b494d1a302a42f9e72db4fbe80da..c0b3e8a42aadf39ac0c3b9f36da09144c6e98612 100644 (file)
@@ -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);
 
index c769bdaac05a8bfe3bf17ba1354d2c1756e517d5..d9d0fcf6e9cd3130660b2f6bb602411df70d0bd4 100644 (file)
@@ -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);
 
index 9aa898999261789ea71e0c4276bee8d68f2ef9f3..97bf2e58fe63f012b149e30c38c6f46e8ebdd27d 100644 (file)
@@ -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"
index ba57b4bd633c3f7616a52162951a431f44a6f8d1..39e0849f7433b3b87f449a6ca5e3b8f5e14c72ad 100644 (file)
@@ -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"
 
index 4525a758b30a5b995048f72f44ef0c40daf614d6..ac47d1ccf43e10511917fb75c130304ebf6ed3d1 100644 (file)
@@ -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;
index dfbf40d35175b902eb9d6e8fb243a3430512c92b..768bee7b48c4f4579dc9083e37fa795c1214196f 100644 (file)
@@ -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 <fstream>
 #include <sstream>
+
+#include <glibmm/fileutils.h>
+#include <glibmm/miscutils.h>
+
 #include "pbd/xml++.h"
 #include "pbd/textreceiver.h"
+
 #include "ardour/session.h"
 #include "ardour/audioengine.h"
+
+#include "test_util.h"
+
 #include <cppunit/extensions/HelperMacros.h>
 
 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;
+}
index dd4b078e9f7fbfb5921af52955e2ec584643ab1d..d10e92a8a671b63a8b3fbd42b0538e2577961ee6 100644 (file)
@@ -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 <string>
 #include <list>
 
+#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<std::string> const &);
 extern bool write_ref (XMLNode *, std::string);
 extern ARDOUR::Session* load_session (std::string, std::string);
+
+#endif
index beca18f0e552a11b33361824535b8bf54cf5b2c9..cc8cd6c05e757bedfe0d3332fce79ff3d0239fdb 100644 (file)
@@ -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',