summaryrefslogtreecommitdiff
path: root/tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r--tests/CMakeLists.txt59
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
contact: Jan Huwald // Impressum