summaryrefslogtreecommitdiff
path: root/tests/csgtermtest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/csgtermtest.cc')
-rw-r--r--tests/csgtermtest.cc44
1 files changed, 13 insertions, 31 deletions
diff --git a/tests/csgtermtest.cc b/tests/csgtermtest.cc
index aabbc05..016285e 100644
--- a/tests/csgtermtest.cc
+++ b/tests/csgtermtest.cc
@@ -28,6 +28,7 @@
#include "PolySetEvaluator.h"
#include "CSGTermEvaluator.h"
#include "openscad.h"
+#include "parsersettings.h"
#include "node.h"
#include "module.h"
#include "context.h"
@@ -38,9 +39,6 @@
#include "csgterm.h"
#include <QApplication>
-#include <QFile>
-#include <QDir>
-#include <QSet>
#ifndef _MSC_VER
#include <getopt.h>
#endif
@@ -49,12 +47,14 @@
#include <sstream>
#include <fstream>
-using std::cout;
+#include <boost/filesystem.hpp>
+namespace fs = boost::filesystem;
std::string commandline_commands;
-QString currentdir;
+std::string currentdir;
QString examplesdir;
-QString librarydir;
+
+using std::cout;
int main(int argc, char **argv)
{
@@ -71,28 +71,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);
@@ -106,8 +89,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)
// if (evaluator.background) cout << "Background terms: " << evaluator.background->size() << "\n";
// if (evaluator.highlights) cout << "Highlights terms: " << evaluator.highlights->size() << "\n";
- QDir::setCurrent(original_path.absolutePath());
+ current_path(original_path);
std::ofstream outfile;
outfile.open(outfilename);
if (root_term) {
contact: Jan Huwald // Impressum