summaryrefslogtreecommitdiff
path: root/tests/tests-common.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-05-09 10:12:58 (GMT)
committerMarius Kintel <marius@kintel.net>2013-05-09 10:12:58 (GMT)
commit14e1ad23635a65d98c59ae14e35484abbd3ba6c4 (patch)
tree0ef8483812496e456023a9341dcf76f0bbba7006 /tests/tests-common.cc
parent0e938364fea8c3ab07b06491fd21cb34a403bf99 (diff)
Forgot to actually add most files in previous commit (#217)
Diffstat (limited to 'tests/tests-common.cc')
-rw-r--r--tests/tests-common.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/tests-common.cc b/tests/tests-common.cc
index ac85e37..3c66e1b 100644
--- a/tests/tests-common.cc
+++ b/tests/tests-common.cc
@@ -7,7 +7,12 @@
#include <sstream>
#include <fstream>
-FileModule *parsefile(const char *filename)
+/*!
+ fakepath is used to force the parser to believe that the file is
+ read from this location, in order to ensure that filepaths are
+ eavluated relative to this path (for testing purposes).
+*/
+FileModule *parsefile(const char *filename, const char *fakepath)
{
FileModule *root_module = NULL;
@@ -19,7 +24,9 @@ FileModule *parsefile(const char *filename)
else {
std::string text((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>());
text += "\n" + commandline_commands;
- std::string pathname = boosty::stringy(fs::path(filename).parent_path());
+ std::string pathname;
+ if (fakepath) pathname = fakepath;
+ else pathname = boosty::stringy(fs::path(filename).parent_path());
root_module = parse(text.c_str(), pathname.c_str(), false);
if (root_module) {
root_module->handleDependencies();
contact: Jan Huwald // Impressum