diff --git a/doc/TODO.txt b/doc/TODO.txt index 2b19a12a..e7e0105c 100644 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -254,8 +254,6 @@ o Caching - Test that caching is actually performed (speedup + same results) - Test the modifier characters correctly influence the cache (also when added/removed) -o CSG normalization - - Empty top-level intersection o other tests - export - cmd-line tests diff --git a/testdata/scad/bugs/intersection-prune-test.scad b/testdata/scad/bugs/intersection-prune-test.scad new file mode 100644 index 00000000..3c6df7aa --- /dev/null +++ b/testdata/scad/bugs/intersection-prune-test.scad @@ -0,0 +1,9 @@ +// This tree cannot be pruned inline, but will still result in an empty CSG tree +// Crashes OpenSCAD-2011.12. Bug fixed in 14e4f3bb +intersection() { + union() { + cube(); + translate([4,0,0]) cube(); + } + translate([2,0,0]) cube(); +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 931fb123..665bd92f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -619,6 +619,7 @@ list(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/include- ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/use-tests.scad) list(APPEND OPENCSGTEST_FILES ${CGALPNGTEST_FILES}) list(APPEND OPENCSGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/bbox-transform-bug.scad) +list(APPEND OPENCSGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/intersection-prune-test.scad) list(APPEND THROWNTOGETHERTEST_FILES ${OPENCSGTEST_FILES}) list(APPEND CGALSTLSANITYTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/normal-nan.scad) diff --git a/tests/regression/opencsgtest/intersection-prune-test-expected.png b/tests/regression/opencsgtest/intersection-prune-test-expected.png new file mode 100644 index 00000000..50d838c3 Binary files /dev/null and b/tests/regression/opencsgtest/intersection-prune-test-expected.png differ diff --git a/tests/regression/throwntogethertest/intersection-prune-test-expected.png b/tests/regression/throwntogethertest/intersection-prune-test-expected.png new file mode 100644 index 00000000..50d838c3 Binary files /dev/null and b/tests/regression/throwntogethertest/intersection-prune-test-expected.png differ