diff options
Diffstat (limited to 'tests')
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 Binary files differnew file mode 100644 index 0000000..1476953 --- /dev/null +++ b/tests/regression/cgalpngtest/difference-2d-tests-expected.png diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png Binary files differindex e672c48..bd27d89 100644 --- a/tests/regression/cgalpngtest/difference-tests-expected.png +++ b/tests/regression/cgalpngtest/difference-tests-expected.png diff --git a/tests/regression/cgalpngtest/issue495-expected.png b/tests/regression/cgalpngtest/issue495-expected.png Binary files differnew file mode 100644 index 0000000..6302d94 --- /dev/null +++ b/tests/regression/cgalpngtest/issue495-expected.png diff --git a/tests/regression/cgalpngtest/issue495b-expected.png b/tests/regression/cgalpngtest/issue495b-expected.png Binary files differnew file mode 100644 index 0000000..6302d94 --- /dev/null +++ b/tests/regression/cgalpngtest/issue495b-expected.png diff --git a/tests/regression/cgalpngtest/issue541-expected.png b/tests/regression/cgalpngtest/issue541-expected.png Binary files differnew file mode 100644 index 0000000..231e016 --- /dev/null +++ b/tests/regression/cgalpngtest/issue541-expected.png diff --git a/tests/regression/cgalpngtest/issue578-expected.png b/tests/regression/cgalpngtest/issue578-expected.png Binary files differnew file mode 100644 index 0000000..e4fde15 --- /dev/null +++ b/tests/regression/cgalpngtest/issue578-expected.png diff --git a/tests/regression/cgalpngtest/issue578b-expected.png b/tests/regression/cgalpngtest/issue578b-expected.png Binary files differnew file mode 100644 index 0000000..fd42ff7 --- /dev/null +++ b/tests/regression/cgalpngtest/issue578b-expected.png diff --git a/tests/regression/cgalpngtest/issue582-expected.png b/tests/regression/cgalpngtest/issue582-expected.png Binary files differnew file mode 100644 index 0000000..6b9d018 --- /dev/null +++ b/tests/regression/cgalpngtest/issue582-expected.png diff --git a/tests/regression/cgalpngtest/issue584-expected.png b/tests/regression/cgalpngtest/issue584-expected.png Binary files differnew file mode 100644 index 0000000..b191b94 --- /dev/null +++ b/tests/regression/cgalpngtest/issue584-expected.png diff --git a/tests/regression/cgalpngtest/issue585-expected.png b/tests/regression/cgalpngtest/issue585-expected.png Binary files differnew file mode 100644 index 0000000..00c70a0 --- /dev/null +++ b/tests/regression/cgalpngtest/issue585-expected.png diff --git a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png Binary files differindex c85142e..597b148 100644 --- a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png +++ b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png 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 Binary files differdeleted file mode 100644 index 318cbaa..0000000 --- a/tests/regression/cgalpngtest/stl-cgal-convert_to_Polyhedron-crash-expected.png +++ /dev/null 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 Binary files differnew file mode 100644 index 0000000..ec45e77 --- /dev/null +++ b/tests/regression/opencsgtest/difference-2d-tests-expected.png diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png Binary files differindex 8db2742..69a4ac2 100644 --- a/tests/regression/opencsgtest/difference-tests-expected.png +++ b/tests/regression/opencsgtest/difference-tests-expected.png diff --git a/tests/regression/opencsgtest/issue495-expected.png b/tests/regression/opencsgtest/issue495-expected.png Binary files differnew file mode 100644 index 0000000..5d012bf --- /dev/null +++ b/tests/regression/opencsgtest/issue495-expected.png diff --git a/tests/regression/opencsgtest/issue495b-expected.png b/tests/regression/opencsgtest/issue495b-expected.png Binary files differnew file mode 100644 index 0000000..5d012bf --- /dev/null +++ b/tests/regression/opencsgtest/issue495b-expected.png diff --git a/tests/regression/opencsgtest/issue541-expected.png b/tests/regression/opencsgtest/issue541-expected.png Binary files differnew file mode 100644 index 0000000..231e016 --- /dev/null +++ b/tests/regression/opencsgtest/issue541-expected.png diff --git a/tests/regression/opencsgtest/issue578-expected.png b/tests/regression/opencsgtest/issue578-expected.png Binary files differnew file mode 100644 index 0000000..e4fde15 --- /dev/null +++ b/tests/regression/opencsgtest/issue578-expected.png diff --git a/tests/regression/opencsgtest/issue578b-expected.png b/tests/regression/opencsgtest/issue578b-expected.png Binary files differnew file mode 100644 index 0000000..fd42ff7 --- /dev/null +++ b/tests/regression/opencsgtest/issue578b-expected.png diff --git a/tests/regression/opencsgtest/issue582-expected.png b/tests/regression/opencsgtest/issue582-expected.png Binary files differnew file mode 100644 index 0000000..6b9d018 --- /dev/null +++ b/tests/regression/opencsgtest/issue582-expected.png 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 Binary files differnew file mode 100644 index 0000000..bc9d333 --- /dev/null +++ b/tests/regression/opencsgtest/issue585-expected.png diff --git a/tests/regression/opencsgtest/linear_extrude-tests-expected.png b/tests/regression/opencsgtest/linear_extrude-tests-expected.png Binary files differindex cbbdc11..faba00e 100644 --- a/tests/regression/opencsgtest/linear_extrude-tests-expected.png +++ b/tests/regression/opencsgtest/linear_extrude-tests-expected.png diff --git a/tests/regression/throwntogethertest/difference-2d-tests-expected.png b/tests/regression/throwntogethertest/difference-2d-tests-expected.png Binary files differnew file mode 100644 index 0000000..4aae3be --- /dev/null +++ b/tests/regression/throwntogethertest/difference-2d-tests-expected.png diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.png Binary files differindex 7a61f42..0227306 100644 --- a/tests/regression/throwntogethertest/difference-tests-expected.png +++ b/tests/regression/throwntogethertest/difference-tests-expected.png diff --git a/tests/regression/throwntogethertest/linear_extrude-tests-expected.png b/tests/regression/throwntogethertest/linear_extrude-tests-expected.png Binary files differindex cbbdc11..faba00e 100644 --- a/tests/regression/throwntogethertest/linear_extrude-tests-expected.png +++ b/tests/regression/throwntogethertest/linear_extrude-tests-expected.png |