diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/TODO.txt | 7 | ||||
-rw-r--r-- | doc/release-checklist.txt | 18 | ||||
-rw-r--r-- | doc/testing.txt | 76 |
3 files changed, 63 insertions, 38 deletions
diff --git a/doc/TODO.txt b/doc/TODO.txt index 4212c21..6bb3a15 100644 --- a/doc/TODO.txt +++ b/doc/TODO.txt @@ -71,6 +71,8 @@ o 3D View thicknesses, distances, slot thicknesses etc. - Add option to change lights, e.g. add an optional camera light - 2D objects are rendered at z = -0.1 - why? + - Rewrite to use VBOs or smth. - avoid inline calculations + - Rewrite to a higher-level library (e.g. OSG)? o Editor wishlist - More infrastructure for external editor (allow communication from the outside) - Preferences GUI for the features below @@ -88,6 +90,7 @@ o Editor wishlist in the source code in the 3D view - Tabbed editor for designs including other files - C-c/C-v should work on the focused widget, not always in the editor + - Auto-indent on enter and on tab o Error reporting/debugging - Provide better error messages when polygon ordering causes CGAL errors: o Supply syntax highlighting of the exact polygon indices which are @@ -138,7 +141,6 @@ o 2D Subsystem o Built-in modules - extrude*: Allow the base 2D primitive to have a Z value - rotate_extrude(): Allow for specification of start/stop/sweep angle? - - Convex hull of 3D objects o Advanced Transformations - Add statement for refinement via surface subdivision - Add statement for intersections in cartesian product of childs @@ -236,7 +238,6 @@ MISSING TESTS: o all functions o mirror o scale -o 3D hull o open polyline from dxf using new method o linear_extrude DXF o rotate_extrude DXF @@ -244,7 +245,7 @@ o import_stl o import_off o import_* - open polylines -o include: test subdirs under librarydir (e.g. include <MCAD/gears.scad> doesn't work +o include: test subdirs under librarydir (e.g. include <MCAD/gears.scad>) o use: Basically same tests as include. + use restrictions o include and use: remember filenames with space o variants of module transparent() { %child(); } diff --git a/doc/release-checklist.txt b/doc/release-checklist.txt index a455ca9..2ff9593 100644 --- a/doc/release-checklist.txt +++ b/doc/release-checklist.txt @@ -9,24 +9,24 @@ o Update version o Update RELEASE_NOTES o Tag release - git tag "openscad-2011.01" + git tag "openscad-2011.12" o build source package - git archive --format=tar openscad-2011.01 --prefix=openscad-2011.01/ | gzip > openscad-2011.01.src.tar.gz + git archive --format=tar openscad-2011.12 --prefix=openscad-2011.12/ | gzip > openscad-2011.12.src.tar.gz o build binaries - tar xzf openscad-2011.01.src.tar.gz - cd openscad-2011.01 + tar xzf openscad-2011.12.src.tar.gz + cd openscad-2011.12 Mac OS X - For Qt-4.7.3: Remove /Developers/Applications/Qt/plugins/qmltooling - ./scripts/publish-macosx.sh -> OpenSCAD-2011.01.dmg + (For Qt-4.7.3: Remove /Developers/Applications/Qt/plugins/qmltooling) + ./scripts/publish-macosx.sh -> OpenSCAD-2011.12.dmg Linux: FIXME 32 vs. 64 bit ./scripts/release-linux.sh Windows: FIXME 32 vs. 64 bit o FIXME: Run some tests -o Set back version: release-linux.sh, publish-macosx.sh, FIXME: Windows +o Set back version to being date-tagged: release-linux.sh, publish-macosx.sh, FIXME: Windows o git push --tags @@ -37,3 +37,7 @@ o Upload o Update web page o Write email to mailing list +o Update external resources: + - http://en.wikipedia.org/wiki/OpenSCAD +o Notify package managers + - Ubuntu: https://launchpad.net/~chrysn diff --git a/doc/testing.txt b/doc/testing.txt index 66ceac2..67d14ba 100644 --- a/doc/testing.txt +++ b/doc/testing.txt @@ -1,7 +1,7 @@ Running regression tests: ------------------------- -Prerequisites: cmake, python +Prerequisites: cmake, python, ImageMagick 6.5.9.3 or newer A) Building test environment @@ -16,25 +16,14 @@ 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 -$ cmake . -DCMAKE_BUILD_TYPE=Release -$ sed -i s/\/MD/\/MT/ CMakeCache.txt -$ cmake . -$ nmake -f Makefile +> 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 - -Windows: -$ nmake -f Makefile test - -Headless servers (no X11): -$ Xvnc :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. @@ -44,8 +33,7 @@ $ ctest -C <configs> Adds extended tests belonging to configs. Examples - test all examples All - test everything - -Adding a new regression test: +Adding a new regression test: ------------------------------ 1) create a test file at an appropriate location under testdata/ @@ -59,20 +47,52 @@ Adding a new regression test: 7) run the test normally and verify that it passes: $ ctest -R mytest -Troubleshooting a failed test: +Troubleshooting: ------------------------------ -You can run a single test by passing the test name to ctest: - $ ctest -R throwntogethertest_sphere +0. Headless unix servers (no X11) + +$ Xvfb :5 -screen 0 800x600x24 & +$ DISPLAY=:5 ctest + +1. Trouble finding libraries + + To help CMAKE find eigen2, OpenCSG, CGAL, Boost, and GLEW, you can use + environment variables, just like for the main qmake & openscad.pro. Examples: -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 - + OPENCSGDIR=~/OpenCSG-1.3.2 EIGEN2DIR=~/eigen2 cmake . + + Valid variables are as follows (see CMakeLists.txt for more info): + + BOOSTDIR, CGALDIR, EIGEN2DIR, GLEWDIR, OPENCSGDIR, OPENSCAD_LIBRARIES + +2. Logs + Logs of test runs are found in tests/build/Testing/Temporary +Pretty-printed index.html is in a subdir of tests/build/Testing/Temporary Expected results are found in tests/regression/* Actual results are found in tests/build/testname-output/* -You can also compile a single test program: +3. Cross-compiling + +Cross-compiling of tests has not been automated nor tested + +4. Image-based tests takes a long time, they fail, and it says 'return -11' + +Imagemagick may have crashed. You can try using the alternate IM comparator +based on Normalized Cross Correlation. Pass -DCOMPARATOR=ncc to cmake + +5. Testing images fails with 'morphology' not found for ImageMagick + +Your version of imagemagick is old. Upgrade, or pass -DCOMPARATOR=old to +cmake. The comparison will be of lowered reliability. + +6. Unexplained or bizarre errors. + +This can happen on dynamic-library systems (linux) where you try to use +your own version of a library while the system still has another version +under the system paths. You can diagnose this by looking at your cmake +log as well as your sysinfo.txt file, as well as running 'ldd' against +your binaries, to make sure that the proper versions of libraries are +getting compiled and linked with the test binaries. - $ make cgalpngtest |