summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/TODO.txt7
-rw-r--r--doc/release-checklist.txt18
-rw-r--r--doc/testing.txt76
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
contact: Jan Huwald // Impressum