diff options
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r-- | tests/CMakeLists.txt | 59 |
1 files changed, 43 insertions, 16 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 70e56c6..e9f2b74 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -204,15 +204,16 @@ inclusion(BOOST_ROOT Boost_INCLUDE_DIRS) add_definitions(-DBOOST_FILESYSTEM_VERSION=3) # Use V3 for boost 1.44-1.45 # Mac OS X -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +if(APPLE) FIND_LIBRARY(COCOA_LIBRARY Cocoa REQUIRED) -endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + FIND_LIBRARY(APP_SERVICES_LIBRARY ApplicationServices) +endif() # Eigen # Turn off Eigen SIMD optimization -if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +if(NOT APPLE) if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "^FreeBSD") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DEIGEN_DONT_ALIGN") endif() @@ -240,7 +241,7 @@ if (NOT EIGEN_INCLUDE_DIR) find_path(EIGEN_INCLUDE_DIR Eigen/Core HINTS /usr/local/include/eigen3) elseif (${CMAKE_SYSTEM_NAME} MATCHES "NetBSD") find_path(EIGEN_INCLUDE_DIR Eigen/Core HINTS /usr/pkg/include/eigen3) - elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + elseif (APPLE) find_path(EIGEN_INCLUDE_DIR Eigen/Core HINTS /opt/local/include/eigen3) else() find_path(EIGEN_INCLUDE_DIR Eigen/Core HINTS /usr/include/eigen3) @@ -483,7 +484,7 @@ set(CTEST_ENVIRONMENT "${CTEST_ENVIRONMENT};OPENSCADPATH=${CMAKE_CURRENT_SOURCE_ # Platform specific settings -if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") +if(APPLE) message(STATUS "Offscreen OpenGL Context - using Apple CGL") set(OFFSCREEN_CTX_SOURCE "OffscreenContextCGL.mm" CACHE TYPE STRING) set(OFFSCREEN_IMGUTILS_SOURCE "imageutils-macosx.cc" CACHE TYPE STRING) @@ -507,6 +508,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 @@ -516,6 +518,7 @@ set(CORE_SOURCES ../src/context.cc ../src/modcontext.cc ../src/evalcontext.cc + ../src/feature.cc ../src/csgterm.cc ../src/csgtermnormalizer.cc ../src/polyset.cc @@ -629,7 +632,7 @@ target_link_libraries(cgalcachetest tests-cgal ${TESTS-CGAL-LIBRARIES} ${GLEW_LI # add_executable(openscad_nogui ../src/openscad.cc) set_target_properties(openscad_nogui PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -DEIGEN_DONT_ALIGN -DENABLE_CGAL -DENABLE_OPENCSG ${CGAL_CXX_FLAGS_INIT}") -target_link_libraries(openscad_nogui tests-offscreen tests-cgal tests-nocgal ${TESTS-CORE-LIBRARIES} ${TESTS-CGAL-LIBRARIES} ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${COCOA_LIBRARY} ) +target_link_libraries(openscad_nogui tests-offscreen tests-cgal tests-nocgal ${TESTS-CORE-LIBRARIES} ${TESTS-CGAL-LIBRARIES} ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${COCOA_LIBRARY} ${APP_SERVICES_LIBRARY}) # # GUI binary tests @@ -796,12 +799,12 @@ 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) list(APPEND ECHO_FILES ${FUNCTION_FILES} + ${CMAKE_SOURCE_DIR}/../testdata/scad/features/for-tests.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 @@ -831,19 +834,18 @@ 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) + ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles_dir/localfiles-compatibility-test.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/rotate-empty-bbox.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/empty-shape-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}) @@ -861,10 +863,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 @@ -888,6 +886,30 @@ 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 + ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue591.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue593.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}) @@ -974,6 +996,11 @@ add_cmdline_test(throwntogethertest EXE ${OPENSCAD_BINPATH} ARGS --preview=throw # with anything. It's self-contained and returns != 0 on error add_cmdline_test(cgalstlsanitytest EXE ${CMAKE_SOURCE_DIR}/cgalstlsanitytest SUFFIX txt ARGS ${OPENSCAD_BINPATH} FILES ${CGALSTLSANITYTEST_FILES}) +# Add experimental tests + +add_cmdline_test(echotest EXE ${OPENSCAD_BINPATH} ARGS --enable=concat -o SUFFIX echo FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/experimental/concat-tests.scad) + + # Tests using the actual OpenSCAD binary # non-ASCII filenames |