summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2014-11-29 16:30:35 +0700
committerTim Mayberry <mojofunk@gmail.com>2014-12-03 17:31:04 +0700
commit61f9ca9f3c3fb8283ebc67c39f9083730511488b (patch)
treef7defd6644178a6cedc10b31e66b298a0f9987ce
parentf6e15a3b6bfdfc4ceb6e3d4f2c97dc2b7009a13a (diff)
Use test utility function to find evoral test files
either via EVORAL_TEST_PATH env var or on windows via directory relative to dll
-rw-r--r--gtk2_ardour/ardev_common.sh.in1
-rwxr-xr-xlibs/evoral/run-tests.sh19
-rw-r--r--libs/evoral/test/SMFTest.cpp15
3 files changed, 23 insertions, 12 deletions
diff --git a/gtk2_ardour/ardev_common.sh.in b/gtk2_ardour/ardev_common.sh.in
index 5e32239c6f..487838f150 100644
--- a/gtk2_ardour/ardev_common.sh.in
+++ b/gtk2_ardour/ardev_common.sh.in
@@ -20,6 +20,7 @@ export ARDOUR_EXPORT_FORMATS_PATH=$TOP/export:.
export ARDOUR_BACKEND_PATH=$libs/backends/jack:$libs/backends/wavesaudio:$libs/backends/dummy:$libs/backends/alsa
export ARDOUR_TEST_PATH=$TOP/libs/ardour/test/data
export PBD_TEST_PATH=$TOP/libs/pbd/test
+export EVORAL_TEST_PATH=$TOP/libs/evoral/test/testdata
#
# even though we set the above variables, ardour requires that these
diff --git a/libs/evoral/run-tests.sh b/libs/evoral/run-tests.sh
index 8eb7ba8820..2a96c0037f 100755
--- a/libs/evoral/run-tests.sh
+++ b/libs/evoral/run-tests.sh
@@ -1,17 +1,14 @@
#!/bin/sh
-srcdir=`pwd`
-export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$srcdir/../../build/libs/evoral:$srcdir/../../build/libs/pbd
-if [ ! -f './test/testdata/TakeFive.mid' ]; then
- echo "This script must be run from within the libs/evoral directory";
- exit 1;
-fi
+SCRIPTPATH=$( cd $(dirname $0) ; pwd -P )
+TOP="$SCRIPTPATH/../.."
+LIBS_DIR="$TOP/build/libs"
-# Make symlink to TakeFive.mid in build directory
-cd ../../build/libs/evoral
-mkdir -p ./test/testdata
-ln -fs $srcdir/test/testdata/TakeFive.mid \
- ./test/testdata/TakeFive.mid
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBS_DIR/evoral:$LIBS_DIR/pbd
+
+export EVORAL_TEST_PATH="$SCRIPTPATH/test/testdata"
+
+cd $LIBS_DIR/evoral
lcov -q -d ./src -z
./run-tests
diff --git a/libs/evoral/test/SMFTest.cpp b/libs/evoral/test/SMFTest.cpp
index 3c82b14f95..9bbe021947 100644
--- a/libs/evoral/test/SMFTest.cpp
+++ b/libs/evoral/test/SMFTest.cpp
@@ -21,11 +21,24 @@ SMFTest::createNewFileTest ()
CPPUNIT_ASSERT(Glib::file_test (new_file_path, Glib::FILE_TEST_IS_REGULAR));
}
+PBD::Searchpath
+test_search_path ()
+{
+#ifdef PLATFORM_WINDOWS
+ string wsp(g_win32_get_package_installation_directory_of_module(NULL));
+ return Glib::build_filename (wsp, "evoral_testdata");
+#else
+ return Glib::getenv("EVORAL_TEST_PATH");
+#endif
+}
+
void
SMFTest::takeFiveTest ()
{
TestSMF smf;
- smf.open("./test/testdata/TakeFive.mid");
+ string testdata_path;
+ CPPUNIT_ASSERT (find_file (test_search_path (), "TakeFive.mid", testdata_path));
+ smf.open(testdata_path);
CPPUNIT_ASSERT(!smf.is_empty());
seq->start_write();