The script scripts/comprehensive_test.sh is a convenient means to do
comprehensive testing of PLplot for all platforms where bash and make
are accessible (e.g., Linux, Mac OS X, and MinGW/MSYS on Windows or
Wine).

For each of the three principal PLplot configurations, this script
runs all 7 of our fundamental tests.  Those three configurations are
(1) shared library/dynamic devices (denoted below as "shared"); (2)
shared library/nondynamic devices (denoted below as "nondynamic"); and
(3) static library/nondynamic devices (denoted below as "static").
The 7 fundamental tests consist of running ctest in the build tree and
running the make targets test_noninteractive and test_interactive in
(1) the build tree; (2) the installed examples tree with cmake build
system; and (3) the installed examples tree with traditional (Makefile
+ pkg-config) build system.

I have used this script to do comprehensive testing of PLplot on my
Debian testing platform using CMake-2.8.2.  There were no obvious
errors in the results _after_ I fixed (as of revision 11147) the
bit-rot that had set in for the traditional build system for the
installed examples which I last tested a couple of years ago. I have
reported these excellent comprehensive test results at
http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot#Testing_Reports.
I plan to bump our minimum version of CMake to 2.8.2 as soon as that
version has propagated to most Linux distributions so I haven't
bothered with CMake-2.6.4 testing.  However, I will leave my old 2.6.4
reports at the wiki until I do bump that minimum version.

You run the script as follows:

scripts/comprehensive_test.sh

with no options (as of yet).  It creates a
comprehensive_test_disposeable directory in the source tree where all
build-tree, install-tree, and output results are stored.  Here are the
*.out files that are produced for the shared configuration:

softw...@raven> find comprehensive_test_disposeable/shared/output_tree -type f
comprehensive_test_disposeable/shared/output_tree/ctest.out
comprehensive_test_disposeable/shared/output_tree/make_interactive.out
comprehensive_test_disposeable/shared/output_tree/make_install.out
comprehensive_test_disposeable/shared/output_tree/installed_make_noninteractive.out
comprehensive_test_disposeable/shared/output_tree/traditional_make_noninteractive.out
comprehensive_test_disposeable/shared/output_tree/installed_cmake.out
comprehensive_test_disposeable/shared/output_tree/traditional_make_interactive.out
comprehensive_test_disposeable/shared/output_tree/cmake.out
comprehensive_test_disposeable/shared/output_tree/make_noninteractive.out
comprehensive_test_disposeable/shared/output_tree/installed_make_interactive.out

with similar results for the nondynamic and static configuration cases.

You should check each output file for error messages 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

You should also look at each of the various ctest.out and *non_interactive.out
files for the list of PostScript differences.  An easy way to do this is

less `find comprehensive_test_disposeable -name "ctest.out" -o -name \
"*noninteractive.out*"`

while using the ":n" or ":p" less commands to move between those 12
files (one ctest.out and three *noninteractive.out files for the
three configurations).

The script is careful to remove each output file or directory right
before it is actually regenerated so there is no need to do any
special cleanup before running the script. However, if you want to
clean up afterward (because a lot of disk space is involved) you can
always just remove the comprehensive_test_disposeable directory. I did
that before thinking I should look at the disk space involved.
However, it must be roughly something like 20-30 GB since 12
noninteractive tests are run altogether, and some of those may produce
as much as 2 GB of plot files.  Currently, I personally don't have to
worry about disk space because I have ~100GB of free disk space that I
can use, but others may not be in such a happy position.

So far I have only tested the script on Linux, but I think it should
also work fine on Mac OS X and MinGW/MSYS.  So I urge all those with
access to those platforms (_and lots of disk space_) to try the script.
Note, the interactive part of the script runs at the end of each type
of configuration so you will tend to get three separate bursts of
interactivity (with annoying GUI's to click to move things forward in
a small subset of the cases) separated by quiet times when the
noninteractive tests are being done.

After you have run the script and checked the results using the
commands discussed above, please post a summary of those comprehensive
test results at 
http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot#Testing_Reports.

Also, if anybody spots issues in scripts/comprehensive_test.sh for
their platform, please let me know (or commit the appropriate fix).

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
__________________________

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to