summaryrefslogtreecommitdiff
path: root/tests/echotest.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-01-09 02:29:24 (GMT)
committerMarius Kintel <marius@kintel.net>2012-01-09 02:29:24 (GMT)
commit23f6b0623c86eba96dfb1296b862522cf02b0734 (patch)
tree998500ef16763f6f08f9f7cb8917c98b1643af68 /tests/echotest.cc
parent52dfffd97ba49b603b4814d843cd9be08d040364 (diff)
parent5044ea928d72da800d11b2b80f6148265c13d10f (diff)
Merge branch 'master' into threading
Conflicts: RELEASE_NOTES
Diffstat (limited to 'tests/echotest.cc')
-rw-r--r--tests/echotest.cc42
1 files changed, 12 insertions, 30 deletions
diff --git a/tests/echotest.cc b/tests/echotest.cc
index 8f145b0..7abfd78 100644
--- a/tests/echotest.cc
+++ b/tests/echotest.cc
@@ -26,6 +26,7 @@
#include "tests-common.h"
#include "openscad.h"
+#include "parsersettings.h"
#include "node.h"
#include "module.h"
#include "context.h"
@@ -34,9 +35,6 @@
#include "printutils.h"
#include <QApplication>
-#include <QFile>
-#include <QDir>
-#include <QSet>
#ifndef _MSC_VER
#include <getopt.h>
#endif
@@ -45,12 +43,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;
static void outfile_handler(const std::string &msg, void *userdata) {
std::ostream *str = static_cast<std::ostream*>(userdata);
@@ -83,28 +83,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);
@@ -118,8 +101,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);
contact: Jan Huwald // Impressum