summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Bright <hugh.m.bright@gmail.com>2013-09-12 05:47:03 (GMT)
committerDon Bright <hugh.m.bright@gmail.com>2013-09-12 05:47:03 (GMT)
commitc87e9f8d6e210a387ca223f7e8cb14c77b22d8e2 (patch)
tree7b914afa7058b5c9b6fb581265849dd65cd9e774
parent4e1b1900ed22962add76357f0248decb71a9e4ac (diff)
remove extraneous files, add rands working test
-rw-r--r--tests/csgtestcore.cc170
-rw-r--r--tests/csgtestcore.h12
-rw-r--r--tests/regression/echotest/rands-expected.txt3
-rw-r--r--tests/throwntogethertest.cc5
4 files changed, 3 insertions, 187 deletions
diff --git a/tests/csgtestcore.cc b/tests/csgtestcore.cc
deleted file mode 100644
index 780dc2a..0000000
--- a/tests/csgtestcore.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-// csg test core, used by throwntegether test and opencsg test
-#include "csgtestcore.h"
-
-#include "tests-common.h"
-#include "system-gl.h"
-#include "openscad.h"
-#include "parsersettings.h"
-#include "builtin.h"
-#include "modcontext.h"
-#include "node.h"
-#include "module.h"
-#include "polyset.h"
-#include "Tree.h"
-#include "CSGTermEvaluator.h"
-#include "CGALEvaluator.h"
-#include "PolySetCGALEvaluator.h"
-
-#include <opencsg.h>
-#include "OpenCSGRenderer.h"
-#include "ThrownTogetherRenderer.h"
-
-#include "csgterm.h"
-#include "csgtermnormalizer.h"
-#include "OffscreenView.h"
-
-#include <sstream>
-#include <vector>
-
-#include <boost/program_options.hpp>
-#include <boost/filesystem.hpp>
-
-#include "CsgInfo.h"
-
-namespace po = boost::program_options;
-namespace fs = boost::filesystem;
-#include "boosty.h"
-
-using std::string;
-using std::vector;
-using std::cerr;
-using std::cout;
-
-std::string commandline_commands;
-
-//#define DEBUG
-
-po::variables_map parse_options(int argc, char *argv[])
-{
- po::options_description desc("Allowed options");
- desc.add_options()
- ("help,h", "help message")//;
-
-// po::options_description hidden("Hidden options");
-// hidden.add_options()
- ("input-file", po::value< vector<string> >(), "input file")
- ("output-file", po::value< vector<string> >(), "output file");
-
- po::positional_options_description p;
- p.add("input-file", 1).add("output-file", 1);
-
- po::options_description all_options;
- all_options.add(desc); // .add(hidden);
-
- po::variables_map vm;
- po::store(po::command_line_parser(argc, argv).options(all_options).positional(p).run(), vm);
- po::notify(vm);
-
- return vm;
-}
-
-int csgtestcore(int argc, char *argv[], test_type_e test_type)
-{
- const char *filename, *outfilename = NULL;
- po::variables_map vm;
- try {
- vm = parse_options(argc, argv);
- } catch ( po::error e ) {
- cerr << "error parsing options\n";
- }
- if (vm.count("input-file"))
- filename = vm["input-file"].as< vector<string> >().begin()->c_str();
- if (vm.count("output-file"))
- outfilename = vm["output-file"].as< vector<string> >().begin()->c_str();
-
- if ((!filename || !outfilename)) {
- cerr << "Usage: " << argv[0] << " <file.scad> <output.png>\n";
- exit(1);
- }
-
- Builtins::instance()->initialize();
-
- fs::path original_path = fs::current_path();
-
- std::string currentdir = boosty::stringy( fs::current_path() );
-
- parser_init(boosty::stringy(fs::path(argv[0]).branch_path()));
- add_librarydir(boosty::stringy(fs::path(argv[0]).branch_path() / "../libraries"));
-
- ModuleContext top_ctx;
- top_ctx.registerBuiltin();
-
- FileModule *root_module;
- ModuleInstantiation root_inst("group");
-
- root_module = parsefile(filename);
-
- if (!root_module) {
- exit(1);
- }
-
- fs::path fpath = boosty::absolute(fs::path(filename));
- fs::path fparent = fpath.parent_path();
- fs::current_path(fparent);
- top_ctx.setDocumentPath(fparent.string());
-
- AbstractNode::resetIndexCounter();
- AbstractNode *absolute_root_node = root_module->instantiate(&top_ctx, &root_inst);
- AbstractNode *root_node;
- // Do we have an explicit root node (! modifier)?
- if (!(root_node = find_root_tag(absolute_root_node))) root_node = absolute_root_node;
-
- Tree tree(root_node);
-
- CsgInfo csgInfo = CsgInfo();
- if ( !csgInfo.compile_chains( tree ) ) return 1;
-
- fs::current_path(original_path);
-
- try {
- csgInfo.glview = new OffscreenView(512,512);
- } catch (int error) {
- fprintf(stderr,"Can't create OpenGL OffscreenView. Code: %i. Exiting.\n", error);
- exit(1);
- }
-
- Camera camera(Camera::VECTOR);
- camera.center << 0,0,0;
- double radius = 1.0;
-
- if (csgInfo.root_chain) {
- BoundingBox bbox = csgInfo.root_chain->getBoundingBox();
- camera.center = (bbox.min() + bbox.max()) / 2;
- radius = (bbox.max() - bbox.min()).norm() / 2;
- }
- Vector3d cameradir(1, 1, -0.5);
- camera.eye = camera.center - radius*1.8*cameradir;
- csgInfo.glview->setCamera(camera);
-
- OpenCSGRenderer opencsgRenderer(csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain, csgInfo.glview->shaderinfo);
- ThrownTogetherRenderer thrownTogetherRenderer(csgInfo.root_chain, csgInfo.highlights_chain, csgInfo.background_chain);
-
- if (test_type == TEST_THROWNTOGETHER)
- csgInfo.glview->setRenderer(&thrownTogetherRenderer);
- else
- csgInfo.glview->setRenderer(&opencsgRenderer);
-
- OpenCSG::setContext(0);
- OpenCSG::setOption(OpenCSG::OffscreenSetting, OpenCSG::FrameBufferObject);
-
- csgInfo.glview->paintGL();
-
- if (outfilename) csgInfo.glview->save(outfilename);
-
- delete root_node;
- delete root_module;
-
- Builtins::instance(true);
-
- return 0;
-}
diff --git a/tests/csgtestcore.h b/tests/csgtestcore.h
deleted file mode 100644
index 330c894..0000000
--- a/tests/csgtestcore.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef CSGTESTCORE_H_
-#define CSGTESTCORE_H_
-
-enum test_type_e {
- TEST_THROWNTOGETHER,
- TEST_OPENCSG
-};
-
-int csgtestcore(int argc, char *argv[], test_type_e test_type);
-
-#endif
-
diff --git a/tests/regression/echotest/rands-expected.txt b/tests/regression/echotest/rands-expected.txt
new file mode 100644
index 0000000..36ac6cd
--- /dev/null
+++ b/tests/regression/echotest/rands-expected.txt
@@ -0,0 +1,3 @@
+WARNING: Ignoring unknown variable 'v'.
+ECHO: "i hope rands() did not crash"
+ECHO: [1, 1, 1, 1]
diff --git a/tests/throwntogethertest.cc b/tests/throwntogethertest.cc
deleted file mode 100644
index 5a4f14f..0000000
--- a/tests/throwntogethertest.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "csgtestcore.h"
-
-int main(int argc, char* argv[]) {
- return csgtestcore(argc, argv, TEST_THROWNTOGETHER);
-}
contact: Jan Huwald // Impressum