#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
+#include "pbd/file_utils.h"
+
#include <sstream>
using namespace std;
test_search_path ()
{
#ifdef PLATFORM_WINDOWS
- std::string wsp(g_win32_get_package_installation_directory_of_module(NULL));
- return Glib::build_filename (wsp, "pbd_testdata");
-#else
- return Glib::getenv("PBD_TEST_PATH");
+ if (!getenv("PBD_TEST_PATH")) {
+ std::string wsp(g_win32_get_package_installation_directory_of_module(NULL));
+ return Glib::build_filename (wsp, "pbd_testdata");
+ }
#endif
+ return Glib::getenv("PBD_TEST_PATH");
}
std::string
test_output_directory (std::string prefix)
{
- std::string tmp_dir = Glib::build_filename (g_get_tmp_dir(), "pbd_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;
+ return PBD::tmp_writable_directory (PACKAGE, prefix);
}
void