diff options
86 files changed, 301 insertions, 174 deletions
diff --git a/doc/testing.txt b/doc/testing.txt index f90aca8..61f6d75 100644 --- a/doc/testing.txt +++ b/doc/testing.txt @@ -1,34 +1,48 @@ Running regression tests: ------------------------- -Prerequisites: cmake, python +Prerequisites: cmake, python, OpenCSG with FBO patch from ../patches applied -cd tests -mkdir build -cd build -cmake .. -make -make test +A) Building test environment -Running on Windows: +Linux, Mac: +$ cd tests +$ cmake . +$ make + +Windows: First, get a normal build working by following instructions at http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows Then, from the QT command prompt: -cd tests -mkdir build -cd build -cmake .. -DCMAKE_BUILD_TYPE=Release -sed -i s/\/MD/\/MT/ CMakeCache.txt -cmake .. -nmake -f Makefile -nmake -f Makefile test +$ cd tests +$ cmake . -DCMAKE_BUILD_TYPE=Release +$ sed -i s/\/MD/\/MT/ CMakeCache.txt +$ cmake . +$ nmake -f Makefile + +B) Running tests + +Easy version: +$ make test -Running on headless (no X) unix servers: +Windows: +$ nmake -f Makefile test -Xvnc :5 -screen 0 800x600x24 & -DISPLAY=:5 make test +Headless unix servers (no X11): +$ Xvfb :5 -screen 0 800x600x24 & +$ DISPLAY=:5 make test + +Partial or extended test runs: +$ ctest Runs tests enabled by default +$ ctest -R <regex> Runs only matching tests, e.g. ctest -R dxf +$ ctest -C <configs> Adds extended tests belonging to configs. + Valid configs: + Default - Run default tests + Heavy - Run more time consuming tests (> ~10 seconds) + Examples - test all examples + All - test everything Adding a new regression test: ------------------------------ @@ -47,13 +61,6 @@ Adding a new regression test: Troubleshooting a failed test: ------------------------------ -You can run a single test by passing the test name to ctest: - $ ctest -R throwntogethertest_sphere - -You can run a series of tests by passing part of a name to ctest: - $ ctest -R cgalpng # runs all cgalpng tests - $ ctest -R sphere # runs all sphere tests - Logs of test runs are found in tests/build/Testing/Temporary Expected results are found in tests/regression/* Actual results are found in tests/build/testname-output/* diff --git a/examples/example007.scad b/examples/example007.scad index fe69f84..6a57a3b 100644 --- a/examples/example007.scad +++ b/examples/example007.scad @@ -5,30 +5,27 @@ module cutout() { rotate(90, [1, 0, 0]) translate([0, 0, -50]) - dxf_linear_extrude( - file = "example007.dxf", - layer = "cutout1", - height = 100, - convexity = 1); + linear_extrude(height = 100, convexity = 1) + import(file = "example007.dxf", layer = "cutout1"); rotate(90, [0, 0, 1]) rotate(90, [1, 0, 0]) translate([0, 0, -50]) - dxf_linear_extrude( - file = "example007.dxf", - layer = "cutout2", - height = 100, - convexity = 2); + linear_extrude(height = 100, convexity = 2) + import(file = "example007.dxf", layer = "cutout2"); } } module clip() { difference() { - dxf_rotate_extrude( - file = "example007.dxf", - layer="dorn", - convexity = 3); + // NB! We have to use the deprecated module here since the "dorn" + // layer contains an open polyline, which is not yet supported + // by the import() module. + rotate_extrude( + file = "example007.dxf", + layer="dorn", + convexity = 3); for (r = [0, 90]) rotate(r, [0, 0, 1]) cutout(); diff --git a/examples/example008.scad b/examples/example008.scad index e1b0ac4..a12ef96 100644 --- a/examples/example008.scad +++ b/examples/example008.scad @@ -4,29 +4,29 @@ difference() intersection() { translate([ -25, -25, -25]) - dxf_linear_extrude(file = "example008.dxf", - layer = "G", height = 50, convexity = 3); + linear_extrude(height = 50, convexity = 3) + import(file = "example008.dxf", layer = "G"); rotate(90, [1, 0, 0]) translate([ -25, -125, -25]) - dxf_linear_extrude(file = "example008.dxf", - layer = "E", height = 50, convexity = 3); + linear_extrude(height = 50, convexity = 3) + import(file = "example008.dxf", layer = "E"); rotate(90, [0, 1, 0]) translate([ -125, -125, -25]) - dxf_linear_extrude(file = "example008.dxf", - layer = "B", height = 50, convexity = 3); + linear_extrude(height = 50, convexity = 3) + import(file = "example008.dxf", layer = "B"); } intersection() { translate([ -125, -25, -25]) - dxf_linear_extrude(file = "example008.dxf", - layer = "X", height = 50, convexity = 1); + linear_extrude(height = 50, convexity = 1) + import(file = "example008.dxf", layer = "X"); rotate(90, [0, 1, 0]) translate([ -125, -25, -25]) - dxf_linear_extrude(file = "example008.dxf", - layer = "X", height = 50, convexity = 1); + linear_extrude(height = 50, convexity = 1) + import(file = "example008.dxf", layer = "X"); } }
\ No newline at end of file diff --git a/examples/example009.scad b/examples/example009.scad index 5f39f00..017ecc3 100644 --- a/examples/example009.scad +++ b/examples/example009.scad @@ -2,27 +2,29 @@ bodywidth = dxf_dim(file = "example009.dxf", name = "bodywidth"); fanwidth = dxf_dim(file = "example009.dxf", name = "fanwidth"); platewidth = dxf_dim(file = "example009.dxf", name = "platewidth"); -fan_side_center = dxf_cross(file = "example009.dxf", - layer = "fan_side_center"); +fan_side_center = dxf_cross(file = "example009.dxf", layer = "fan_side_center"); fanrot = dxf_dim(file = "example009.dxf", name = "fanrot"); -% dxf_linear_extrude(file = "example009.dxf", layer = "body", - height = bodywidth, center = true, convexity = 10); +% linear_extrude(height = bodywidth, center = true, convexity = 10) + import(file = "example009.dxf", layer = "body"); % for (z = [+(bodywidth/2 + platewidth/2), -(bodywidth/2 + platewidth/2)]) { translate([0, 0, z]) - dxf_linear_extrude(file = "example009.dxf", layer = "plate", - height = platewidth, center = true, convexity = 10); + linear_extrude(height = platewidth, center = true, convexity = 10) + import(file = "example009.dxf", layer = "plate"); } intersection() { - dxf_linear_extrude(file = "example009.dxf", layer = "fan_top", - height = fanwidth, center = true, convexity = 10, - twist = -fanrot); - dxf_rotate_extrude(file = "example009.dxf", layer = "fan_side", + linear_extrude(height = fanwidth, center = true, convexity = 10, twist = -fanrot) + import(file = "example009.dxf", layer = "fan_top"); + + // NB! We have to use the deprecated module here since the "fan_side" + // layer contains an open polyline, which is not yet supported + // by the import() module. + rotate_extrude(file = "example009.dxf", layer = "fan_side", origin = fan_side_center, convexity = 10); } diff --git a/examples/example013.scad b/examples/example013.scad index 18f1f04..c17422f 100644 --- a/examples/example013.scad +++ b/examples/example013.scad @@ -1,12 +1,12 @@ intersection() { - dxf_linear_extrude(file = "example013.dxf", - height = 100, center = true, convexity= 3); + linear_extrude(height = 100, center = true, convexity= 3) + import(file = "example013.dxf"); rotate([0, 90, 0]) - dxf_linear_extrude(file = "example013.dxf", - height = 100, center = true, convexity= 3); + linear_extrude(height = 100, center = true, convexity= 3) + import(file = "example013.dxf"); rotate([90, 0, 0]) - dxf_linear_extrude(file = "example013.dxf", - height = 100, center = true, convexity= 3); + linear_extrude(height = 100, center = true, convexity= 3) + import(file = "example013.dxf"); }
\ No newline at end of file diff --git a/src/CGALEvaluator.cc b/src/CGALEvaluator.cc index 7921b85..78b9c78 100644 --- a/src/CGALEvaluator.cc +++ b/src/CGALEvaluator.cc @@ -598,19 +598,20 @@ CGAL_Nef_polyhedron CGALEvaluator::evaluateCGALMesh(const PolySet &ps) } else // not (this->is2d) { + CGAL_Nef_polyhedron3 *N = NULL; CGAL::Failure_behaviour old_behaviour = CGAL::set_error_behaviour(CGAL::THROW_EXCEPTION); try { + // FIXME: Are we leaking memory for the CGAL_Polyhedron object? CGAL_Polyhedron *P = createPolyhedronFromPolySet(ps); if (P) { - CGAL_Nef_polyhedron3 *N = new CGAL_Nef_polyhedron3(*P); - return CGAL_Nef_polyhedron(N); + N = new CGAL_Nef_polyhedron3(*P); } } catch (CGAL::Assertion_exception e) { - PRINTF("CGAL error in CGA_Nef_polyhedron3(): %s", e.what()); - CGAL::set_error_behaviour(old_behaviour); - return CGAL_Nef_polyhedron(); + PRINTF("CGAL error in CGAL_Nef_polyhedron3(): %s", e.what()); } + CGAL::set_error_behaviour(old_behaviour); + return CGAL_Nef_polyhedron(N); } return CGAL_Nef_polyhedron(); } diff --git a/src/CGAL_Nef_polyhedron.cc b/src/CGAL_Nef_polyhedron.cc index 2538b64..61ca2f8 100644 --- a/src/CGAL_Nef_polyhedron.cc +++ b/src/CGAL_Nef_polyhedron.cc @@ -7,6 +7,29 @@ #include "dxftess.h" #include <CGAL/minkowski_sum_3.h> +CGAL_Nef_polyhedron::CGAL_Nef_polyhedron(CGAL_Nef_polyhedron2 *p) +{ + if (p) { + dim = 2; + p2.reset(p); + } + else { + dim = 0; + } +} + +CGAL_Nef_polyhedron::CGAL_Nef_polyhedron(CGAL_Nef_polyhedron3 *p) +{ + if (p) { + dim = 3; + p3.reset(p); + } + else { + dim = 0; + } +} + + CGAL_Nef_polyhedron& CGAL_Nef_polyhedron::operator+=(const CGAL_Nef_polyhedron &other) { if (this->dim == 2) (*this->p2) += (*other.p2); diff --git a/src/CGAL_Nef_polyhedron.h b/src/CGAL_Nef_polyhedron.h index fda4bc5..f93905f 100644 --- a/src/CGAL_Nef_polyhedron.h +++ b/src/CGAL_Nef_polyhedron.h @@ -8,8 +8,8 @@ class CGAL_Nef_polyhedron { public: CGAL_Nef_polyhedron() : dim(0) {} - CGAL_Nef_polyhedron(CGAL_Nef_polyhedron2 *p) : dim(2), p2(p) {} - CGAL_Nef_polyhedron(CGAL_Nef_polyhedron3 *p) : dim(3), p3(p) {} + CGAL_Nef_polyhedron(CGAL_Nef_polyhedron2 *p); + CGAL_Nef_polyhedron(CGAL_Nef_polyhedron3 *p); ~CGAL_Nef_polyhedron() {} bool empty() const { return (dim == 0 || (!p2 && !p3)); } diff --git a/src/cgalutils.cc b/src/cgalutils.cc index e77f5dd..1de7ab4 100644 --- a/src/cgalutils.cc +++ b/src/cgalutils.cc @@ -140,8 +140,10 @@ CGAL_Polyhedron *createPolyhedronFromPolySet(const PolySet &ps) } catch (CGAL::Assertion_exception e) { PRINTF("CGAL error in CGAL_Build_PolySet: %s", e.what()); - CGAL::set_error_behaviour(old_behaviour); + delete P; + P = NULL; } + CGAL::set_error_behaviour(old_behaviour); return P; } diff --git a/testdata/scad/features/difference-tests.scad b/testdata/scad/features/difference-tests.scad index 4d82676..3bcd9e5 100644 --- a/testdata/scad/features/difference-tests.scad +++ b/testdata/scad/features/difference-tests.scad @@ -10,7 +10,7 @@ difference() { translate([12,0,0]) difference() { cube([10,10,10], center=true); - cylinder(r=4, h=10, center=true); + cylinder(r=4, h=10.5, center=true); } translate([0,12,0]) difference() { @@ -21,7 +21,7 @@ translate([0,12,0]) difference() { translate([12,12,0]) difference() { cube([10,10,10], center=true); - translate([0,0,7]) cylinder(r=4, h=4, center=true); + translate([0,0,7.01]) cylinder(r=4, h=4, center=true); } translate([24,0,0]) difference() { diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 5605f6a..ac021e5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -360,18 +360,99 @@ set_target_properties(throwntogethertest PROPERTIES COMPILE_FLAGS "-DENABLE_OPEN target_link_libraries(throwntogethertest tests-offscreen tests-cgal ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${QT_LIBRARIES} ${OPENCSG_LIBRARY} ${GLEW_LIBRARY} ${COCOA_LIBRARY} ${OPENGL_LIBRARY} ${Boost_LIBRARIES}) # +# Tags tests as disabled. This is more convenient than removing them manually +# from the lists of filenames +# +macro(disable_tests) + foreach (TESTNAME ${ARGN}) +# message("Disabling ${TESTNAME}") + list(APPEND DISABLED_TESTS ${TESTNAME}) + endforeach() +endmacro() + +# +# Tags the given tests as belonging to the given CONFIG, i.e. will +# only be executed when run using ctest -C <CONFIG> +# +# Usage example: set_test_config(Heavy dumptest_testname opencsgtest_testname2) +# +function(set_test_config CONFIG) + list(APPEND ${CONFIG}_TEST_CONFIG ${ARGN}) + list(FIND TEST_CONFIGS ${CONFIG} FOUND) + if (FOUND EQUAL -1) + list(APPEND TEST_CONFIGS ${CONFIG}) + # Export to parent scope + set(TEST_CONFIGS ${TEST_CONFIGS} PARENT_SCOPE) + endif() + # Export to parent scope + set(${CONFIG}_TEST_CONFIG ${${CONFIG}_TEST_CONFIG} PARENT_SCOPE) +endfunction() + +# +# Returns a list of test configs +# +function(get_test_config TESTNAME CONFIGS) + foreach(CONFIG ${TEST_CONFIGS}) + list(FIND ${CONFIG}_TEST_CONFIG ${TESTNAME} IDX) + if (${IDX} GREATER -1) + list(APPEND ${CONFIGS} ${CONFIG}) + endif() + endforeach() + if (${CONFIGS}) + # Convert to a format understood by add_test() + string(REPLACE ";" "|" ${${CONFIGS}} ${CONFIGS}) + # Export to parent scope + set(${CONFIGS} ${${CONFIGS}} PARENT_SCOPE) + endif() +endfunction() + +# +# Returns into the FULLNAME variable the global full test name (identifier) +# given a test command and source filename +# +function(get_test_fullname TESTCMD FILENAME FULLNAME) + get_filename_component(TESTCMD_NAME ${TESTCMD} NAME_WE) + get_filename_component(TESTNAME ${FILENAME} NAME_WE) + string(REPLACE " " "_" TESTNAME ${TESTNAME}) # Test names cannot include spaces + set(${FULLNAME} ${TESTCMD_NAME}_${TESTNAME}) + # Export to parent scope + set(${FULLNAME} ${${FULLNAME}} PARENT_SCOPE) +endfunction() + +# # This functions adds cmd-line tests given files. # Files are sent as the parameters following TESTSUFFIX # +# Usage add_cmdline_test(TESTCMD TESTSUFFIX <test files>) +# find_package(PythonInterp) -function(add_cmdline_test TESTCMD TESTSUFFIX) +macro(add_cmdline_test TESTCMD TESTSUFFIX) get_filename_component(TESTCMD_NAME ${TESTCMD} NAME_WE) + + # Add tests from args foreach (SCADFILE ${ARGN}) get_filename_component(TESTNAME ${SCADFILE} NAME_WE) string(REPLACE " " "_" TESTNAME ${TESTNAME}) # Test names cannot include spaces - add_test("${TESTCMD_NAME}_${TESTNAME}" ${PYTHON_EXECUTABLE} ${tests_SOURCE_DIR}/test_cmdline_tool.py -c ${ImageMagick_convert_EXECUTABLE} -s ${TESTSUFFIX} ${CMAKE_BINARY_DIR}/${TESTCMD} "${SCADFILE}" ) + set(TEST_FULLNAME "${TESTCMD_NAME}_${TESTNAME}") + list(FIND DISABLED_TESTS ${TEST_FULLNAME} DISABLED) + if (${DISABLED} EQUAL -1) + + # Handle configurations + unset(FOUNDCONFIGS) + get_test_config(${TEST_FULLNAME} FOUNDCONFIGS) + if (NOT FOUNDCONFIGS) + set_test_config(Default ${TEST_FULLNAME}) + endif() + set_test_config(All ${TEST_FULLNAME}) + unset(FOUNDCONFIGS) + get_test_config(${TEST_FULLNAME} FOUNDCONFIGS) + set(CONFARG CONFIGURATIONS) + set(CONFVAL ${FOUNDCONFIGS}) + + add_test(NAME ${TEST_FULLNAME} ${CONFARG} ${CONFVAL} COMMAND ${PYTHON_EXECUTABLE} ${tests_SOURCE_DIR}/test_cmdline_tool.py -c ${ImageMagick_convert_EXECUTABLE} -s ${TESTSUFFIX} ${CMAKE_BINARY_DIR}/${TESTCMD} "${SCADFILE}") + endif() endforeach() -endfunction() +endmacro() enable_testing() @@ -393,9 +474,12 @@ foreach(FILE test_pretty_print.py) ${CMAKE_CURRENT_BINARY_DIR}/${FILE} COPYONLY) endforeach() +set_directory_properties(PROPERTIES TEST_INCLUDE_FILE "${CMAKE_SOURCE_DIR}/EnforceConfig.cmake") + # Find all scad files file(GLOB MINIMAL_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/*.scad) file(GLOB FEATURES_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/*.scad) +# Remove included files not to be used as tests list(REMOVE_ITEM FEATURES_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/include\ test6.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/features/include-test5.scad) @@ -404,22 +488,6 @@ 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 DUMPTEST_FILES ${MINIMAL_FILES} ${FEATURES_FILES} ${EXAMPLE_FILES}) -list(APPEND DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/escape-test.scad) -# Disable tests which are known to cause floating point comparison issues -# Once we're capable of comparing these across platforms, we can put these back in -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/transform-tests.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/features/render-tests.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example001.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example005.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example006.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example007.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example008.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example012.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example016.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example020.scad) -list(REMOVE_ITEM DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../examples/example021.scad) - list(APPEND ECHO_FILES ${FUNCTION_FILES} ${CMAKE_SOURCE_DIR}/../testdata/scad/minimal/echo.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/echo-tests.scad @@ -430,42 +498,75 @@ list(APPEND ECHO_FILES ${FUNCTION_FILES} ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/string-test.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/string-indexing.scad) -# Add echotest tests to CTest -add_cmdline_test(echotest txt ${ECHO_FILES}) -# Add dumptest tests to CTest -add_cmdline_test(dumptest txt ${DUMPTEST_FILES}) -# Add csgtexttest tests to CTest -add_cmdline_test(csgtexttest txt ${MINIMAL_FILES}) -# Add csgtermtest tests to CTest -add_cmdline_test(csgtermtest txt ${MINIMAL_FILES}) - -# Add cgaltest tests to CTest -add_cmdline_test(cgaltest stl ${CGALTEST_FILES}) +list(APPEND DUMPTEST_FILES ${MINIMAL_FILES} ${FEATURES_FILES} ${EXAMPLE_FILES}) +list(APPEND DUMPTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/escape-test.scad) -# Add cgalpngtest tests to CTest -list(APPEND CGALPNGTEST_FILES ${FEATURES_FILES}) -list(APPEND CGALPNGTEST_FILES ${SCAD_DXF_FILES}) +list(APPEND CGALPNGTEST_FILES ${FEATURES_FILES} ${SCAD_DXF_FILES} ${EXAMPLE_FILES}) list(APPEND OPENCSGTEST_FILES ${CGALPNGTEST_FILES}) +list(APPEND THROWNTOGETHERTEST_FILES ${CGALPNGTEST_FILES}) -list(REMOVE_ITEM CGALPNGTEST_FILES - ${CMAKE_SOURCE_DIR}/../testdata/scad/features/child-background.scad - ${CMAKE_SOURCE_DIR}/../testdata/scad/features/highlight-and-background-modifier.scad - ${CMAKE_SOURCE_DIR}/../testdata/scad/features/testcolornames.scad) - -add_cmdline_test(cgalpngtest png ${CGALPNGTEST_FILES}) - -# Add opencsg tests to CTest +# Disable tests which are known to cause floating point comparison issues +# Once we're capable of comparing these across platforms, we can put these back in +disable_tests(dumptest_transform-tests + dumptest_render-tests + dumptest_example001 + dumptest_example005 + dumptest_example006 + dumptest_example007 + dumptest_example008 + dumptest_example012 + dumptest_example016 + dumptest_example020 + dumptest_example021) # FIXME: This test illustrates a weakness in child() combined with modifiers. # Reenable it when this is improved -list(REMOVE_ITEM OPENCSGTEST_FILES - ${CMAKE_SOURCE_DIR}/../testdata/scad/features/child-background.scad) +disable_tests(opencsgtest_child-background) + +# These tests only makes sense in OpenCSG mode +disable_tests(cgalpngtest_child-background + cgalpngtest_highlight-and-background-modifier + cgalpngtest_testcolornames + throwntogethertest_child-background + throwntogethertest_highlight-and-background-modifier + throwntogethertest_testcolornames) + +# Test config handling + +set_test_config(Heavy opencsgtest_minkowski3-tests + opencsgtest_projection-tests + throwntogethertest_minkowski3-tests + throwntogethertest_projection-tests + cgalpngtest_projection-tests + cgalpngtest_rotate_extrude-tests + cgalpngtest_surface-tests + cgalpngtest_sphere-tests + cgalpngtest_minkowski3-tests + cgalpngtest_for-tests + cgalpngtest_for-nested-tests + cgalpngtest_difference-tests + cgalpngtest_intersection-tests) + +foreach(FILE ${EXAMPLE_FILES}) + get_test_fullname(cgalpngtest ${FILE} TEST_FULLNAME) + set_test_config(Examples ${TEST_FULLNAME}) + get_test_fullname(opencsgtest ${FILE} TEST_FULLNAME) + set_test_config(Examples ${TEST_FULLNAME}) + get_test_fullname(throwntogethertest ${FILE} TEST_FULLNAME) + set_test_config(Examples ${TEST_FULLNAME}) +endforeach() -add_cmdline_test(opencsgtest png ${OPENCSGTEST_FILES}) +# Add tests -# Add throwntogether tests to CTest -list(APPEND THROWNTOGETHERTEST_FILES ${CGALPNGTEST_FILES}) +add_cmdline_test(echotest txt ${ECHO_FILES}) +add_cmdline_test(dumptest txt ${DUMPTEST_FILES}) +add_cmdline_test(csgtexttest txt ${MINIMAL_FILES}) +add_cmdline_test(csgtermtest txt ${MINIMAL_FILES}) +add_cmdline_test(cgalpngtest png ${CGALPNGTEST_FILES}) +add_cmdline_test(opencsgtest png ${OPENCSGTEST_FILES}) add_cmdline_test(throwntogethertest png ${THROWNTOGETHERTEST_FILES}) -# Add dxfexport tests to CTest -add_cmdline_test(${CMAKE_SOURCE_DIR}/../test-code/exportdxf dxf ${SCAD_FILES}) +message("Available test configurations: ${TEST_CONFIGS}") +#foreach(CONF ${TEST_CONFIGS}) +# message("${CONF}: ${${CONF}_TEST_CONFIG}") +#endforeach() diff --git a/tests/EnforceConfig.cmake b/tests/EnforceConfig.cmake new file mode 100644 index 0000000..8e2ebf7 --- /dev/null +++ b/tests/EnforceConfig.cmake @@ -0,0 +1,4 @@ +message("Enforcing config") +if(NOT CTEST_CONFIGURATION_TYPE) + set(CTEST_CONFIGURATION_TYPE Default) +endif() diff --git a/tests/OffscreenContext.mm b/tests/OffscreenContext.mm index 5a6a8ec..eb06615 100644 --- a/tests/OffscreenContext.mm +++ b/tests/OffscreenContext.mm @@ -1,6 +1,7 @@ #include "OffscreenContext.h" #include "imageutils.h" #include "fbo.h" +#include <iostream> #import <AppKit/AppKit.h> // for NSOpenGL... @@ -56,24 +57,13 @@ OffscreenContext *create_offscreen_context(int w, int h) [ctx->openGLContext makeCurrentContext]; - glewInit(); -#ifdef DEBUG - std::cout << "GLEW version " << glewGetString(GLEW_VERSION) << "\n"; - std::cout << (const char *)glGetString(GL_RENDERER) << "(" << (const char *)glGetString(GL_VENDOR) << ")\n" - << "OpenGL version " << (const char *)glGetString(GL_VERSION) << "\n"; - std::cout << "Extensions: " << (const char *)glGetString(GL_EXTENSIONS) << "\n"; - - - if (GLEW_ARB_framebuffer_object) { - std::cout << "ARB_FBO supported\n"; - } - if (GLEW_EXT_framebuffer_object) { - std::cout << "EXT_FBO supported\n"; - } - if (GLEW_EXT_packed_depth_stencil) { - std::cout << "EXT_packed_depth_stencil\n"; + // glewInit must come after Context creation and before FBO calls. + GLenum err = glewInit(); + if (GLEW_OK != err) { + std::cerr << "Unable to init GLEW: " << glewGetErrorString(err) << std::endl; + return NULL; } -#endif + glew_dump(); ctx->fbo = fbo_new(); if (!fbo_init(ctx->fbo, w, h)) { diff --git a/tests/cgalpngtest.cc b/tests/cgalpngtest.cc index cc747fb..eabea86 100644 --- a/tests/cgalpngtest.cc +++ b/tests/cgalpngtest.cc @@ -54,6 +54,10 @@ #include <assert.h> #include <sstream> +#ifdef ENABLE_CGAL +#include <CGAL/assertions_behaviour.h> +#endif + std::string commandline_commands; QString currentdir; QString examplesdir; @@ -99,6 +103,11 @@ int main(int argc, char **argv) const char *filename = argv[1]; const char *outfile = argv[2]; +#ifdef ENABLE_CGAL + // Causes CGAL errors to abort directly instead of throwing exceptions + // (which we don't catch). This gives us stack traces without rerunning in gdb. + CGAL::set_error_behaviour(CGAL::ABORT); +#endif Builtins::instance()->initialize(); QApplication app(argc, argv, false); @@ -163,29 +172,6 @@ int main(int argc, char **argv) exit(1); } - GLenum err = glewInit(); - if (GLEW_OK != err) { - fprintf(stderr, "Unable to init GLEW: %s\n", glewGetErrorString(err)); - exit(1); - } -#ifdef DEBUG - std::cout << "GLEW version " << glewGetString(GLEW_VERSION) << "\n"; - std::cout << (const char *)glGetString(GL_RENDERER) << "(" << (const char *)glGetString(GL_VENDOR) << ")\n" - << "OpenGL version " << (const char *)glGetString(GL_VERSION) << "\n"; - std::cout << "Extensions: " << (const char *)glGetString(GL_EXTENSIONS) << "\n"; - - - if (GLEW_ARB_framebuffer_object) { - std::cout << "ARB_FBO supported\n"; - } - if (GLEW_EXT_framebuffer_object) { - std::cout << "EXT_FBO supported\n"; - } - if (GLEW_EXT_packed_depth_stencil) { - std::cout << "EXT_packed_depth_stencil\n"; - } -#endif - CGALRenderer cgalRenderer(N); BoundingBox bbox; diff --git a/tests/regression/cgalpngtest/example001-expected.png b/tests/regression/cgalpngtest/example001-expected.png Binary files differnew file mode 100644 index 0000000..12b3dea --- /dev/null +++ b/tests/regression/cgalpngtest/example001-expected.png diff --git a/tests/regression/cgalpngtest/example002-expected.png b/tests/regression/cgalpngtest/example002-expected.png Binary files differnew file mode 100644 index 0000000..491477d --- /dev/null +++ b/tests/regression/cgalpngtest/example002-expected.png diff --git a/tests/regression/cgalpngtest/example003-expected.png b/tests/regression/cgalpngtest/example003-expected.png Binary files differnew file mode 100644 index 0000000..429b64b --- /dev/null +++ b/tests/regression/cgalpngtest/example003-expected.png diff --git a/tests/regression/cgalpngtest/example004-expected.png b/tests/regression/cgalpngtest/example004-expected.png Binary files differnew file mode 100644 index 0000000..b0a91fd --- /dev/null +++ b/tests/regression/cgalpngtest/example004-expected.png diff --git a/tests/regression/cgalpngtest/example005-expected.png b/tests/regression/cgalpngtest/example005-expected.png Binary files differnew file mode 100644 index 0000000..8727800 --- /dev/null +++ b/tests/regression/cgalpngtest/example005-expected.png diff --git a/tests/regression/cgalpngtest/example006-expected.png b/tests/regression/cgalpngtest/example006-expected.png Binary files differnew file mode 100644 index 0000000..c2fd5c1 --- /dev/null +++ b/tests/regression/cgalpngtest/example006-expected.png diff --git a/tests/regression/cgalpngtest/example007-expected.png b/tests/regression/cgalpngtest/example007-expected.png Binary files differnew file mode 100644 index 0000000..0ec829f --- /dev/null +++ b/tests/regression/cgalpngtest/example007-expected.png diff --git a/tests/regression/cgalpngtest/example008-expected.png b/tests/regression/cgalpngtest/example008-expected.png Binary files differnew file mode 100644 index 0000000..54cd35d --- /dev/null +++ b/tests/regression/cgalpngtest/example008-expected.png diff --git a/tests/regression/cgalpngtest/example009-expected.png b/tests/regression/cgalpngtest/example009-expected.png Binary files differnew file mode 100644 index 0000000..bbdc192 --- /dev/null +++ b/tests/regression/cgalpngtest/example009-expected.png diff --git a/tests/regression/cgalpngtest/example010-expected.png b/tests/regression/cgalpngtest/example010-expected.png Binary files differnew file mode 100644 index 0000000..f611b12 --- /dev/null +++ b/tests/regression/cgalpngtest/example010-expected.png diff --git a/tests/regression/cgalpngtest/example011-expected.png b/tests/regression/cgalpngtest/example011-expected.png Binary files differnew file mode 100644 index 0000000..88c8299 --- /dev/null +++ b/tests/regression/cgalpngtest/example011-expected.png diff --git a/tests/regression/cgalpngtest/example012-expected.png b/tests/regression/cgalpngtest/example012-expected.png Binary files differnew file mode 100644 index 0000000..8065e9c --- /dev/null +++ b/tests/regression/cgalpngtest/example012-expected.png diff --git a/tests/regression/cgalpngtest/example013-expected.png b/tests/regression/cgalpngtest/example013-expected.png Binary files differnew file mode 100644 index 0000000..331fa17 --- /dev/null +++ b/tests/regression/cgalpngtest/example013-expected.png diff --git a/tests/regression/cgalpngtest/example014-expected.png b/tests/regression/cgalpngtest/example014-expected.png Binary files differnew file mode 100644 index 0000000..73453a2 --- /dev/null +++ b/tests/regression/cgalpngtest/example014-expected.png diff --git a/tests/regression/cgalpngtest/example015-expected.png b/tests/regression/cgalpngtest/example015-expected.png Binary files differnew file mode 100644 index 0000000..98d0e78 --- /dev/null +++ b/tests/regression/cgalpngtest/example015-expected.png diff --git a/tests/regression/cgalpngtest/example016-expected.png b/tests/regression/cgalpngtest/example016-expected.png Binary files differnew file mode 100644 index 0000000..70bd10d --- /dev/null +++ b/tests/regression/cgalpngtest/example016-expected.png diff --git a/tests/regression/cgalpngtest/example017-expected.png b/tests/regression/cgalpngtest/example017-expected.png Binary files differnew file mode 100644 index 0000000..05f429b --- /dev/null +++ b/tests/regression/cgalpngtest/example017-expected.png diff --git a/tests/regression/cgalpngtest/example018-expected.png b/tests/regression/cgalpngtest/example018-expected.png Binary files differnew file mode 100644 index 0000000..5ea05af --- /dev/null +++ b/tests/regression/cgalpngtest/example018-expected.png diff --git a/tests/regression/cgalpngtest/example019-expected.png b/tests/regression/cgalpngtest/example019-expected.png Binary files differnew file mode 100644 index 0000000..42a356a --- /dev/null +++ b/tests/regression/cgalpngtest/example019-expected.png diff --git a/tests/regression/cgalpngtest/example020-expected.png b/tests/regression/cgalpngtest/example020-expected.png Binary files differnew file mode 100644 index 0000000..e6afb94 --- /dev/null +++ b/tests/regression/cgalpngtest/example020-expected.png diff --git a/tests/regression/cgalpngtest/example021-expected.png b/tests/regression/cgalpngtest/example021-expected.png Binary files differnew file mode 100644 index 0000000..d657b0d --- /dev/null +++ b/tests/regression/cgalpngtest/example021-expected.png diff --git a/tests/regression/cgalpngtest/example022-expected.png b/tests/regression/cgalpngtest/example022-expected.png Binary files differnew file mode 100644 index 0000000..b8b8fbd --- /dev/null +++ b/tests/regression/cgalpngtest/example022-expected.png diff --git a/tests/regression/dumptest/difference-tests-expected.txt b/tests/regression/dumptest/difference-tests-expected.txt index bbdf3ea..eee4616 100644 --- a/tests/regression/dumptest/difference-tests-expected.txt +++ b/tests/regression/dumptest/difference-tests-expected.txt @@ -7,7 +7,7 @@ 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 = 1, h = 10, r1 = 4, r2 = 4, center = true); + cylinder($fn = 0, $fa = 12, $fs = 1, 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]]) { @@ -22,7 +22,7 @@ multmatrix([[1, 0, 0, 12], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) { difference() { cube(size = [10, 10, 10], center = true); - multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 7], [0, 0, 0, 1]]) { + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 7.01], [0, 0, 0, 1]]) { cylinder($fn = 0, $fa = 12, $fs = 1, h = 4, r1 = 4, r2 = 4, center = true); } } diff --git a/tests/regression/dumptest/example009-expected.txt b/tests/regression/dumptest/example009-expected.txt index 30c8bc3..df05fe2 100644 --- a/tests/regression/dumptest/example009-expected.txt +++ b/tests/regression/dumptest/example009-expected.txt @@ -1,14 +1,22 @@ - linear_extrude(file = "example009.dxf", layer = "body", origin = [0, 0], scale = 1, height = 22, center = true, convexity = 10, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 22, center = true, convexity = 10, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example009.dxf", layer = "body", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 12], [0, 0, 0, 1]]) { - linear_extrude(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, height = 2, center = true, convexity = 10, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 2, center = true, convexity = 10, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -12], [0, 0, 0, 1]]) { - linear_extrude(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, height = 2, center = true, convexity = 10, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 2, center = true, convexity = 10, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } } } intersection() { - linear_extrude(file = "example009.dxf", layer = "fan_top", origin = [0, 0], scale = 1, height = 20, center = true, convexity = 10, twist = -57.5288, slices = 4, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 20, center = true, convexity = 10, twist = -57.5288, slices = 4, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example009.dxf", layer = "fan_top", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } rotate_extrude(file = "example009.dxf", layer = "fan_side", origin = [0, -40], scale = 1, convexity = 10, $fn = 0, $fa = 12, $fs = 1); } diff --git a/tests/regression/dumptest/example013-expected.txt b/tests/regression/dumptest/example013-expected.txt index b1dcccb..f4d0aec 100644 --- a/tests/regression/dumptest/example013-expected.txt +++ b/tests/regression/dumptest/example013-expected.txt @@ -1,10 +1,16 @@ intersection() { - linear_extrude(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, height = 100, center = true, convexity = 3, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = true, convexity = 3, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } multmatrix([[2.22045e-16, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 2.22045e-16, 0], [0, 0, 0, 1]]) { - linear_extrude(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, height = 100, center = true, convexity = 3, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = true, convexity = 3, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } } multmatrix([[1, 0, 0, 0], [0, 2.22045e-16, -1, 0], [0, 1, 2.22045e-16, 0], [0, 0, 0, 1]]) { - linear_extrude(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, height = 100, center = true, convexity = 3, $fn = 0, $fa = 12, $fs = 1); + linear_extrude(height = 100, center = true, convexity = 3, $fn = 0, $fa = 12, $fs = 1) { + import(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 1); + } } } diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png Binary files differindex d88d98b..794104a 100644 --- a/tests/regression/opencsgtest/difference-tests-expected.png +++ b/tests/regression/opencsgtest/difference-tests-expected.png diff --git a/tests/regression/opencsgtest/example001-expected.png b/tests/regression/opencsgtest/example001-expected.png Binary files differnew file mode 100644 index 0000000..ff2da6b --- /dev/null +++ b/tests/regression/opencsgtest/example001-expected.png diff --git a/tests/regression/opencsgtest/example002-expected.png b/tests/regression/opencsgtest/example002-expected.png Binary files differnew file mode 100644 index 0000000..554dc13 --- /dev/null +++ b/tests/regression/opencsgtest/example002-expected.png diff --git a/tests/regression/opencsgtest/example003-expected.png b/tests/regression/opencsgtest/example003-expected.png Binary files differnew file mode 100644 index 0000000..1faa4a6 --- /dev/null +++ b/tests/regression/opencsgtest/example003-expected.png diff --git a/tests/regression/opencsgtest/example004-expected.png b/tests/regression/opencsgtest/example004-expected.png Binary files differnew file mode 100644 index 0000000..beb549c --- /dev/null +++ b/tests/regression/opencsgtest/example004-expected.png diff --git a/tests/regression/opencsgtest/example005-expected.png b/tests/regression/opencsgtest/example005-expected.png Binary files differnew file mode 100644 index 0000000..0bb2fef --- /dev/null +++ b/tests/regression/opencsgtest/example005-expected.png diff --git a/tests/regression/opencsgtest/example006-expected.png b/tests/regression/opencsgtest/example006-expected.png Binary files differnew file mode 100644 index 0000000..ff0fe35 --- /dev/null +++ b/tests/regression/opencsgtest/example006-expected.png diff --git a/tests/regression/opencsgtest/example007-expected.png b/tests/regression/opencsgtest/example007-expected.png Binary files differnew file mode 100644 index 0000000..b212b12 --- /dev/null +++ b/tests/regression/opencsgtest/example007-expected.png diff --git a/tests/regression/opencsgtest/example008-expected.png b/tests/regression/opencsgtest/example008-expected.png Binary files differnew file mode 100644 index 0000000..0e4241f --- /dev/null +++ b/tests/regression/opencsgtest/example008-expected.png diff --git a/tests/regression/opencsgtest/example009-expected.png b/tests/regression/opencsgtest/example009-expected.png Binary files differnew file mode 100644 index 0000000..541410d --- /dev/null +++ b/tests/regression/opencsgtest/example009-expected.png diff --git a/tests/regression/opencsgtest/example010-expected.png b/tests/regression/opencsgtest/example010-expected.png Binary files differnew file mode 100644 index 0000000..3a4ba27 --- /dev/null +++ b/tests/regression/opencsgtest/example010-expected.png diff --git a/tests/regression/opencsgtest/example011-expected.png b/tests/regression/opencsgtest/example011-expected.png Binary files differnew file mode 100644 index 0000000..13164c3 --- /dev/null +++ b/tests/regression/opencsgtest/example011-expected.png diff --git a/tests/regression/opencsgtest/example012-expected.png b/tests/regression/opencsgtest/example012-expected.png Binary files differnew file mode 100644 index 0000000..c705bc7 --- /dev/null +++ b/tests/regression/opencsgtest/example012-expected.png diff --git a/tests/regression/opencsgtest/example013-expected.png b/tests/regression/opencsgtest/example013-expected.png Binary files differnew file mode 100644 index 0000000..5917382 --- /dev/null +++ b/tests/regression/opencsgtest/example013-expected.png diff --git a/tests/regression/opencsgtest/example014-expected.png b/tests/regression/opencsgtest/example014-expected.png Binary files differnew file mode 100644 index 0000000..7f39f61 --- /dev/null +++ b/tests/regression/opencsgtest/example014-expected.png diff --git a/tests/regression/opencsgtest/example015-expected.png b/tests/regression/opencsgtest/example015-expected.png Binary files differnew file mode 100644 index 0000000..1a1c869 --- /dev/null +++ b/tests/regression/opencsgtest/example015-expected.png diff --git a/tests/regression/opencsgtest/example016-expected.png b/tests/regression/opencsgtest/example016-expected.png Binary files differnew file mode 100644 index 0000000..1288ff6 --- /dev/null +++ b/tests/regression/opencsgtest/example016-expected.png diff --git a/tests/regression/opencsgtest/example017-expected.png b/tests/regression/opencsgtest/example017-expected.png Binary files differnew file mode 100644 index 0000000..b0b2f8a --- /dev/null +++ b/tests/regression/opencsgtest/example017-expected.png diff --git a/tests/regression/opencsgtest/example018-expected.png b/tests/regression/opencsgtest/example018-expected.png Binary files differnew file mode 100644 index 0000000..033a136 --- /dev/null +++ b/tests/regression/opencsgtest/example018-expected.png diff --git a/tests/regression/opencsgtest/example019-expected.png b/tests/regression/opencsgtest/example019-expected.png Binary files differnew file mode 100644 index 0000000..306c0fb --- /dev/null +++ b/tests/regression/opencsgtest/example019-expected.png diff --git a/tests/regression/opencsgtest/example020-expected.png b/tests/regression/opencsgtest/example020-expected.png Binary files differnew file mode 100644 index 0000000..4e8c3c4 --- /dev/null +++ b/tests/regression/opencsgtest/example020-expected.png diff --git a/tests/regression/opencsgtest/example021-expected.png b/tests/regression/opencsgtest/example021-expected.png Binary files differnew file mode 100644 index 0000000..675e57b --- /dev/null +++ b/tests/regression/opencsgtest/example021-expected.png diff --git a/tests/regression/opencsgtest/example022-expected.png b/tests/regression/opencsgtest/example022-expected.png Binary files differnew file mode 100644 index 0000000..66738e0 --- /dev/null +++ b/tests/regression/opencsgtest/example022-expected.png diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.png Binary files differindex 0b8070f..ee75bad 100644 --- a/tests/regression/throwntogethertest/difference-tests-expected.png +++ b/tests/regression/throwntogethertest/difference-tests-expected.png diff --git a/tests/regression/throwntogethertest/example001-expected.png b/tests/regression/throwntogethertest/example001-expected.png Binary files differnew file mode 100644 index 0000000..a0ea588 --- /dev/null +++ b/tests/regression/throwntogethertest/example001-expected.png diff --git a/tests/regression/throwntogethertest/example002-expected.png b/tests/regression/throwntogethertest/example002-expected.png Binary files differnew file mode 100644 index 0000000..27e3c4e --- /dev/null +++ b/tests/regression/throwntogethertest/example002-expected.png diff --git a/tests/regression/throwntogethertest/example003-expected.png b/tests/regression/throwntogethertest/example003-expected.png Binary files differnew file mode 100644 index 0000000..f27d17c --- /dev/null +++ b/tests/regression/throwntogethertest/example003-expected.png diff --git a/tests/regression/throwntogethertest/example004-expected.png b/tests/regression/throwntogethertest/example004-expected.png Binary files differnew file mode 100644 index 0000000..0d2f1ba --- /dev/null +++ b/tests/regression/throwntogethertest/example004-expected.png diff --git a/tests/regression/throwntogethertest/example005-expected.png b/tests/regression/throwntogethertest/example005-expected.png Binary files differnew file mode 100644 index 0000000..4c401da --- /dev/null +++ b/tests/regression/throwntogethertest/example005-expected.png diff --git a/tests/regression/throwntogethertest/example006-expected.png b/tests/regression/throwntogethertest/example006-expected.png Binary files differnew file mode 100644 index 0000000..66441bf --- /dev/null +++ b/tests/regression/throwntogethertest/example006-expected.png diff --git a/tests/regression/throwntogethertest/example007-expected.png b/tests/regression/throwntogethertest/example007-expected.png Binary files differnew file mode 100644 index 0000000..ea17570 --- /dev/null +++ b/tests/regression/throwntogethertest/example007-expected.png diff --git a/tests/regression/throwntogethertest/example008-expected.png b/tests/regression/throwntogethertest/example008-expected.png Binary files differnew file mode 100644 index 0000000..880844b --- /dev/null +++ b/tests/regression/throwntogethertest/example008-expected.png diff --git a/tests/regression/throwntogethertest/example009-expected.png b/tests/regression/throwntogethertest/example009-expected.png Binary files differnew file mode 100644 index 0000000..de8868a --- /dev/null +++ b/tests/regression/throwntogethertest/example009-expected.png diff --git a/tests/regression/throwntogethertest/example010-expected.png b/tests/regression/throwntogethertest/example010-expected.png Binary files differnew file mode 100644 index 0000000..37e6545 --- /dev/null +++ b/tests/regression/throwntogethertest/example010-expected.png diff --git a/tests/regression/throwntogethertest/example011-expected.png b/tests/regression/throwntogethertest/example011-expected.png Binary files differnew file mode 100644 index 0000000..13164c3 --- /dev/null +++ b/tests/regression/throwntogethertest/example011-expected.png diff --git a/tests/regression/throwntogethertest/example012-expected.png b/tests/regression/throwntogethertest/example012-expected.png Binary files differnew file mode 100644 index 0000000..360d6eb --- /dev/null +++ b/tests/regression/throwntogethertest/example012-expected.png diff --git a/tests/regression/throwntogethertest/example013-expected.png b/tests/regression/throwntogethertest/example013-expected.png Binary files differnew file mode 100644 index 0000000..d22b68f --- /dev/null +++ b/tests/regression/throwntogethertest/example013-expected.png diff --git a/tests/regression/throwntogethertest/example014-expected.png b/tests/regression/throwntogethertest/example014-expected.png Binary files differnew file mode 100644 index 0000000..562ce74 --- /dev/null +++ b/tests/regression/throwntogethertest/example014-expected.png diff --git a/tests/regression/throwntogethertest/example015-expected.png b/tests/regression/throwntogethertest/example015-expected.png Binary files differnew file mode 100644 index 0000000..6e16e33 --- /dev/null +++ b/tests/regression/throwntogethertest/example015-expected.png diff --git a/tests/regression/throwntogethertest/example016-expected.png b/tests/regression/throwntogethertest/example016-expected.png Binary files differnew file mode 100644 index 0000000..9bc4306 --- /dev/null +++ b/tests/regression/throwntogethertest/example016-expected.png diff --git a/tests/regression/throwntogethertest/example017-expected.png b/tests/regression/throwntogethertest/example017-expected.png Binary files differnew file mode 100644 index 0000000..b0b2f8a --- /dev/null +++ b/tests/regression/throwntogethertest/example017-expected.png diff --git a/tests/regression/throwntogethertest/example018-expected.png b/tests/regression/throwntogethertest/example018-expected.png Binary files differnew file mode 100644 index 0000000..033a136 --- /dev/null +++ b/tests/regression/throwntogethertest/example018-expected.png diff --git a/tests/regression/throwntogethertest/example019-expected.png b/tests/regression/throwntogethertest/example019-expected.png Binary files differnew file mode 100644 index 0000000..306c0fb --- /dev/null +++ b/tests/regression/throwntogethertest/example019-expected.png diff --git a/tests/regression/throwntogethertest/example020-expected.png b/tests/regression/throwntogethertest/example020-expected.png Binary files differnew file mode 100644 index 0000000..fa41d2f --- /dev/null +++ b/tests/regression/throwntogethertest/example020-expected.png diff --git a/tests/regression/throwntogethertest/example021-expected.png b/tests/regression/throwntogethertest/example021-expected.png Binary files differnew file mode 100644 index 0000000..1e1576c --- /dev/null +++ b/tests/regression/throwntogethertest/example021-expected.png diff --git a/tests/regression/throwntogethertest/example022-expected.png b/tests/regression/throwntogethertest/example022-expected.png Binary files differnew file mode 100644 index 0000000..66738e0 --- /dev/null +++ b/tests/regression/throwntogethertest/example022-expected.png diff --git a/tests/system-gl.h b/tests/system-gl.h index 45d5130..4a8ccac 100644 --- a/tests/system-gl.h +++ b/tests/system-gl.h @@ -4,7 +4,7 @@ #include <GL/glew.h> #include <string> -std::string glew_dump(bool dumpall); +std::string glew_dump(bool dumpall=false); bool report_glerror(const char *task); #endif |