I have been tweaking scripts/comprehensive_test.sh to produce more
informative and well-documented results, and I am now (revision 11233)
fairly satisfied with it.  Thus, I encourage all those here who would
like to help out with testing before the release this weekend (and who
have ~20GB of free disk space!) to try out this script.

To find out more about what is possible with this script, run

scripts/comprehensive_test.sh --help

There are many options there to cut down the scope of what is tested
(say if you are short of disk space for the non-interactive tests or
in case you don't want to do the interactive tests), but I would urge
testers not to use those options in order to create as comprehensive a
test as possible.

Here is how I typically set up before running this script

export CFLAGS='-O3 -fvisibility=hidden'
export CXXFLAGS='-O3 -fvisibility=hidden'
export FFLAGS='-O3 -fvisibility=hidden'

The -fvisibility=hidden option minimizes the number of symbols in our
libraries and reduces startup latency for every one of our PLplot
examples so it should be an efficiency win for these comprehensive
tests to some degree although I haven't checked how much.  The -O3
optimization makes the builds longer but the tests shorter.  My
feeling is it will be a net efficiency win, but I haven't checked that.

I also then put the cmake version I want to test on my PATH then run

scripts/comprehensive_test.sh \
--cmake_added_options '-DPLD_pdf=ON -G "Unix Makefiles"' \
--build_command 'make -j4'

The --build_command option is mandatory and allows users to specify
any make parallel build options that are optimum for their system.
(-j4 for GNU make seems to be pretty efficient for my own two-cpu
Intel core duo system.) The --build_command option theoretically (not
tested yet) also allows some other build command such as nmake to be
used on Windows systems with bash (either winbash or MSYS bash)
installed.

The -G "Unix Makefiles" part of the above illustrates how to specify a
cmake generator, but it is, of course, redundant on Linux since that is
the default cmake generator.

I specified the -DPLD_pdf=ON option above because I wanted to test
that non-default driver.  (It is still non-default because of problems
with the vanilla libharu library upon which it is based, but I have
patched the libharu build following instructions in
cmake/external/libharu/README.libharu so I can specify -DPLD_pdf=ON in
this case without introducing test errors.)

WARNING, by default to above test is comprehensive (as its name
implies).  For each of the three major build configurations (shared
library/dynamic devices, shared library/nondynamic devices, and static
library/nondynamic devices) it does 7 major tests (ctest,
test_noninterative, and test_interactive in the build tree;
test_noninterative, and test_interactive in the installed examples
tree with the cmake-based build system there; and test_noninterative,
and test_interactive in the installed examples tree using the
traditional (Makefile + pkg_config) build system there. The 4
non-interactive tests for the 3 major build configurations consumes
something like 25GB of disk space for all the plotted file results so
only those with sufficient spare disk space should run this script.

Also, the point of the interactive part of these tests (run after the
noninteractive part is completed for each of the three major
configurations) is simply to check for any major errors (segfaults and
the like) with all the configured interactive device drivers and
interactive environments).  So to avoid driving you mad by doing lots
of clicking to get through these tests, I have used the -np (no pause)
option wherever I could.  So an awful lot of different interactive
plots scream by when running these tests so don't expect to use them
to check for any subtle rendering issues.

For both the non-interactive and interactive part of this testing any
major errors (e.g., segfaults) are stored in the *.out files the above
script collects.  So after the script completes you can test for such
major errors in both the noninteractive and interactive testing as follows:

softw...@raven> grep -i error \
comprehensive_test_disposeable/*/output_tree/*.out
comprehensive_test_disposeable/nondynamic/output_tree/traditional_make_interactive.out:All
interactive tests completed without major errors
comprehensive_test_disposeable/shared/output_tree/traditional_make_interactive.out:All
interactive tests completed without major errors
comprehensive_test_disposeable/static/output_tree/traditional_make_interactive.out:All
interactive tests completed without major errors

Last night I completed the above test for cmake-2.8.2 with no major
errors revealed by the above grep statement.  I am currently going
through the whole process again with cmake-2.6.4.  (Testing for two
different versions of cmake is overkill for most testers, but I felt
it should be done by at least one tester like me for due diligence
until we bump our minimum CMake version to 2.8.x.) I fully expect
those cmake-2.6.4 results to also be good, and in any case I intend to
report all 42 major tests using the simple table at
http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot.
If I have time before the release I may also try running the
comprehensive test script with -G "MSYS Makefiles" for MinGW/MSYS
under Wine and, of course, reporting the results on our Wiki as well.

No one tester can test all combinations of cmake options and build
platforms so I invite anyone else wanting to help out with testing
this release to run the script (which by default does 21 major tests)
on our svn trunk version (what is about to become 5.9.7) and report
the results at the above page on our wiki.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to