Fix Mackie control metering (fixes #6608).
[ardour.git] / libs / pbd / test / test_common.cc
index d7d961ca9790406eb2d63fd84b2e06c1139ebd80..12bab8baa8b5440a22cb9d5cd5caef77c67e614f 100644 (file)
@@ -21,6 +21,8 @@
 #include <glibmm/fileutils.h>
 #include <glibmm/miscutils.h>
 
+#include "pbd/file_utils.h"
+
 #include <sstream>
 
 using namespace std;
@@ -34,28 +36,18 @@ 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,  "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