Use test utility function to find evoral test files

either via EVORAL_TEST_PATH env var or on windows via directory relative
to dll
This commit is contained in:
Tim Mayberry 2014-11-29 16:30:35 +07:00
parent f6e15a3b6b
commit 61f9ca9f3c
3 changed files with 23 additions and 12 deletions

View File

@ -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

View File

@ -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

View File

@ -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();