summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt32
-rw-r--r--tests/regression/cgalpngtest/difference-2d-tests-expected.pngbin0 -> 9219 bytes
-rw-r--r--tests/regression/cgalpngtest/difference-tests-expected.pngbin11151 -> 9653 bytes
-rw-r--r--tests/regression/cgalpngtest/issue495-expected.pngbin0 -> 7854 bytes
-rw-r--r--tests/regression/cgalpngtest/issue495b-expected.pngbin0 -> 7854 bytes
-rw-r--r--tests/regression/cgalpngtest/issue541-expected.pngbin0 -> 5896 bytes
-rw-r--r--tests/regression/cgalpngtest/issue578-expected.pngbin0 -> 12296 bytes
-rw-r--r--tests/regression/cgalpngtest/issue578b-expected.pngbin0 -> 7812 bytes
-rw-r--r--tests/regression/cgalpngtest/issue582-expected.pngbin0 -> 7458 bytes
-rw-r--r--tests/regression/cgalpngtest/issue584-expected.pngbin0 -> 7243 bytes
-rw-r--r--tests/regression/cgalpngtest/issue585-expected.pngbin0 -> 2182 bytes
-rw-r--r--tests/regression/cgalpngtest/linear_extrude-tests-expected.pngbin10804 -> 11168 bytes
-rw-r--r--tests/regression/cgalpngtest/stl-cgal-convert_to_Polyhedron-crash-expected.pngbin4350 -> 0 bytes
-rw-r--r--tests/regression/dumptest/difference-2d-tests-expected.csg36
-rw-r--r--tests/regression/dumptest/difference-tests-expected.csg19
-rw-r--r--tests/regression/dumptest/linear_extrude-tests-expected.csg9
-rw-r--r--tests/regression/dumptest/stl-cgal-convert_to_Polyhedron-crash-expected.csg5
-rw-r--r--tests/regression/opencsgtest/difference-2d-tests-expected.pngbin0 -> 10956 bytes
-rw-r--r--tests/regression/opencsgtest/difference-tests-expected.pngbin11897 -> 11035 bytes
-rw-r--r--tests/regression/opencsgtest/issue495-expected.pngbin0 -> 8284 bytes
-rw-r--r--tests/regression/opencsgtest/issue495b-expected.pngbin0 -> 8284 bytes
-rw-r--r--tests/regression/opencsgtest/issue541-expected.pngbin0 -> 5896 bytes
-rw-r--r--tests/regression/opencsgtest/issue578-expected.pngbin0 -> 12296 bytes
-rw-r--r--tests/regression/opencsgtest/issue578b-expected.pngbin0 -> 7812 bytes
-rw-r--r--tests/regression/opencsgtest/issue582-expected.pngbin0 -> 7458 bytes
-rw-r--r--tests/regression/opencsgtest/issue584-expected.png0
-rw-r--r--tests/regression/opencsgtest/issue585-expected.pngbin0 -> 7078 bytes
-rw-r--r--tests/regression/opencsgtest/linear_extrude-tests-expected.pngbin11331 -> 11715 bytes
-rw-r--r--tests/regression/throwntogethertest/difference-2d-tests-expected.pngbin0 -> 12369 bytes
-rw-r--r--tests/regression/throwntogethertest/difference-tests-expected.pngbin11748 -> 11511 bytes
-rw-r--r--tests/regression/throwntogethertest/linear_extrude-tests-expected.pngbin11331 -> 11715 bytes
31 files changed, 80 insertions, 21 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index d2d9e68..306f063 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -507,6 +507,7 @@ set(CORE_SOURCES
../src/linalg.cc
../src/handle_dep.cc
../src/value.cc
+ ../src/calc.cc
../src/expr.cc
../src/func.cc
../src/localscope.cc
@@ -797,7 +798,6 @@ configure_file(${CMAKE_SOURCE_DIR}/../testdata/scad/templates/import_dxf-tests-t
# Find all scad files
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)
file(GLOB FUNCTION_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/functions/*.scad)
file(GLOB EXAMPLE_FILES ${CMAKE_SOURCE_DIR}/../examples/*.scad)
@@ -832,14 +832,12 @@ list(APPEND DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/escape-test
${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
- ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/stl-cgal-convert_to_Polyhedron-crash.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
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/use-tests.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/transform-nan-inf-tests.scad
- ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/stl-cgal-convert_to_Polyhedron-crash.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles-test.scad
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles_dir/localfiles-compatibility-test.scad)
@@ -862,10 +860,6 @@ disable_tests(openscad-csgpng_child-background)
disable_tests(opencsgtest_example006 cgalpngtest_example006)
disable_tests(openscad-csgpng_example006 openscad-cgalpng_example006)
-# NefPolyhedron->Polyhedron conversion failures. No images for OpenCSG/Thrown
-disable_tests(opencsgtest_stl-cgal-convert_to_Polyhedron-crash)
-disable_tests(throwntogethertest_stl-cgal-convert_to_Polyhedron-crash)
-
# These tests only makes sense in OpenCSG mode
disable_tests(cgalpngtest_child-background
cgalpngtest_highlight-and-background-modifier
@@ -889,6 +883,28 @@ set_test_config(Heavy opencsgtest_minkowski3-tests
cgalpngtest_intersection-tests
cgalpngtest_text-search-test)
+# Bugs
+
+list(APPEND BUGS_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue495.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue495b.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue541.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue578.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue578b.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue582.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue584.scad
+ ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue585.scad)
+
+list(APPEND OPENCSGTEST_FILES ${BUGS_FILES})
+list(APPEND CGALPNGTEST_FILES ${BUGS_FILES})
+foreach(FILE ${BUGS_FILES})
+ get_test_fullname(opencsgtest ${FILE} TEST_FULLNAME)
+ set_test_config(Bugs ${TEST_FULLNAME})
+ get_test_fullname(cgalpngtest ${FILE} TEST_FULLNAME)
+ set_test_config(Bugs ${TEST_FULLNAME})
+endforeach()
+
+# Examples
+
foreach(FILE ${EXAMPLE_FILES})
get_test_fullname(cgalpngtest ${FILE} TEST_FULLNAME)
set_test_config(Examples ${TEST_FULLNAME})
diff --git a/tests/regression/cgalpngtest/difference-2d-tests-expected.png b/tests/regression/cgalpngtest/difference-2d-tests-expected.png
new file mode 100644
index 0000000..1476953
--- /dev/null
+++ b/tests/regression/cgalpngtest/difference-2d-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png
index e672c48..bd27d89 100644
--- a/tests/regression/cgalpngtest/difference-tests-expected.png
+++ b/tests/regression/cgalpngtest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue495-expected.png b/tests/regression/cgalpngtest/issue495-expected.png
new file mode 100644
index 0000000..6302d94
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue495-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue495b-expected.png b/tests/regression/cgalpngtest/issue495b-expected.png
new file mode 100644
index 0000000..6302d94
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue495b-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue541-expected.png b/tests/regression/cgalpngtest/issue541-expected.png
new file mode 100644
index 0000000..231e016
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue541-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue578-expected.png b/tests/regression/cgalpngtest/issue578-expected.png
new file mode 100644
index 0000000..e4fde15
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue578-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue578b-expected.png b/tests/regression/cgalpngtest/issue578b-expected.png
new file mode 100644
index 0000000..fd42ff7
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue578b-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue582-expected.png b/tests/regression/cgalpngtest/issue582-expected.png
new file mode 100644
index 0000000..6b9d018
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue582-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue584-expected.png b/tests/regression/cgalpngtest/issue584-expected.png
new file mode 100644
index 0000000..b191b94
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue584-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/issue585-expected.png b/tests/regression/cgalpngtest/issue585-expected.png
new file mode 100644
index 0000000..00c70a0
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue585-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png
index c85142e..597b148 100644
--- a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png
+++ b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/stl-cgal-convert_to_Polyhedron-crash-expected.png b/tests/regression/cgalpngtest/stl-cgal-convert_to_Polyhedron-crash-expected.png
deleted file mode 100644
index 318cbaa..0000000
--- a/tests/regression/cgalpngtest/stl-cgal-convert_to_Polyhedron-crash-expected.png
+++ /dev/null
Binary files differ
diff --git a/tests/regression/dumptest/difference-2d-tests-expected.csg b/tests/regression/dumptest/difference-2d-tests-expected.csg
new file mode 100644
index 0000000..7bc257d
--- /dev/null
+++ b/tests/regression/dumptest/difference-2d-tests-expected.csg
@@ -0,0 +1,36 @@
+group() {
+ difference() {
+ square(size = [10, 10], center = true);
+ circle($fn = 0, $fa = 12, $fs = 2, r = 4);
+ }
+ multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ square(size = [10, 10], center = true);
+ multmatrix([[1, 0, 0, 2], [0, 1, 0, 2], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ circle($fn = 0, $fa = 12, $fs = 2, r = 2);
+ }
+ multmatrix([[1, 0, 0, -2], [0, 1, 0, -2], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ circle($fn = 0, $fa = 12, $fs = 2, r = 2);
+ }
+ }
+ }
+ multmatrix([[1, 0, 0, 12], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ square(size = [0, 10], center = true);
+ circle($fn = 0, $fa = 12, $fs = 2, r = 4);
+ }
+ }
+ multmatrix([[1, 0, 0, 0], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ group();
+ square(size = [10, 10], center = true);
+ circle($fn = 0, $fa = 12, $fs = 2, r = 4);
+ }
+ }
+ multmatrix([[1, 0, 0, 24], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ square(size = [10, 10], center = true);
+ sphere($fn = 0, $fa = 12, $fs = 2, r = 4);
+ }
+ }
+}
diff --git a/tests/regression/dumptest/difference-tests-expected.csg b/tests/regression/dumptest/difference-tests-expected.csg
index d5d2bb3..8ff8a24 100644
--- a/tests/regression/dumptest/difference-tests-expected.csg
+++ b/tests/regression/dumptest/difference-tests-expected.csg
@@ -5,12 +5,6 @@ group() {
cube(size = [10, 10, 10], center = true);
cylinder($fn = 0, $fa = 12, $fs = 2, h = 20, r1 = 4, r2 = 4, center = true);
}
- multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
- difference() {
- cube(size = [10, 10, 10], center = true);
- cylinder($fn = 0, $fa = 12, $fs = 2, h = 10.5, r1 = 4, r2 = 4, center = true);
- }
- }
multmatrix([[1, 0, 0, 0], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
cube(size = [10, 10, 10], center = true);
@@ -42,4 +36,17 @@ group() {
cylinder($fn = 0, $fa = 12, $fs = 2, h = 20, r1 = 4, r2 = 4, center = true);
}
}
+ multmatrix([[1, 0, 0, 24], [0, 1, 0, -12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ group();
+ cube(size = [10, 10, 10], center = true);
+ cylinder($fn = 0, $fa = 12, $fs = 2, h = 20, r1 = 4, r2 = 4, center = true);
+ }
+ }
+ multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ cube(size = [10, 10, 10], center = true);
+ circle($fn = 0, $fa = 12, $fs = 2, r = 6);
+ }
+ }
}
diff --git a/tests/regression/dumptest/linear_extrude-tests-expected.csg b/tests/regression/dumptest/linear_extrude-tests-expected.csg
index a0deb81..539412d 100644
--- a/tests/regression/dumptest/linear_extrude-tests-expected.csg
+++ b/tests/regression/dumptest/linear_extrude-tests-expected.csg
@@ -21,8 +21,13 @@ group() {
}
}
multmatrix([[1, 0, 0, 0], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) {
- linear_extrude(height = 20, center = false, convexity = 1, twist = 45, slices = 2, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
- square(size = [10, 10], center = false);
+ linear_extrude(height = 20, center = false, convexity = 1, twist = 30, slices = 2, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
+ difference() {
+ square(size = [10, 10], center = false);
+ multmatrix([[1, 0, 0, 1], [0, 1, 0, 1], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ square(size = [8, 8], center = false);
+ }
+ }
}
}
multmatrix([[1, 0, 0, 19], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) {
diff --git a/tests/regression/dumptest/stl-cgal-convert_to_Polyhedron-crash-expected.csg b/tests/regression/dumptest/stl-cgal-convert_to_Polyhedron-crash-expected.csg
deleted file mode 100644
index acad52f..0000000
--- a/tests/regression/dumptest/stl-cgal-convert_to_Polyhedron-crash-expected.csg
+++ /dev/null
@@ -1,5 +0,0 @@
-group() {
- render(convexity = 1) {
- import(file = "stl-cgal-convert_to_Polyhedron-crash.stl", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2);
- }
-}
diff --git a/tests/regression/opencsgtest/difference-2d-tests-expected.png b/tests/regression/opencsgtest/difference-2d-tests-expected.png
new file mode 100644
index 0000000..ec45e77
--- /dev/null
+++ b/tests/regression/opencsgtest/difference-2d-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png
index 8db2742..69a4ac2 100644
--- a/tests/regression/opencsgtest/difference-tests-expected.png
+++ b/tests/regression/opencsgtest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue495-expected.png b/tests/regression/opencsgtest/issue495-expected.png
new file mode 100644
index 0000000..5d012bf
--- /dev/null
+++ b/tests/regression/opencsgtest/issue495-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue495b-expected.png b/tests/regression/opencsgtest/issue495b-expected.png
new file mode 100644
index 0000000..5d012bf
--- /dev/null
+++ b/tests/regression/opencsgtest/issue495b-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue541-expected.png b/tests/regression/opencsgtest/issue541-expected.png
new file mode 100644
index 0000000..231e016
--- /dev/null
+++ b/tests/regression/opencsgtest/issue541-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue578-expected.png b/tests/regression/opencsgtest/issue578-expected.png
new file mode 100644
index 0000000..e4fde15
--- /dev/null
+++ b/tests/regression/opencsgtest/issue578-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue578b-expected.png b/tests/regression/opencsgtest/issue578b-expected.png
new file mode 100644
index 0000000..fd42ff7
--- /dev/null
+++ b/tests/regression/opencsgtest/issue578b-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue582-expected.png b/tests/regression/opencsgtest/issue582-expected.png
new file mode 100644
index 0000000..6b9d018
--- /dev/null
+++ b/tests/regression/opencsgtest/issue582-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue584-expected.png b/tests/regression/opencsgtest/issue584-expected.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/regression/opencsgtest/issue584-expected.png
diff --git a/tests/regression/opencsgtest/issue585-expected.png b/tests/regression/opencsgtest/issue585-expected.png
new file mode 100644
index 0000000..bc9d333
--- /dev/null
+++ b/tests/regression/opencsgtest/issue585-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/linear_extrude-tests-expected.png b/tests/regression/opencsgtest/linear_extrude-tests-expected.png
index cbbdc11..faba00e 100644
--- a/tests/regression/opencsgtest/linear_extrude-tests-expected.png
+++ b/tests/regression/opencsgtest/linear_extrude-tests-expected.png
Binary files differ
diff --git a/tests/regression/throwntogethertest/difference-2d-tests-expected.png b/tests/regression/throwntogethertest/difference-2d-tests-expected.png
new file mode 100644
index 0000000..4aae3be
--- /dev/null
+++ b/tests/regression/throwntogethertest/difference-2d-tests-expected.png
Binary files differ
diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.png
index 7a61f42..0227306 100644
--- a/tests/regression/throwntogethertest/difference-tests-expected.png
+++ b/tests/regression/throwntogethertest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/throwntogethertest/linear_extrude-tests-expected.png b/tests/regression/throwntogethertest/linear_extrude-tests-expected.png
index cbbdc11..faba00e 100644
--- a/tests/regression/throwntogethertest/linear_extrude-tests-expected.png
+++ b/tests/regression/throwntogethertest/linear_extrude-tests-expected.png
Binary files differ
contact: Jan Huwald // Impressum