summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--setenv_mjau.sh15
-rw-r--r--src/expr.cc3
-rw-r--r--src/value.cc15
-rw-r--r--src/value.h15
-rw-r--r--testdata/scad/minimal/assign.scad1
-rw-r--r--testdata/scad/minimal/child.scad1
-rw-r--r--testdata/scad/minimal/circle.scad1
-rw-r--r--testdata/scad/minimal/color.scad1
-rw-r--r--testdata/scad/minimal/cube.scad1
-rw-r--r--testdata/scad/minimal/cylinder.scad1
-rw-r--r--testdata/scad/minimal/difference.scad1
-rw-r--r--testdata/scad/minimal/dxf_linear_extrude.scad1
-rw-r--r--testdata/scad/minimal/dxf_rotate_extrude.scad1
-rw-r--r--testdata/scad/minimal/echo.scad1
-rw-r--r--testdata/scad/minimal/for.scad1
-rw-r--r--testdata/scad/minimal/glide.scad1
-rw-r--r--testdata/scad/minimal/group.scad1
-rw-r--r--testdata/scad/minimal/hull.scad1
-rw-r--r--testdata/scad/minimal/if.scad1
-rw-r--r--testdata/scad/minimal/import.scad1
-rw-r--r--testdata/scad/minimal/import_dxf.scad1
-rw-r--r--testdata/scad/minimal/import_off.scad1
-rw-r--r--testdata/scad/minimal/import_stl.scad1
-rw-r--r--testdata/scad/minimal/intersection.scad1
-rw-r--r--testdata/scad/minimal/intersection_for.scad1
-rw-r--r--testdata/scad/minimal/linear_extrude.scad1
-rw-r--r--testdata/scad/minimal/minkowski.scad1
-rw-r--r--testdata/scad/minimal/mirror.scad1
-rw-r--r--testdata/scad/minimal/multmatrix.scad1
-rw-r--r--testdata/scad/minimal/polygon.scad1
-rw-r--r--testdata/scad/minimal/polyhedron.scad1
-rw-r--r--testdata/scad/minimal/projection.scad1
-rw-r--r--testdata/scad/minimal/render.scad1
-rw-r--r--testdata/scad/minimal/rotate.scad1
-rw-r--r--testdata/scad/minimal/rotate_extrude.scad1
-rw-r--r--testdata/scad/minimal/scale.scad1
-rw-r--r--testdata/scad/minimal/sphere.scad1
-rw-r--r--testdata/scad/minimal/square.scad1
-rw-r--r--testdata/scad/minimal/subdiv.scad1
-rw-r--r--testdata/scad/minimal/surface.scad1
-rw-r--r--testdata/scad/minimal/translate.scad1
-rw-r--r--testdata/scad/minimal/union.scad1
-rw-r--r--testdata/scad/misc/allexpressions.scad (renamed from testdata/scad/minimal/allexpressions.scad)0
-rw-r--r--testdata/scad/misc/allfunctions.scad (renamed from testdata/scad/minimal/allfunctions.scad)0
-rw-r--r--testdata/scad/misc/allmodules.scad (renamed from testdata/scad/minimal/allmodules.scad)0
-rw-r--r--testdata/scad/misc/expression-shortcircuit-tests.scad27
-rw-r--r--tests/CMakeLists.txt28
-rw-r--r--tests/regression/csgtermtest/assign-expected.term1
-rw-r--r--tests/regression/csgtermtest/child-expected.term1
-rw-r--r--tests/regression/csgtermtest/circle-expected.term1
-rw-r--r--tests/regression/csgtermtest/color-expected.term1
-rw-r--r--tests/regression/csgtermtest/cube-expected.term1
-rw-r--r--tests/regression/csgtermtest/cylinder-expected.term1
-rw-r--r--tests/regression/csgtermtest/difference-expected.term1
-rw-r--r--tests/regression/csgtermtest/dxf_linear_extrude-expected.term1
-rw-r--r--tests/regression/csgtermtest/dxf_rotate_extrude-expected.term1
-rw-r--r--tests/regression/csgtermtest/echo-expected.term1
-rw-r--r--tests/regression/csgtermtest/for-expected.term1
-rw-r--r--tests/regression/csgtermtest/glide-expected.term1
-rw-r--r--tests/regression/csgtermtest/group-expected.term1
-rw-r--r--tests/regression/csgtermtest/hull-expected.term1
-rw-r--r--tests/regression/csgtermtest/if-expected.term1
-rw-r--r--tests/regression/csgtermtest/import-expected.term1
-rw-r--r--tests/regression/csgtermtest/import_dxf-expected.term1
-rw-r--r--tests/regression/csgtermtest/import_off-expected.term1
-rw-r--r--tests/regression/csgtermtest/import_stl-expected.term1
-rw-r--r--tests/regression/csgtermtest/intersection-expected.term1
-rw-r--r--tests/regression/csgtermtest/intersection_for-expected.term1
-rw-r--r--tests/regression/csgtermtest/linear_extrude-expected.term1
-rw-r--r--tests/regression/csgtermtest/minkowski-expected.term1
-rw-r--r--tests/regression/csgtermtest/mirror-expected.term1
-rw-r--r--tests/regression/csgtermtest/multmatrix-expected.term1
-rw-r--r--tests/regression/csgtermtest/polygon-expected.term1
-rw-r--r--tests/regression/csgtermtest/polyhedron-expected.term1
-rw-r--r--tests/regression/csgtermtest/projection-expected.term1
-rw-r--r--tests/regression/csgtermtest/render-expected.term1
-rw-r--r--tests/regression/csgtermtest/rotate-expected.term1
-rw-r--r--tests/regression/csgtermtest/rotate_extrude-expected.term1
-rw-r--r--tests/regression/csgtermtest/scale-expected.term1
-rw-r--r--tests/regression/csgtermtest/sphere-expected.term1
-rw-r--r--tests/regression/csgtermtest/square-expected.term1
-rw-r--r--tests/regression/csgtermtest/subdiv-expected.term1
-rw-r--r--tests/regression/csgtermtest/surface-expected.term1
-rw-r--r--tests/regression/csgtermtest/translate-expected.term1
-rw-r--r--tests/regression/csgtermtest/union-expected.term1
-rw-r--r--tests/regression/csgtexttest/assign-expected.txt1
-rw-r--r--tests/regression/csgtexttest/child-expected.txt1
-rw-r--r--tests/regression/csgtexttest/circle-expected.txt1
-rw-r--r--tests/regression/csgtexttest/color-expected.txt1
-rw-r--r--tests/regression/csgtexttest/cube-expected.txt1
-rw-r--r--tests/regression/csgtexttest/cylinder-expected.txt1
-rw-r--r--tests/regression/csgtexttest/difference-expected.txt1
-rw-r--r--tests/regression/csgtexttest/dxf_linear_extrude-expected.txt1
-rw-r--r--tests/regression/csgtexttest/dxf_rotate_extrude-expected.txt1
-rw-r--r--tests/regression/csgtexttest/echo-expected.txt1
-rw-r--r--tests/regression/csgtexttest/for-expected.txt1
-rw-r--r--tests/regression/csgtexttest/glide-expected.txt1
-rw-r--r--tests/regression/csgtexttest/group-expected.txt1
-rw-r--r--tests/regression/csgtexttest/hull-expected.txt1
-rw-r--r--tests/regression/csgtexttest/if-expected.txt1
-rw-r--r--tests/regression/csgtexttest/import-expected.txt1
-rw-r--r--tests/regression/csgtexttest/import_dxf-expected.txt1
-rw-r--r--tests/regression/csgtexttest/import_off-expected.txt1
-rw-r--r--tests/regression/csgtexttest/import_stl-expected.txt1
-rw-r--r--tests/regression/csgtexttest/intersection-expected.txt1
-rw-r--r--tests/regression/csgtexttest/intersection_for-expected.txt1
-rw-r--r--tests/regression/csgtexttest/linear_extrude-expected.txt1
-rw-r--r--tests/regression/csgtexttest/minkowski-expected.txt1
-rw-r--r--tests/regression/csgtexttest/mirror-expected.txt1
-rw-r--r--tests/regression/csgtexttest/multmatrix-expected.txt1
-rw-r--r--tests/regression/csgtexttest/polygon-expected.txt1
-rw-r--r--tests/regression/csgtexttest/polyhedron-expected.txt1
-rw-r--r--tests/regression/csgtexttest/projection-expected.txt1
-rw-r--r--tests/regression/csgtexttest/render-expected.txt1
-rw-r--r--tests/regression/csgtexttest/rotate-expected.txt1
-rw-r--r--tests/regression/csgtexttest/rotate_extrude-expected.txt1
-rw-r--r--tests/regression/csgtexttest/scale-expected.txt1
-rw-r--r--tests/regression/csgtexttest/sphere-expected.txt1
-rw-r--r--tests/regression/csgtexttest/square-expected.txt1
-rw-r--r--tests/regression/csgtexttest/subdiv-expected.txt1
-rw-r--r--tests/regression/csgtexttest/surface-expected.txt1
-rw-r--r--tests/regression/csgtexttest/translate-expected.txt1
-rw-r--r--tests/regression/csgtexttest/union-expected.txt1
-rw-r--r--tests/regression/echotest/expression-shortcircuit-tests-expected.txt5
124 files changed, 53 insertions, 169 deletions
diff --git a/setenv_mjau.sh b/setenv_mjau.sh
deleted file mode 100644
index 51eec8e..0000000
--- a/setenv_mjau.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-export OPENSCAD_LIBRARIES=$PWD/../libraries/install
-export DYLD_LIBRARY_PATH=$OPENSCAD_LIBRARIES/lib
-export DYLD_FRAMEWORK_PATH=$OPENSCAD_LIBRARIES/lib
-#export QMAKESPEC=macx-g++
-
-#export OPENCSGDIR=$PWD/../OpenCSG-1.3.0
-#export CGALDIR=$PWD/../install/CGAL-3.6
-#export DYLD_LIBRARY_PATH=$OPENCSGDIR/lib
-
-# Our own Qt
-export PATH=$OPENSCAD_LIBRARIES/bin:$PATH
-
-# ccache:
-export PATH=/opt/local/libexec/ccache:$PATH
-export CCACHE_BASEDIR=$PWD/..
diff --git a/src/expr.cc b/src/expr.cc
index 2e069f0..8500d13 100644
--- a/src/expr.cc
+++ b/src/expr.cc
@@ -105,8 +105,7 @@ Value Expression::evaluate(const Context *context) const
if (this->type == ">")
return this->children[0]->evaluate(context) > this->children[1]->evaluate(context);
if (this->type == "?:") {
- Value v = this->children[0]->evaluate(context);
- return this->children[v.toBool() ? 1 : 2]->evaluate(context);
+ return this->children[this->children[0]->evaluate(context) ? 1 : 2]->evaluate(context);
}
if (this->type == "[]") {
return this->children[0]->evaluate(context)[this->children[1]->evaluate(context)];
diff --git a/src/value.cc b/src/value.cc
index 8320aff..a281409 100644
--- a/src/value.cc
+++ b/src/value.cc
@@ -300,11 +300,6 @@ Value &Value::operator=(const Value &v)
return *this;
}
-Value Value::operator!() const
-{
- return Value(!this->toBool());
-}
-
class equals_visitor : public boost::static_visitor<bool>
{
public:
@@ -327,16 +322,6 @@ bool Value::operator!=(const Value &v) const
return !(*this == v);
}
-bool Value::operator&&(const Value &v) const
-{
- return this->toBool() && v.toBool();
-}
-
-bool Value::operator||(const Value &v) const
-{
- return this->toBool() || v.toBool();
-}
-
class less_visitor : public boost::static_visitor<bool>
{
public:
diff --git a/src/value.h b/src/value.h
index 0445ff4..24e1b45 100644
--- a/src/value.h
+++ b/src/value.h
@@ -80,12 +80,11 @@ public:
bool getVec3(double &x, double &y, double &z, double defaultval = 0.0) const;
RangeType toRange() const;
+ operator bool() const { return this->toBool(); }
+
Value &operator=(const Value &v);
- Value operator!() const;
bool operator==(const Value &v) const;
bool operator!=(const Value &v) const;
- bool operator&&(const Value &v) const;
- bool operator||(const Value &v) const;
bool operator<(const Value &v) const;
bool operator<=(const Value &v) const;
bool operator>=(const Value &v) const;
@@ -98,16 +97,6 @@ public:
Value operator/(const Value &v) const;
Value operator%(const Value &v) const;
- /*
- bool getnum(double &v) const;
- bool getv2(double &x, double &y) const;
- bool getv3(double &x, double &y, double &z, double defaultval = 0.0) const;
-
- bool toBool() const;
-
- void append(Value *val);
- */
-
friend std::ostream &operator<<(std::ostream &stream, const Value &value) {
if (value.type() == Value::STRING) stream << QuotedString(value.toString());
else stream << value.toString();
diff --git a/testdata/scad/minimal/assign.scad b/testdata/scad/minimal/assign.scad
deleted file mode 100644
index e4dba58..0000000
--- a/testdata/scad/minimal/assign.scad
+++ /dev/null
@@ -1 +0,0 @@
-assign();
diff --git a/testdata/scad/minimal/child.scad b/testdata/scad/minimal/child.scad
deleted file mode 100644
index ba69caf..0000000
--- a/testdata/scad/minimal/child.scad
+++ /dev/null
@@ -1 +0,0 @@
-child();
diff --git a/testdata/scad/minimal/circle.scad b/testdata/scad/minimal/circle.scad
deleted file mode 100644
index c702f98..0000000
--- a/testdata/scad/minimal/circle.scad
+++ /dev/null
@@ -1 +0,0 @@
-circle();
diff --git a/testdata/scad/minimal/color.scad b/testdata/scad/minimal/color.scad
deleted file mode 100644
index b0ae89c..0000000
--- a/testdata/scad/minimal/color.scad
+++ /dev/null
@@ -1 +0,0 @@
-color();
diff --git a/testdata/scad/minimal/cube.scad b/testdata/scad/minimal/cube.scad
deleted file mode 100644
index 406bf16..0000000
--- a/testdata/scad/minimal/cube.scad
+++ /dev/null
@@ -1 +0,0 @@
-cube();
diff --git a/testdata/scad/minimal/cylinder.scad b/testdata/scad/minimal/cylinder.scad
deleted file mode 100644
index 91c2c30..0000000
--- a/testdata/scad/minimal/cylinder.scad
+++ /dev/null
@@ -1 +0,0 @@
-cylinder();
diff --git a/testdata/scad/minimal/difference.scad b/testdata/scad/minimal/difference.scad
deleted file mode 100644
index c3fd0fe..0000000
--- a/testdata/scad/minimal/difference.scad
+++ /dev/null
@@ -1 +0,0 @@
-difference();
diff --git a/testdata/scad/minimal/dxf_linear_extrude.scad b/testdata/scad/minimal/dxf_linear_extrude.scad
deleted file mode 100644
index 06d6f33..0000000
--- a/testdata/scad/minimal/dxf_linear_extrude.scad
+++ /dev/null
@@ -1 +0,0 @@
-dxf_linear_extrude();
diff --git a/testdata/scad/minimal/dxf_rotate_extrude.scad b/testdata/scad/minimal/dxf_rotate_extrude.scad
deleted file mode 100644
index dee7f49..0000000
--- a/testdata/scad/minimal/dxf_rotate_extrude.scad
+++ /dev/null
@@ -1 +0,0 @@
-dxf_rotate_extrude();
diff --git a/testdata/scad/minimal/echo.scad b/testdata/scad/minimal/echo.scad
deleted file mode 100644
index 34fc70f..0000000
--- a/testdata/scad/minimal/echo.scad
+++ /dev/null
@@ -1 +0,0 @@
-echo();
diff --git a/testdata/scad/minimal/for.scad b/testdata/scad/minimal/for.scad
deleted file mode 100644
index 62356c0..0000000
--- a/testdata/scad/minimal/for.scad
+++ /dev/null
@@ -1 +0,0 @@
-for();
diff --git a/testdata/scad/minimal/glide.scad b/testdata/scad/minimal/glide.scad
deleted file mode 100644
index 9a5f69d..0000000
--- a/testdata/scad/minimal/glide.scad
+++ /dev/null
@@ -1 +0,0 @@
-glide();
diff --git a/testdata/scad/minimal/group.scad b/testdata/scad/minimal/group.scad
deleted file mode 100644
index 0a04719..0000000
--- a/testdata/scad/minimal/group.scad
+++ /dev/null
@@ -1 +0,0 @@
-group();
diff --git a/testdata/scad/minimal/hull.scad b/testdata/scad/minimal/hull.scad
deleted file mode 100644
index 096b0b0..0000000
--- a/testdata/scad/minimal/hull.scad
+++ /dev/null
@@ -1 +0,0 @@
-hull();
diff --git a/testdata/scad/minimal/if.scad b/testdata/scad/minimal/if.scad
deleted file mode 100644
index 9e5c706..0000000
--- a/testdata/scad/minimal/if.scad
+++ /dev/null
@@ -1 +0,0 @@
-if(true) { }
diff --git a/testdata/scad/minimal/import.scad b/testdata/scad/minimal/import.scad
deleted file mode 100644
index 6f375fe..0000000
--- a/testdata/scad/minimal/import.scad
+++ /dev/null
@@ -1 +0,0 @@
-import();
diff --git a/testdata/scad/minimal/import_dxf.scad b/testdata/scad/minimal/import_dxf.scad
deleted file mode 100644
index b8b8fd0..0000000
--- a/testdata/scad/minimal/import_dxf.scad
+++ /dev/null
@@ -1 +0,0 @@
-import_dxf();
diff --git a/testdata/scad/minimal/import_off.scad b/testdata/scad/minimal/import_off.scad
deleted file mode 100644
index 353597f..0000000
--- a/testdata/scad/minimal/import_off.scad
+++ /dev/null
@@ -1 +0,0 @@
-import_off();
diff --git a/testdata/scad/minimal/import_stl.scad b/testdata/scad/minimal/import_stl.scad
deleted file mode 100644
index 416ca6a..0000000
--- a/testdata/scad/minimal/import_stl.scad
+++ /dev/null
@@ -1 +0,0 @@
-import_stl();
diff --git a/testdata/scad/minimal/intersection.scad b/testdata/scad/minimal/intersection.scad
deleted file mode 100644
index 8340c00..0000000
--- a/testdata/scad/minimal/intersection.scad
+++ /dev/null
@@ -1 +0,0 @@
-intersection();
diff --git a/testdata/scad/minimal/intersection_for.scad b/testdata/scad/minimal/intersection_for.scad
deleted file mode 100644
index 7b08d61..0000000
--- a/testdata/scad/minimal/intersection_for.scad
+++ /dev/null
@@ -1 +0,0 @@
-intersection_for();
diff --git a/testdata/scad/minimal/linear_extrude.scad b/testdata/scad/minimal/linear_extrude.scad
deleted file mode 100644
index a621959..0000000
--- a/testdata/scad/minimal/linear_extrude.scad
+++ /dev/null
@@ -1 +0,0 @@
-linear_extrude();
diff --git a/testdata/scad/minimal/minkowski.scad b/testdata/scad/minimal/minkowski.scad
deleted file mode 100644
index 26cd972..0000000
--- a/testdata/scad/minimal/minkowski.scad
+++ /dev/null
@@ -1 +0,0 @@
-minkowski();
diff --git a/testdata/scad/minimal/mirror.scad b/testdata/scad/minimal/mirror.scad
deleted file mode 100644
index 8d74882..0000000
--- a/testdata/scad/minimal/mirror.scad
+++ /dev/null
@@ -1 +0,0 @@
-mirror();
diff --git a/testdata/scad/minimal/multmatrix.scad b/testdata/scad/minimal/multmatrix.scad
deleted file mode 100644
index 7477fa2..0000000
--- a/testdata/scad/minimal/multmatrix.scad
+++ /dev/null
@@ -1 +0,0 @@
-multmatrix();
diff --git a/testdata/scad/minimal/polygon.scad b/testdata/scad/minimal/polygon.scad
deleted file mode 100644
index 6a1f288..0000000
--- a/testdata/scad/minimal/polygon.scad
+++ /dev/null
@@ -1 +0,0 @@
-polygon();
diff --git a/testdata/scad/minimal/polyhedron.scad b/testdata/scad/minimal/polyhedron.scad
deleted file mode 100644
index 941851f..0000000
--- a/testdata/scad/minimal/polyhedron.scad
+++ /dev/null
@@ -1 +0,0 @@
-polyhedron();
diff --git a/testdata/scad/minimal/projection.scad b/testdata/scad/minimal/projection.scad
deleted file mode 100644
index 43ea0a2..0000000
--- a/testdata/scad/minimal/projection.scad
+++ /dev/null
@@ -1 +0,0 @@
-projection();
diff --git a/testdata/scad/minimal/render.scad b/testdata/scad/minimal/render.scad
deleted file mode 100644
index e035a6f..0000000
--- a/testdata/scad/minimal/render.scad
+++ /dev/null
@@ -1 +0,0 @@
-render();
diff --git a/testdata/scad/minimal/rotate.scad b/testdata/scad/minimal/rotate.scad
deleted file mode 100644
index e4acc9c..0000000
--- a/testdata/scad/minimal/rotate.scad
+++ /dev/null
@@ -1 +0,0 @@
-rotate();
diff --git a/testdata/scad/minimal/rotate_extrude.scad b/testdata/scad/minimal/rotate_extrude.scad
deleted file mode 100644
index d11484c..0000000
--- a/testdata/scad/minimal/rotate_extrude.scad
+++ /dev/null
@@ -1 +0,0 @@
-rotate_extrude();
diff --git a/testdata/scad/minimal/scale.scad b/testdata/scad/minimal/scale.scad
deleted file mode 100644
index 5e9baab..0000000
--- a/testdata/scad/minimal/scale.scad
+++ /dev/null
@@ -1 +0,0 @@
-scale();
diff --git a/testdata/scad/minimal/sphere.scad b/testdata/scad/minimal/sphere.scad
deleted file mode 100644
index 8e7ddc1..0000000
--- a/testdata/scad/minimal/sphere.scad
+++ /dev/null
@@ -1 +0,0 @@
-sphere();
diff --git a/testdata/scad/minimal/square.scad b/testdata/scad/minimal/square.scad
deleted file mode 100644
index 5e44b7d..0000000
--- a/testdata/scad/minimal/square.scad
+++ /dev/null
@@ -1 +0,0 @@
-square();
diff --git a/testdata/scad/minimal/subdiv.scad b/testdata/scad/minimal/subdiv.scad
deleted file mode 100644
index 4c1eb74..0000000
--- a/testdata/scad/minimal/subdiv.scad
+++ /dev/null
@@ -1 +0,0 @@
-subdiv();
diff --git a/testdata/scad/minimal/surface.scad b/testdata/scad/minimal/surface.scad
deleted file mode 100644
index c0b213a..0000000
--- a/testdata/scad/minimal/surface.scad
+++ /dev/null
@@ -1 +0,0 @@
-surface();
diff --git a/testdata/scad/minimal/translate.scad b/testdata/scad/minimal/translate.scad
deleted file mode 100644
index c7c0b0b..0000000
--- a/testdata/scad/minimal/translate.scad
+++ /dev/null
@@ -1 +0,0 @@
-translate();
diff --git a/testdata/scad/minimal/union.scad b/testdata/scad/minimal/union.scad
deleted file mode 100644
index e3fa0d5..0000000
--- a/testdata/scad/minimal/union.scad
+++ /dev/null
@@ -1 +0,0 @@
-union();
diff --git a/testdata/scad/minimal/allexpressions.scad b/testdata/scad/misc/allexpressions.scad
index f618c4b..f618c4b 100644
--- a/testdata/scad/minimal/allexpressions.scad
+++ b/testdata/scad/misc/allexpressions.scad
diff --git a/testdata/scad/minimal/allfunctions.scad b/testdata/scad/misc/allfunctions.scad
index b97f121..b97f121 100644
--- a/testdata/scad/minimal/allfunctions.scad
+++ b/testdata/scad/misc/allfunctions.scad
diff --git a/testdata/scad/minimal/allmodules.scad b/testdata/scad/misc/allmodules.scad
index 2e38d8f..2e38d8f 100644
--- a/testdata/scad/minimal/allmodules.scad
+++ b/testdata/scad/misc/allmodules.scad
diff --git a/testdata/scad/misc/expression-shortcircuit-tests.scad b/testdata/scad/misc/expression-shortcircuit-tests.scad
new file mode 100644
index 0000000..dd5a1d5
--- /dev/null
+++ b/testdata/scad/misc/expression-shortcircuit-tests.scad
@@ -0,0 +1,27 @@
+function foo() = search(undef,undef);
+
+if (false && foo()) {
+ echo("Fail");
+} else {
+ echo("Pass");
+}
+
+if (true || foo()) {
+ echo("Pass");
+} else {
+ echo("Fail");
+}
+
+if (true && true) {
+ echo("Pass");
+}
+
+if (false || true) {
+ echo("Pass");
+}
+
+function ternarytest() = true ? true : foo();
+
+if (ternarytest()) {
+ echo("Pass");
+}
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index ec75a18..0282622 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -713,7 +713,6 @@ configure_file(${CMAKE_SOURCE_DIR}/../testdata/scad/templates/import_dxf-tests-t
${CMAKE_SOURCE_DIR}/../testdata/scad/features/import_dxf-tests.scad)
# Find all scad files
-file(GLOB MINIMAL_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/*.scad)
file(GLOB FEATURES_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/*.scad)
file(GLOB BUGS_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/*.scad)
file(GLOB SCAD_DXF_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/dxf/*.scad)
@@ -721,7 +720,6 @@ file(GLOB FUNCTION_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/functions/*.scad)
file(GLOB EXAMPLE_FILES ${CMAKE_SOURCE_DIR}/../examples/*.scad)
list(APPEND ECHO_FILES ${FUNCTION_FILES}
- ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/echo.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/echo-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/escape-test.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/parser-tests.scad
@@ -735,14 +733,18 @@ list(APPEND ECHO_FILES ${FUNCTION_FILES}
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/value-reassignment-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/value-reassignment-tests2.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/variable-scope-tests.scad
- ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/lookup-tests.scad)
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/lookup-tests.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/expression-shortcircuit-tests.scad)
-list(APPEND DUMPTEST_FILES ${MINIMAL_FILES} ${FEATURES_FILES} ${EXAMPLE_FILES})
+list(APPEND DUMPTEST_FILES ${FEATURES_FILES} ${EXAMPLE_FILES})
list(APPEND DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/escape-test.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/include-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/use-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles-test.scad
- ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles_dir/localfiles-compatibility-test.scad)
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles_dir/localfiles-compatibility-test.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allexpressions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allfunctions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allmodules.scad)
list(APPEND CGALPNGTEST_FILES ${FEATURES_FILES} ${SCAD_DXF_FILES} ${EXAMPLE_FILES})
list(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/include-tests.scad
@@ -877,11 +879,17 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CTestCustom.cmake ${TMP})
add_cmdline_test(echotest SUFFIX txt FILES ${ECHO_FILES})
add_cmdline_test(dumptest SUFFIX csg FILES ${DUMPTEST_FILES})
add_cmdline_test(moduledumptest EXE ${GUI_BINPATH} ARGS -o SUFFIX ast FILES
- ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/allmodules.scad
- ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/allfunctions.scad
- ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/allexpressions.scad)
-add_cmdline_test(csgtexttest SUFFIX txt FILES ${MINIMAL_FILES})
-add_cmdline_test(csgtermtest EXE ${GUI_BINPATH} ARGS -o SUFFIX term FILES ${MINIMAL_FILES})
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allmodules.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allfunctions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allexpressions.scad)
+add_cmdline_test(csgtexttest SUFFIX txt FILES
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allexpressions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allfunctions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allmodules.scad)
+add_cmdline_test(csgtermtest EXE ${GUI_BINPATH} ARGS -o SUFFIX term FILES
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allexpressions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allfunctions.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/allmodules.scad)
add_cmdline_test(cgalpngtest EXE ${GUI_BINPATH} ARGS --render -o SUFFIX png FILES ${CGALPNGTEST_FILES})
add_cmdline_test(opencsgtest EXE ${GUI_BINPATH} ARGS -o SUFFIX png FILES ${OPENCSGTEST_FILES})
add_cmdline_test(throwntogethertest SUFFIX png FILES ${THROWNTOGETHERTEST_FILES})
diff --git a/tests/regression/csgtermtest/assign-expected.term b/tests/regression/csgtermtest/assign-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/assign-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/child-expected.term b/tests/regression/csgtermtest/child-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/child-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/circle-expected.term b/tests/regression/csgtermtest/circle-expected.term
deleted file mode 100644
index b8c8161..0000000
--- a/tests/regression/csgtermtest/circle-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-circle2
diff --git a/tests/regression/csgtermtest/color-expected.term b/tests/regression/csgtermtest/color-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/color-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/cube-expected.term b/tests/regression/csgtermtest/cube-expected.term
deleted file mode 100644
index 3393bc4..0000000
--- a/tests/regression/csgtermtest/cube-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-cube2
diff --git a/tests/regression/csgtermtest/cylinder-expected.term b/tests/regression/csgtermtest/cylinder-expected.term
deleted file mode 100644
index f3dd1f9..0000000
--- a/tests/regression/csgtermtest/cylinder-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-cylinder2
diff --git a/tests/regression/csgtermtest/difference-expected.term b/tests/regression/csgtermtest/difference-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/difference-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/dxf_linear_extrude-expected.term b/tests/regression/csgtermtest/dxf_linear_extrude-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/dxf_linear_extrude-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/dxf_rotate_extrude-expected.term b/tests/regression/csgtermtest/dxf_rotate_extrude-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/dxf_rotate_extrude-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/echo-expected.term b/tests/regression/csgtermtest/echo-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/echo-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/for-expected.term b/tests/regression/csgtermtest/for-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/for-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/glide-expected.term b/tests/regression/csgtermtest/glide-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/glide-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/group-expected.term b/tests/regression/csgtermtest/group-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/group-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/hull-expected.term b/tests/regression/csgtermtest/hull-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/hull-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/if-expected.term b/tests/regression/csgtermtest/if-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/if-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/import-expected.term b/tests/regression/csgtermtest/import-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/import-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/import_dxf-expected.term b/tests/regression/csgtermtest/import_dxf-expected.term
deleted file mode 100644
index 847d6c3..0000000
--- a/tests/regression/csgtermtest/import_dxf-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-import2
diff --git a/tests/regression/csgtermtest/import_off-expected.term b/tests/regression/csgtermtest/import_off-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/import_off-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/import_stl-expected.term b/tests/regression/csgtermtest/import_stl-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/import_stl-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/intersection-expected.term b/tests/regression/csgtermtest/intersection-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/intersection-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/intersection_for-expected.term b/tests/regression/csgtermtest/intersection_for-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/intersection_for-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/linear_extrude-expected.term b/tests/regression/csgtermtest/linear_extrude-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/linear_extrude-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/minkowski-expected.term b/tests/regression/csgtermtest/minkowski-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/minkowski-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/mirror-expected.term b/tests/regression/csgtermtest/mirror-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/mirror-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/multmatrix-expected.term b/tests/regression/csgtermtest/multmatrix-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/multmatrix-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/polygon-expected.term b/tests/regression/csgtermtest/polygon-expected.term
deleted file mode 100644
index b41dfc6..0000000
--- a/tests/regression/csgtermtest/polygon-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-polygon2
diff --git a/tests/regression/csgtermtest/polyhedron-expected.term b/tests/regression/csgtermtest/polyhedron-expected.term
deleted file mode 100644
index 5ccc055..0000000
--- a/tests/regression/csgtermtest/polyhedron-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-polyhedron2
diff --git a/tests/regression/csgtermtest/projection-expected.term b/tests/regression/csgtermtest/projection-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/projection-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/render-expected.term b/tests/regression/csgtermtest/render-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/render-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/rotate-expected.term b/tests/regression/csgtermtest/rotate-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/rotate-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/rotate_extrude-expected.term b/tests/regression/csgtermtest/rotate_extrude-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/rotate_extrude-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/scale-expected.term b/tests/regression/csgtermtest/scale-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/scale-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/sphere-expected.term b/tests/regression/csgtermtest/sphere-expected.term
deleted file mode 100644
index f9b8d73..0000000
--- a/tests/regression/csgtermtest/sphere-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-sphere2
diff --git a/tests/regression/csgtermtest/square-expected.term b/tests/regression/csgtermtest/square-expected.term
deleted file mode 100644
index 8190c0f..0000000
--- a/tests/regression/csgtermtest/square-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-square2
diff --git a/tests/regression/csgtermtest/subdiv-expected.term b/tests/regression/csgtermtest/subdiv-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/subdiv-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/surface-expected.term b/tests/regression/csgtermtest/surface-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/surface-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/translate-expected.term b/tests/regression/csgtermtest/translate-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/translate-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtermtest/union-expected.term b/tests/regression/csgtermtest/union-expected.term
deleted file mode 100644
index a40cf60..0000000
--- a/tests/regression/csgtermtest/union-expected.term
+++ /dev/null
@@ -1 +0,0 @@
-No top-level CSG object
diff --git a/tests/regression/csgtexttest/assign-expected.txt b/tests/regression/csgtexttest/assign-expected.txt
deleted file mode 100644
index a08e59e..0000000
--- a/tests/regression/csgtexttest/assign-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(group2)
diff --git a/tests/regression/csgtexttest/child-expected.txt b/tests/regression/csgtexttest/child-expected.txt
deleted file mode 100644
index 331822f..0000000
--- a/tests/regression/csgtexttest/child-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1
diff --git a/tests/regression/csgtexttest/circle-expected.txt b/tests/regression/csgtexttest/circle-expected.txt
deleted file mode 100644
index 44ca16a..0000000
--- a/tests/regression/csgtexttest/circle-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(circle)
diff --git a/tests/regression/csgtexttest/color-expected.txt b/tests/regression/csgtexttest/color-expected.txt
deleted file mode 100644
index 6140174..0000000
--- a/tests/regression/csgtexttest/color-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(color2)
diff --git a/tests/regression/csgtexttest/cube-expected.txt b/tests/regression/csgtexttest/cube-expected.txt
deleted file mode 100644
index 07b688d..0000000
--- a/tests/regression/csgtexttest/cube-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(cube)
diff --git a/tests/regression/csgtexttest/cylinder-expected.txt b/tests/regression/csgtexttest/cylinder-expected.txt
deleted file mode 100644
index 3f8a41f..0000000
--- a/tests/regression/csgtexttest/cylinder-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(cylinder)
diff --git a/tests/regression/csgtexttest/difference-expected.txt b/tests/regression/csgtexttest/difference-expected.txt
deleted file mode 100644
index 551bb16..0000000
--- a/tests/regression/csgtexttest/difference-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(difference2)
diff --git a/tests/regression/csgtexttest/dxf_linear_extrude-expected.txt b/tests/regression/csgtexttest/dxf_linear_extrude-expected.txt
deleted file mode 100644
index fa1671c..0000000
--- a/tests/regression/csgtexttest/dxf_linear_extrude-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(linear_extrude)
diff --git a/tests/regression/csgtexttest/dxf_rotate_extrude-expected.txt b/tests/regression/csgtexttest/dxf_rotate_extrude-expected.txt
deleted file mode 100644
index 452f8e4..0000000
--- a/tests/regression/csgtexttest/dxf_rotate_extrude-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(rotate_extrude)
diff --git a/tests/regression/csgtexttest/echo-expected.txt b/tests/regression/csgtexttest/echo-expected.txt
deleted file mode 100644
index a08e59e..0000000
--- a/tests/regression/csgtexttest/echo-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(group2)
diff --git a/tests/regression/csgtexttest/for-expected.txt b/tests/regression/csgtexttest/for-expected.txt
deleted file mode 100644
index a08e59e..0000000
--- a/tests/regression/csgtexttest/for-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(group2)
diff --git a/tests/regression/csgtexttest/glide-expected.txt b/tests/regression/csgtexttest/glide-expected.txt
deleted file mode 100644
index a792750..0000000
--- a/tests/regression/csgtexttest/glide-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(glide2)
diff --git a/tests/regression/csgtexttest/group-expected.txt b/tests/regression/csgtexttest/group-expected.txt
deleted file mode 100644
index a08e59e..0000000
--- a/tests/regression/csgtexttest/group-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(group2)
diff --git a/tests/regression/csgtexttest/hull-expected.txt b/tests/regression/csgtexttest/hull-expected.txt
deleted file mode 100644
index dc47755..0000000
--- a/tests/regression/csgtexttest/hull-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(hull2)
diff --git a/tests/regression/csgtexttest/if-expected.txt b/tests/regression/csgtexttest/if-expected.txt
deleted file mode 100644
index a08e59e..0000000
--- a/tests/regression/csgtexttest/if-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(group2)
diff --git a/tests/regression/csgtexttest/import-expected.txt b/tests/regression/csgtexttest/import-expected.txt
deleted file mode 100644
index a673ddb..0000000
--- a/tests/regression/csgtexttest/import-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(import)
diff --git a/tests/regression/csgtexttest/import_dxf-expected.txt b/tests/regression/csgtexttest/import_dxf-expected.txt
deleted file mode 100644
index a673ddb..0000000
--- a/tests/regression/csgtexttest/import_dxf-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(import)
diff --git a/tests/regression/csgtexttest/import_off-expected.txt b/tests/regression/csgtexttest/import_off-expected.txt
deleted file mode 100644
index a673ddb..0000000
--- a/tests/regression/csgtexttest/import_off-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(import)
diff --git a/tests/regression/csgtexttest/import_stl-expected.txt b/tests/regression/csgtexttest/import_stl-expected.txt
deleted file mode 100644
index a673ddb..0000000
--- a/tests/regression/csgtexttest/import_stl-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(import)
diff --git a/tests/regression/csgtexttest/intersection-expected.txt b/tests/regression/csgtexttest/intersection-expected.txt
deleted file mode 100644
index 0ce0967..0000000
--- a/tests/regression/csgtexttest/intersection-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(intersection2)
diff --git a/tests/regression/csgtexttest/intersection_for-expected.txt b/tests/regression/csgtexttest/intersection_for-expected.txt
deleted file mode 100644
index 0ce0967..0000000
--- a/tests/regression/csgtexttest/intersection_for-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(intersection2)
diff --git a/tests/regression/csgtexttest/linear_extrude-expected.txt b/tests/regression/csgtexttest/linear_extrude-expected.txt
deleted file mode 100644
index fa1671c..0000000
--- a/tests/regression/csgtexttest/linear_extrude-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(linear_extrude)
diff --git a/tests/regression/csgtexttest/minkowski-expected.txt b/tests/regression/csgtexttest/minkowski-expected.txt
deleted file mode 100644
index e601bac..0000000
--- a/tests/regression/csgtexttest/minkowski-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(minkowski2)
diff --git a/tests/regression/csgtexttest/mirror-expected.txt b/tests/regression/csgtexttest/mirror-expected.txt
deleted file mode 100644
index 80024d2..0000000
--- a/tests/regression/csgtexttest/mirror-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(transform2)
diff --git a/tests/regression/csgtexttest/multmatrix-expected.txt b/tests/regression/csgtexttest/multmatrix-expected.txt
deleted file mode 100644
index 80024d2..0000000
--- a/tests/regression/csgtexttest/multmatrix-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(transform2)
diff --git a/tests/regression/csgtexttest/polygon-expected.txt b/tests/regression/csgtexttest/polygon-expected.txt
deleted file mode 100644
index e308e30..0000000
--- a/tests/regression/csgtexttest/polygon-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(polygon)
diff --git a/tests/regression/csgtexttest/polyhedron-expected.txt b/tests/regression/csgtexttest/polyhedron-expected.txt
deleted file mode 100644
index 994b16d..0000000
--- a/tests/regression/csgtexttest/polyhedron-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(polyhedron)
diff --git a/tests/regression/csgtexttest/projection-expected.txt b/tests/regression/csgtexttest/projection-expected.txt
deleted file mode 100644
index 38b6abf..0000000
--- a/tests/regression/csgtexttest/projection-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(projection)
diff --git a/tests/regression/csgtexttest/render-expected.txt b/tests/regression/csgtexttest/render-expected.txt
deleted file mode 100644
index b53708e..0000000
--- a/tests/regression/csgtexttest/render-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(render2)
diff --git a/tests/regression/csgtexttest/rotate-expected.txt b/tests/regression/csgtexttest/rotate-expected.txt
deleted file mode 100644
index 80024d2..0000000
--- a/tests/regression/csgtexttest/rotate-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(transform2)
diff --git a/tests/regression/csgtexttest/rotate_extrude-expected.txt b/tests/regression/csgtexttest/rotate_extrude-expected.txt
deleted file mode 100644
index 452f8e4..0000000
--- a/tests/regression/csgtexttest/rotate_extrude-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(rotate_extrude)
diff --git a/tests/regression/csgtexttest/scale-expected.txt b/tests/regression/csgtexttest/scale-expected.txt
deleted file mode 100644
index 80024d2..0000000
--- a/tests/regression/csgtexttest/scale-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(transform2)
diff --git a/tests/regression/csgtexttest/sphere-expected.txt b/tests/regression/csgtexttest/sphere-expected.txt
deleted file mode 100644
index 2bf6a72..0000000
--- a/tests/regression/csgtexttest/sphere-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(sphere)
diff --git a/tests/regression/csgtexttest/square-expected.txt b/tests/regression/csgtexttest/square-expected.txt
deleted file mode 100644
index e235806..0000000
--- a/tests/regression/csgtexttest/square-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(square)
diff --git a/tests/regression/csgtexttest/subdiv-expected.txt b/tests/regression/csgtexttest/subdiv-expected.txt
deleted file mode 100644
index b096229..0000000
--- a/tests/regression/csgtexttest/subdiv-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(subdiv2)
diff --git a/tests/regression/csgtexttest/surface-expected.txt b/tests/regression/csgtexttest/surface-expected.txt
deleted file mode 100644
index 7c822d3..0000000
--- a/tests/regression/csgtexttest/surface-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(surface)
diff --git a/tests/regression/csgtexttest/translate-expected.txt b/tests/regression/csgtexttest/translate-expected.txt
deleted file mode 100644
index 80024d2..0000000
--- a/tests/regression/csgtexttest/translate-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(transform2)
diff --git a/tests/regression/csgtexttest/union-expected.txt b/tests/regression/csgtexttest/union-expected.txt
deleted file mode 100644
index 1884c0f..0000000
--- a/tests/regression/csgtexttest/union-expected.txt
+++ /dev/null
@@ -1 +0,0 @@
-group1(union2)
diff --git a/tests/regression/echotest/expression-shortcircuit-tests-expected.txt b/tests/regression/echotest/expression-shortcircuit-tests-expected.txt
new file mode 100644
index 0000000..d7f1c40
--- /dev/null
+++ b/tests/regression/echotest/expression-shortcircuit-tests-expected.txt
@@ -0,0 +1,5 @@
+ECHO: "Pass"
+ECHO: "Pass"
+ECHO: "Pass"
+ECHO: "Pass"
+ECHO: "Pass"
contact: Jan Huwald // Impressum