summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-07-11 11:07:13 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-07-11 11:07:13 -0400
commitd2ea18c4b657b47f5c202cedb8eb352365315797 (patch)
tree1818bf33f78e2b75ddf7ae431298fd83753eed2c
parent4994073e93093f38cbd81a4b57cb0f19ceb2987d (diff)
theoretically: "Add new_test_output_dir to common libardour test" but actually features addition of new files, thus losing git history for these two which came from tim mayberry
-rw-r--r--libs/ardour/test/test_common.cc53
-rw-r--r--libs/ardour/test/test_common.h28
2 files changed, 81 insertions, 0 deletions
diff --git a/libs/ardour/test/test_common.cc b/libs/ardour/test/test_common.cc
new file mode 100644
index 0000000000..8364d91be1
--- /dev/null
+++ b/libs/ardour/test/test_common.cc
@@ -0,0 +1,53 @@
+/*
+ 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 <sstream>
+
+#include <glibmm/fileutils.h>
+#include <glibmm/miscutils.h>
+
+#include "test_common.h"
+
+using namespace std;
+
+PBD::SearchPath
+test_search_path ()
+{
+#ifdef WIN32
+ 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 tmp_dir = Glib::build_filename (g_get_tmp_dir(), "ardour_test");
+ std::string dir_name;
+ std::string new_test_dir;
+ do {
+ ostringstream oss;
+ 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;
+}
diff --git a/libs/ardour/test/test_common.h b/libs/ardour/test/test_common.h
new file mode 100644
index 0000000000..9e15458781
--- /dev/null
+++ b/libs/ardour/test/test_common.h
@@ -0,0 +1,28 @@
+/*
+ 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_COMMON_H
+#define ARDOUR_TEST_COMMON_H
+
+#include "pbd/search_path.h"
+
+PBD::SearchPath test_search_path ();
+
+std::string new_test_output_dir ();
+
+#endif