-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
#include "TestInterpKernelUtils.hxx"
+#include "InterpKernelException.hxx"
#include <cstdlib>
+#ifdef WIN32
+#include<direct.h>
+#define getcwd _getcwd
+#else
+#include <unistd.h>
+#endif
+#include <sstream>
+#include <fstream>
namespace INTERP_TEST
{
std::string getResourceFile( const std::string& filename )
{
std::string resourceFile = "";
-
- if ( getenv("top_srcdir") ) {
- // we are in 'make test' step
- resourceFile = getenv("top_srcdir");
- resourceFile += "/resources/";
- }
- else if ( getenv("MED_ROOT_DIR") ) {
- // use MED_ROOT_DIR env.var
- resourceFile = getenv("MED_ROOT_DIR");
- resourceFile += "/share/salome/resources/med/";
+ bool good = false;
+
+ if ( getenv("MEDCOUPLING_ROOT_DIR") ) {
+ // use MEDCOUPLING_ROOT_DIR env.var
+ resourceFile = getenv("MEDCOUPLING_ROOT_DIR");
+ resourceFile += "/share/resources/med/";
+ resourceFile += filename;
+ std::ifstream my_file(resourceFile);
+ if (my_file.good())
+ good = true;
}
- resourceFile += filename;
+ if (!good)
+ {
+ resourceFile = getcwd(NULL, 0);
+ resourceFile += "/../../resources/";
+ std::ifstream my_file(resourceFile);
+ if (!my_file.good())
+ {
+ std::stringstream ss;
+ ss << "INTERP_TEST::getResourceFile(): could not open resource test file: " << filename << "\n";
+ throw INTERP_KERNEL::Exception(ss.str().c_str());
+ }
+ }
+
return resourceFile;
}