diff options
Diffstat (limited to 'tests/dumptest.cc')
-rw-r--r-- | tests/dumptest.cc | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/tests/dumptest.cc b/tests/dumptest.cc index f83a993..6dd65a4 100644 --- a/tests/dumptest.cc +++ b/tests/dumptest.cc @@ -26,6 +26,7 @@ #include "tests-common.h" #include "openscad.h" +#include "parsersettings.h" #include "node.h" #include "module.h" #include "context.h" @@ -35,9 +36,6 @@ #include "Tree.h" #include <QApplication> -#include <QFile> -#include <QDir> -#include <QSet> #ifndef _MSC_VER #include <getopt.h> #endif @@ -46,12 +44,14 @@ #include <sstream> #include <fstream> -using std::string; +#include <boost/filesystem.hpp> +namespace fs = boost::filesystem; std::string commandline_commands; -QString currentdir; +std::string currentdir; QString examplesdir; -QString librarydir; + +using std::string; string dumptree(const Tree &tree, const AbstractNode &node) { @@ -81,28 +81,11 @@ int main(int argc, char **argv) Builtins::instance()->initialize(); QApplication app(argc, argv, false); - QDir original_path = QDir::current(); - - currentdir = QDir::currentPath(); - - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + fs::path original_path = fs::current_path(); + + currentdir = fs::current_path().generic_string(); + + parser_init(QApplication::instance()->applicationDirPath().toStdString()); Context root_ctx; register_builtin(root_ctx); @@ -116,8 +99,7 @@ int main(int argc, char **argv) exit(1); } - QFileInfo fileInfo(filename); - QDir::setCurrent(fileInfo.absolutePath()); + fs::current_path(fs::path(filename).parent_path()); AbstractNode::resetIndexCounter(); root_node = root_module->evaluate(&root_ctx, &root_inst); @@ -132,7 +114,7 @@ int main(int argc, char **argv) exit(1); } - QDir::setCurrent(original_path.absolutePath()); + fs::current_path(original_path); std::ofstream outfile; outfile.open(outfilename); outfile << dumpstdstr << "\n"; @@ -146,7 +128,7 @@ int main(int argc, char **argv) fprintf(stderr, "Error: Unable to read back dumped file\n"); exit(1); } - QDir::setCurrent(fileInfo.absolutePath()); + fs::current_path(original_path); AbstractNode::resetIndexCounter(); root_node = root_module->evaluate(&root_ctx, &root_inst); |