Move libardour test utility code into one source file

This commit is contained in:
Tim Mayberry
2013-11-29 12:16:18 +10:00
parent 40df14fa16
commit f1b66b86b4
10 changed files with 98 additions and 9 deletions

View 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);

View 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;

View 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);

View 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);

View 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"

View 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"

View 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;

View 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;
}

View 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

View 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',