
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.miscdebris.net/plplot_wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hbabcock</id>
		<title>PLplotWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.miscdebris.net/plplot_wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hbabcock"/>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Special:Contributions/Hbabcock"/>
		<updated>2026-04-30T04:22:38Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.4</generator>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2269</id>
		<title>Testing PLplot</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2269"/>
				<updated>2010-05-26T20:48:55Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: /* Testing Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We encourage those who build PLplot to test both their build-tree version and their installed-examples-tree version and report any problems back to either the plplot-general or plplot-devel mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Testing Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
The legacy test for the build tree requires ctest (available as part of CMake) and bash on Unix systems or [http://win-bash.sourceforge.net/ win-bash] on Windows.  The legacy test for the installed examples tree works only on Unix (Linux, Mac OS X, and presumably legacy Unix) and requires GNU-bash, make, and pkg-config.&lt;br /&gt;
&lt;br /&gt;
In contrast to our legacy testing system, the new testing framework is essentially identical for both the build tree and installed examples tree.  It just requires CMake (using any generator that is suitable for the Unix or Windows platform that is being used for the test), and bash on Unix or win-bash on Windows.&lt;br /&gt;
&lt;br /&gt;
=== Build-tree tests ===&lt;br /&gt;
&lt;br /&gt;
Build-tree tests can only be performed if cmake is invoked with the -DBUILD_TEST=ON option.  Such tests are done from the top-level directory of the build tree (the directory where you invoke cmake command that configures the build of PLplot).  The methods for invoking these tests are given below both for the legacy and new testing methods.  These tests include executing all our 31 standard examples for all language interfaces and non-interactive device drivers that we currently support.  This is a comprehensive test of the PLplot build.  For example, our standard examples exercise virtually all of the PLplot API.  Furthermore, this series of tests generates more than 2GB of plot files in various formats.  The tests also include&lt;br /&gt;
a comparison of PostScript (-dev psc) results and stdout from each language interface to PLplot with the corresponding results for C.  In general, these results are identical which is a stringent test of our language bindings. (Note it is the user&amp;#039;s responsibility to insure the locales are consistent for all languages since inconsistent locales can produce inconsistent stdout results which have nothing to do with PLplot bindings or examples issues.)&lt;br /&gt;
&lt;br /&gt;
You should search test results for obvious errors such as segfaults.  In addition, you can test for rendering errors by viewing the file results using an appropriate viewer.  &lt;br /&gt;
&lt;br /&gt;
Results for -dev psc are a special case.  To illustrate this, here are typical -dev psc results for example 1.&lt;br /&gt;
&lt;br /&gt;
x01a.psc, x01c.psc, x01cxx.psc, x01d.psc, x01f.psc, x01f95.psc, x01j.psc, x01lua.psc, x01o.psc, x01ocaml.psc, x01p.psc, x01pdl.psc, and x01t.psc.&lt;br /&gt;
&lt;br /&gt;
These correspond to Ada, C, C++, D, Fortran 77, Fortran 95, Java, Lua, Octave, OCaml, Python, Perl/PDL, and Tcl -dev psc (colour PostScript) results for our standard example 1. The test referred to above compares everything in this list, but x01c.psc against that file so rendering errors only need to be looked for in x01c.psc (with your favorite Postscript viewing application), and any of these files which the report shows are different from x01c.psc. And similarly for the -dev psc results for the rest of our 31 standard examples.&lt;br /&gt;
&lt;br /&gt;
Here are typical plot file results from our standard example 1 for devices other than -dev psc.&lt;br /&gt;
&lt;br /&gt;
x01c.pdfcairo, x01c.ps, x01c.psttf, x01c.psttfc, x01c01.bmpqt, x01c01.epsqt, x01c01.jpgqt, x01c01.pdfqt, x01c01.pngcairo, x01c01.pngqt, x01c01.ppmqt, x01c01.svg, x01c01.svgcairo, x01c01.svgqt, x01c01.tiffqt, and x01c01.xfig.&lt;br /&gt;
&lt;br /&gt;
Since different devices are involved in all cases, these should be looked at individually for rendering errors (and similarly for the remaining 31 standard examples).  Note such visual inspection is a huge job so we certainly don&amp;#039;t expect it of our testers very often, but once every year or so and especially for newer examples that haven&amp;#039;t been checked before is worth doing.  On Unix platforms a general all-purpose viewer for all these file formats is the ImageMagick display application.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of legacy tests in the build tree ====&lt;br /&gt;
&lt;br /&gt;
After running &amp;quot;make all&amp;quot; from the top-level of the build tree, then run&lt;br /&gt;
&lt;br /&gt;
 ctest --verbose &amp;gt;&amp;amp; ctest.out&lt;br /&gt;
&lt;br /&gt;
This creates test plot file results in the plplot-test subdirectory of the build tree, and ctest.out should contain a table of comparisons of Postscript results from each of our standard examples and each of our language bindings against the corresponding C versions.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of tests in the build tree using the new testing framework ====&lt;br /&gt;
&lt;br /&gt;
One advantage of the new testing framework is that it has full dependencies implemented (unlike ctest which requires &amp;quot;make all&amp;quot; to be run first).  &lt;br /&gt;
&lt;br /&gt;
A second advantage of the new testing framework is that for Generators with parallel execution ability, you can save a lot of time on hardware with more than one cpu by using the parallel execution options (e.g., the -j option for GNU make).  &lt;br /&gt;
&lt;br /&gt;
A final advantage of the new testing framework is the tests are finer grained.  To see all the tests that are possible run&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
(On platforms with CMake generators other than make, you will have to do something equivalent to this search to find all test targets.)  &lt;br /&gt;
&lt;br /&gt;
Three comprehensive test targets are test_diff_psc, test_noninteractive and test_interactive.&lt;br /&gt;
&lt;br /&gt;
test_diff_psc generates all -dev psc results and compares them with the same report that is obtained from ctest.  Note this target excludes anything but -dev psc results.&lt;br /&gt;
&lt;br /&gt;
test_noninteractive runs test_diff_psc as well as every other PLplot example that produces a file.  (Note that test_noninteractive is somewhat more comprehensive than legacy ctest and considerably more comprehensive than the test_diff_psc target.)&lt;br /&gt;
&lt;br /&gt;
test_interactive runs all interactive devices for the standard C examples as well as all special interactive examples.  Very little user-intervention is required to run these tests because, where possible, the PLplot -np (no-pause) command-line option is used for these tests.&lt;br /&gt;
&lt;br /&gt;
=== Tests of the PLplot installation ===&lt;br /&gt;
&lt;br /&gt;
After PLplot has been configured (with &amp;quot;cmake&amp;quot;), built (with &amp;quot;make&amp;quot;), and installed (with &amp;quot;make install&amp;quot;), you can test the installation using a legacy test system (implemented with Make, pkg-config, and GNU-bash) or our new test framework (implemented with CMake and bash [or win-bash]).&lt;br /&gt;
&lt;br /&gt;
==== Legacy tests (Unix-only) of the PLplot installation ====&lt;br /&gt;
&lt;br /&gt;
You can test the PLplot installation on Unix systems by doing the following commands:&lt;br /&gt;
&lt;br /&gt;
 cp -a $prefix/share/plplot$plplot_version/examples /tmp&lt;br /&gt;
 cd /tmp/examples&lt;br /&gt;
 make test_noninteractive &amp;gt;&amp;amp; make_test.out&lt;br /&gt;
 make test_interactive&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;$prefix&amp;quot; is the installation prefix chosen at the configuration stage, and $plplot_version is the PLplot version (currently 5.9.4).  The effect of the above &amp;quot;cp&amp;quot; and &amp;quot;cd&amp;quot; commands is to copy the examples subtree of the install tree to /tmp and build and test the examples in the copied subtree to keep a clean install tree.  However, an alternative is to replace those two commands with&lt;br /&gt;
&lt;br /&gt;
 cd $prefix/share/plplot$plplot_version/examples&lt;br /&gt;
&lt;br /&gt;
and build and test the install-tree examples right in the examples subtree of the install tree with the above &amp;quot;make&amp;quot; commands.&lt;br /&gt;
&lt;br /&gt;
Regardless of whether you build and test the examples in a copy of the examples subtree of the install tree or directly in that subtree, check all the *.out files for any errors.  &lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_noninteractive&amp;quot; command does the same tests for the installed PLplot version as ctest does for the build-tree version of PLplot. Although the tests are the same, the Makefile implementation is different from the ctest implementation in the build tree so that in particular you can do these install tree tests in parallel using the (GNU-)make -j option to greatly speed up these tests on a multi-processor computer.  However, since make is required for this installed-examples implementation, it cannot be run on Windows.&lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_interactive&amp;quot; command executes our interactive examples.  The results are similar to those of the test_interactive target implemented with our new test framework, but the implementation is very different (depending on a GNU-bash script rather than standard CMake cross-platform commands).&lt;br /&gt;
&lt;br /&gt;
==== Cross-platform tests of the PLplot installation using the new test framework ====&lt;br /&gt;
&lt;br /&gt;
Here is an example under Unix of how to test the PLplot installation using the new testing framework.  &lt;br /&gt;
(Those using Windows platforms should be able to infer the equivalent of these commands.)&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/build_dir&lt;br /&gt;
 cd /tmp/build_dir&lt;br /&gt;
 cmake $prefix/share/plplot$plplot_version/examples &lt;br /&gt;
 make -j4 test_diff_psc &amp;gt;&amp;amp; make_test_diff_psc.out&lt;br /&gt;
 make -j4 test_noninteractive &amp;gt;&amp;amp; make_test_noninteractive.out&lt;br /&gt;
 make -j4 test_interactive &amp;gt;&amp;amp; make_test_interactive.out&lt;br /&gt;
&lt;br /&gt;
Note these targets are essentially identical to the targets described above for the new test framework for the build tree because the same bash (or win-bash) scripts and essentially the same CMake logic is used to set up these targets.  Similarly, all other fine-grained targets (which you can discover using the&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
command) for the new test framework are available in this context as well.  N.B. the test_noninteractive and test_interactive targets available here are more comprehensive than the same-named targets in the legacy installation test case and are implemented in a quite different (cross-platform) way with much&lt;br /&gt;
better dependencies.&lt;br /&gt;
&lt;br /&gt;
===Testing Reports===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Table of test reports for PLplot&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Tester !! PLplot revision !! CMake version !! Platform &lt;br /&gt;
|-&lt;br /&gt;
! Pango/Cairo version !! Qt version !! Shared libraries? !! Dynamic drivers?&lt;br /&gt;
|-&lt;br /&gt;
! Build? !! test_ noninteractive? !! test_ interactive? !! ctest?&lt;br /&gt;
|-&lt;br /&gt;
! Traditional Installed examples? !! test_ noninteractive? !! test_ interactive?&lt;br /&gt;
|-&lt;br /&gt;
! CMake-based Installed examples? !! test_ noninteractive? !! test_ interactive? !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Hazen Babcock || 11019 || 2.6.4 || Ubuntu Intrepid&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.2 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|no || no || no || a B C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing notes (lower case notes concern configuration and build options while upper case notes concern errors):&lt;br /&gt;
&lt;br /&gt;
a. Testing done on 64-bit (AMD64) hardware.&lt;br /&gt;
&lt;br /&gt;
b. Used parallel make option (-j4) for all builds, installs, and test targets.&lt;br /&gt;
&lt;br /&gt;
c. All suitable dependent libraries have been installed on the system so there are no device drivers from the default list for this platform that are missing from this test.  &lt;br /&gt;
&lt;br /&gt;
d. All compilers and bindings-related development packages have been installed on the system so there are no bindings that are missing from this test.&lt;br /&gt;
&lt;br /&gt;
e. Java, Python, Octave, Perl/PDL, LUA, and OCaml bindings/examples require shared PLplot libraries in order to work so were not available for testing for this static PLplot libraries case.&lt;br /&gt;
&lt;br /&gt;
A. No obvious configure, build, or install errors.  No run-time errors in tests other than those noted in additional &amp;quot;upper-case&amp;quot; notes (if any).&lt;br /&gt;
&lt;br /&gt;
B. test_noninteractive hangs at unpredictable points in the Qt device driver tests.&lt;br /&gt;
&lt;br /&gt;
C. We also see this bug in Qt 4.6.2 - http://bugreports.qt.nokia.com/browse/QTBUG-8537&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2268</id>
		<title>Testing PLplot</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2268"/>
				<updated>2010-05-26T20:48:12Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: /* Testing Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We encourage those who build PLplot to test both their build-tree version and their installed-examples-tree version and report any problems back to either the plplot-general or plplot-devel mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Testing Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
The legacy test for the build tree requires ctest (available as part of CMake) and bash on Unix systems or [http://win-bash.sourceforge.net/ win-bash] on Windows.  The legacy test for the installed examples tree works only on Unix (Linux, Mac OS X, and presumably legacy Unix) and requires GNU-bash, make, and pkg-config.&lt;br /&gt;
&lt;br /&gt;
In contrast to our legacy testing system, the new testing framework is essentially identical for both the build tree and installed examples tree.  It just requires CMake (using any generator that is suitable for the Unix or Windows platform that is being used for the test), and bash on Unix or win-bash on Windows.&lt;br /&gt;
&lt;br /&gt;
=== Build-tree tests ===&lt;br /&gt;
&lt;br /&gt;
Build-tree tests can only be performed if cmake is invoked with the -DBUILD_TEST=ON option.  Such tests are done from the top-level directory of the build tree (the directory where you invoke cmake command that configures the build of PLplot).  The methods for invoking these tests are given below both for the legacy and new testing methods.  These tests include executing all our 31 standard examples for all language interfaces and non-interactive device drivers that we currently support.  This is a comprehensive test of the PLplot build.  For example, our standard examples exercise virtually all of the PLplot API.  Furthermore, this series of tests generates more than 2GB of plot files in various formats.  The tests also include&lt;br /&gt;
a comparison of PostScript (-dev psc) results and stdout from each language interface to PLplot with the corresponding results for C.  In general, these results are identical which is a stringent test of our language bindings. (Note it is the user&amp;#039;s responsibility to insure the locales are consistent for all languages since inconsistent locales can produce inconsistent stdout results which have nothing to do with PLplot bindings or examples issues.)&lt;br /&gt;
&lt;br /&gt;
You should search test results for obvious errors such as segfaults.  In addition, you can test for rendering errors by viewing the file results using an appropriate viewer.  &lt;br /&gt;
&lt;br /&gt;
Results for -dev psc are a special case.  To illustrate this, here are typical -dev psc results for example 1.&lt;br /&gt;
&lt;br /&gt;
x01a.psc, x01c.psc, x01cxx.psc, x01d.psc, x01f.psc, x01f95.psc, x01j.psc, x01lua.psc, x01o.psc, x01ocaml.psc, x01p.psc, x01pdl.psc, and x01t.psc.&lt;br /&gt;
&lt;br /&gt;
These correspond to Ada, C, C++, D, Fortran 77, Fortran 95, Java, Lua, Octave, OCaml, Python, Perl/PDL, and Tcl -dev psc (colour PostScript) results for our standard example 1. The test referred to above compares everything in this list, but x01c.psc against that file so rendering errors only need to be looked for in x01c.psc (with your favorite Postscript viewing application), and any of these files which the report shows are different from x01c.psc. And similarly for the -dev psc results for the rest of our 31 standard examples.&lt;br /&gt;
&lt;br /&gt;
Here are typical plot file results from our standard example 1 for devices other than -dev psc.&lt;br /&gt;
&lt;br /&gt;
x01c.pdfcairo, x01c.ps, x01c.psttf, x01c.psttfc, x01c01.bmpqt, x01c01.epsqt, x01c01.jpgqt, x01c01.pdfqt, x01c01.pngcairo, x01c01.pngqt, x01c01.ppmqt, x01c01.svg, x01c01.svgcairo, x01c01.svgqt, x01c01.tiffqt, and x01c01.xfig.&lt;br /&gt;
&lt;br /&gt;
Since different devices are involved in all cases, these should be looked at individually for rendering errors (and similarly for the remaining 31 standard examples).  Note such visual inspection is a huge job so we certainly don&amp;#039;t expect it of our testers very often, but once every year or so and especially for newer examples that haven&amp;#039;t been checked before is worth doing.  On Unix platforms a general all-purpose viewer for all these file formats is the ImageMagick display application.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of legacy tests in the build tree ====&lt;br /&gt;
&lt;br /&gt;
After running &amp;quot;make all&amp;quot; from the top-level of the build tree, then run&lt;br /&gt;
&lt;br /&gt;
 ctest --verbose &amp;gt;&amp;amp; ctest.out&lt;br /&gt;
&lt;br /&gt;
This creates test plot file results in the plplot-test subdirectory of the build tree, and ctest.out should contain a table of comparisons of Postscript results from each of our standard examples and each of our language bindings against the corresponding C versions.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of tests in the build tree using the new testing framework ====&lt;br /&gt;
&lt;br /&gt;
One advantage of the new testing framework is that it has full dependencies implemented (unlike ctest which requires &amp;quot;make all&amp;quot; to be run first).  &lt;br /&gt;
&lt;br /&gt;
A second advantage of the new testing framework is that for Generators with parallel execution ability, you can save a lot of time on hardware with more than one cpu by using the parallel execution options (e.g., the -j option for GNU make).  &lt;br /&gt;
&lt;br /&gt;
A final advantage of the new testing framework is the tests are finer grained.  To see all the tests that are possible run&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
(On platforms with CMake generators other than make, you will have to do something equivalent to this search to find all test targets.)  &lt;br /&gt;
&lt;br /&gt;
Three comprehensive test targets are test_diff_psc, test_noninteractive and test_interactive.&lt;br /&gt;
&lt;br /&gt;
test_diff_psc generates all -dev psc results and compares them with the same report that is obtained from ctest.  Note this target excludes anything but -dev psc results.&lt;br /&gt;
&lt;br /&gt;
test_noninteractive runs test_diff_psc as well as every other PLplot example that produces a file.  (Note that test_noninteractive is somewhat more comprehensive than legacy ctest and considerably more comprehensive than the test_diff_psc target.)&lt;br /&gt;
&lt;br /&gt;
test_interactive runs all interactive devices for the standard C examples as well as all special interactive examples.  Very little user-intervention is required to run these tests because, where possible, the PLplot -np (no-pause) command-line option is used for these tests.&lt;br /&gt;
&lt;br /&gt;
=== Tests of the PLplot installation ===&lt;br /&gt;
&lt;br /&gt;
After PLplot has been configured (with &amp;quot;cmake&amp;quot;), built (with &amp;quot;make&amp;quot;), and installed (with &amp;quot;make install&amp;quot;), you can test the installation using a legacy test system (implemented with Make, pkg-config, and GNU-bash) or our new test framework (implemented with CMake and bash [or win-bash]).&lt;br /&gt;
&lt;br /&gt;
==== Legacy tests (Unix-only) of the PLplot installation ====&lt;br /&gt;
&lt;br /&gt;
You can test the PLplot installation on Unix systems by doing the following commands:&lt;br /&gt;
&lt;br /&gt;
 cp -a $prefix/share/plplot$plplot_version/examples /tmp&lt;br /&gt;
 cd /tmp/examples&lt;br /&gt;
 make test_noninteractive &amp;gt;&amp;amp; make_test.out&lt;br /&gt;
 make test_interactive&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;$prefix&amp;quot; is the installation prefix chosen at the configuration stage, and $plplot_version is the PLplot version (currently 5.9.4).  The effect of the above &amp;quot;cp&amp;quot; and &amp;quot;cd&amp;quot; commands is to copy the examples subtree of the install tree to /tmp and build and test the examples in the copied subtree to keep a clean install tree.  However, an alternative is to replace those two commands with&lt;br /&gt;
&lt;br /&gt;
 cd $prefix/share/plplot$plplot_version/examples&lt;br /&gt;
&lt;br /&gt;
and build and test the install-tree examples right in the examples subtree of the install tree with the above &amp;quot;make&amp;quot; commands.&lt;br /&gt;
&lt;br /&gt;
Regardless of whether you build and test the examples in a copy of the examples subtree of the install tree or directly in that subtree, check all the *.out files for any errors.  &lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_noninteractive&amp;quot; command does the same tests for the installed PLplot version as ctest does for the build-tree version of PLplot. Although the tests are the same, the Makefile implementation is different from the ctest implementation in the build tree so that in particular you can do these install tree tests in parallel using the (GNU-)make -j option to greatly speed up these tests on a multi-processor computer.  However, since make is required for this installed-examples implementation, it cannot be run on Windows.&lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_interactive&amp;quot; command executes our interactive examples.  The results are similar to those of the test_interactive target implemented with our new test framework, but the implementation is very different (depending on a GNU-bash script rather than standard CMake cross-platform commands).&lt;br /&gt;
&lt;br /&gt;
==== Cross-platform tests of the PLplot installation using the new test framework ====&lt;br /&gt;
&lt;br /&gt;
Here is an example under Unix of how to test the PLplot installation using the new testing framework.  &lt;br /&gt;
(Those using Windows platforms should be able to infer the equivalent of these commands.)&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/build_dir&lt;br /&gt;
 cd /tmp/build_dir&lt;br /&gt;
 cmake $prefix/share/plplot$plplot_version/examples &lt;br /&gt;
 make -j4 test_diff_psc &amp;gt;&amp;amp; make_test_diff_psc.out&lt;br /&gt;
 make -j4 test_noninteractive &amp;gt;&amp;amp; make_test_noninteractive.out&lt;br /&gt;
 make -j4 test_interactive &amp;gt;&amp;amp; make_test_interactive.out&lt;br /&gt;
&lt;br /&gt;
Note these targets are essentially identical to the targets described above for the new test framework for the build tree because the same bash (or win-bash) scripts and essentially the same CMake logic is used to set up these targets.  Similarly, all other fine-grained targets (which you can discover using the&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
command) for the new test framework are available in this context as well.  N.B. the test_noninteractive and test_interactive targets available here are more comprehensive than the same-named targets in the legacy installation test case and are implemented in a quite different (cross-platform) way with much&lt;br /&gt;
better dependencies.&lt;br /&gt;
&lt;br /&gt;
===Testing Reports===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Table of test reports for PLplot&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Tester !! PLplot revision !! CMake version !! Platform &lt;br /&gt;
|-&lt;br /&gt;
! Pango/Cairo version !! Qt version !! Shared libraries? !! Dynamic drivers?&lt;br /&gt;
|-&lt;br /&gt;
! Build? !! test_ noninteractive? !! test_ interactive? !! ctest?&lt;br /&gt;
|-&lt;br /&gt;
! Traditional Installed examples? !! test_ noninteractive? !! test_ interactive?&lt;br /&gt;
|-&lt;br /&gt;
! CMake-based Installed examples? !! test_ noninteractive? !! test_ interactive? !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Hazen Babcock || 11019 || 2.6.4 || Ubuntu Intrepid&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.2 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || a B C&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing notes (lower case notes concern configuration and build options while upper case notes concern errors):&lt;br /&gt;
&lt;br /&gt;
a. Testing done on 64-bit (AMD64) hardware.&lt;br /&gt;
&lt;br /&gt;
b. Used parallel make option (-j4) for all builds, installs, and test targets.&lt;br /&gt;
&lt;br /&gt;
c. All suitable dependent libraries have been installed on the system so there are no device drivers from the default list for this platform that are missing from this test.  &lt;br /&gt;
&lt;br /&gt;
d. All compilers and bindings-related development packages have been installed on the system so there are no bindings that are missing from this test.&lt;br /&gt;
&lt;br /&gt;
e. Java, Python, Octave, Perl/PDL, LUA, and OCaml bindings/examples require shared PLplot libraries in order to work so were not available for testing for this static PLplot libraries case.&lt;br /&gt;
&lt;br /&gt;
A. No obvious configure, build, or install errors.  No run-time errors in tests other than those noted in additional &amp;quot;upper-case&amp;quot; notes (if any).&lt;br /&gt;
&lt;br /&gt;
B. test_noninteractive hangs at unpredictable points in the Qt device driver tests.&lt;br /&gt;
&lt;br /&gt;
C. We also see this bug in Qt 4.6.2 - http://bugreports.qt.nokia.com/browse/QTBUG-8537&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2267</id>
		<title>Testing PLplot</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2267"/>
				<updated>2010-05-26T20:46:11Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: /* Testing Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We encourage those who build PLplot to test both their build-tree version and their installed-examples-tree version and report any problems back to either the plplot-general or plplot-devel mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Testing Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
The legacy test for the build tree requires ctest (available as part of CMake) and bash on Unix systems or [http://win-bash.sourceforge.net/ win-bash] on Windows.  The legacy test for the installed examples tree works only on Unix (Linux, Mac OS X, and presumably legacy Unix) and requires GNU-bash, make, and pkg-config.&lt;br /&gt;
&lt;br /&gt;
In contrast to our legacy testing system, the new testing framework is essentially identical for both the build tree and installed examples tree.  It just requires CMake (using any generator that is suitable for the Unix or Windows platform that is being used for the test), and bash on Unix or win-bash on Windows.&lt;br /&gt;
&lt;br /&gt;
=== Build-tree tests ===&lt;br /&gt;
&lt;br /&gt;
Build-tree tests can only be performed if cmake is invoked with the -DBUILD_TEST=ON option.  Such tests are done from the top-level directory of the build tree (the directory where you invoke cmake command that configures the build of PLplot).  The methods for invoking these tests are given below both for the legacy and new testing methods.  These tests include executing all our 31 standard examples for all language interfaces and non-interactive device drivers that we currently support.  This is a comprehensive test of the PLplot build.  For example, our standard examples exercise virtually all of the PLplot API.  Furthermore, this series of tests generates more than 2GB of plot files in various formats.  The tests also include&lt;br /&gt;
a comparison of PostScript (-dev psc) results and stdout from each language interface to PLplot with the corresponding results for C.  In general, these results are identical which is a stringent test of our language bindings. (Note it is the user&amp;#039;s responsibility to insure the locales are consistent for all languages since inconsistent locales can produce inconsistent stdout results which have nothing to do with PLplot bindings or examples issues.)&lt;br /&gt;
&lt;br /&gt;
You should search test results for obvious errors such as segfaults.  In addition, you can test for rendering errors by viewing the file results using an appropriate viewer.  &lt;br /&gt;
&lt;br /&gt;
Results for -dev psc are a special case.  To illustrate this, here are typical -dev psc results for example 1.&lt;br /&gt;
&lt;br /&gt;
x01a.psc, x01c.psc, x01cxx.psc, x01d.psc, x01f.psc, x01f95.psc, x01j.psc, x01lua.psc, x01o.psc, x01ocaml.psc, x01p.psc, x01pdl.psc, and x01t.psc.&lt;br /&gt;
&lt;br /&gt;
These correspond to Ada, C, C++, D, Fortran 77, Fortran 95, Java, Lua, Octave, OCaml, Python, Perl/PDL, and Tcl -dev psc (colour PostScript) results for our standard example 1. The test referred to above compares everything in this list, but x01c.psc against that file so rendering errors only need to be looked for in x01c.psc (with your favorite Postscript viewing application), and any of these files which the report shows are different from x01c.psc. And similarly for the -dev psc results for the rest of our 31 standard examples.&lt;br /&gt;
&lt;br /&gt;
Here are typical plot file results from our standard example 1 for devices other than -dev psc.&lt;br /&gt;
&lt;br /&gt;
x01c.pdfcairo, x01c.ps, x01c.psttf, x01c.psttfc, x01c01.bmpqt, x01c01.epsqt, x01c01.jpgqt, x01c01.pdfqt, x01c01.pngcairo, x01c01.pngqt, x01c01.ppmqt, x01c01.svg, x01c01.svgcairo, x01c01.svgqt, x01c01.tiffqt, and x01c01.xfig.&lt;br /&gt;
&lt;br /&gt;
Since different devices are involved in all cases, these should be looked at individually for rendering errors (and similarly for the remaining 31 standard examples).  Note such visual inspection is a huge job so we certainly don&amp;#039;t expect it of our testers very often, but once every year or so and especially for newer examples that haven&amp;#039;t been checked before is worth doing.  On Unix platforms a general all-purpose viewer for all these file formats is the ImageMagick display application.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of legacy tests in the build tree ====&lt;br /&gt;
&lt;br /&gt;
After running &amp;quot;make all&amp;quot; from the top-level of the build tree, then run&lt;br /&gt;
&lt;br /&gt;
 ctest --verbose &amp;gt;&amp;amp; ctest.out&lt;br /&gt;
&lt;br /&gt;
This creates test plot file results in the plplot-test subdirectory of the build tree, and ctest.out should contain a table of comparisons of Postscript results from each of our standard examples and each of our language bindings against the corresponding C versions.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of tests in the build tree using the new testing framework ====&lt;br /&gt;
&lt;br /&gt;
One advantage of the new testing framework is that it has full dependencies implemented (unlike ctest which requires &amp;quot;make all&amp;quot; to be run first).  &lt;br /&gt;
&lt;br /&gt;
A second advantage of the new testing framework is that for Generators with parallel execution ability, you can save a lot of time on hardware with more than one cpu by using the parallel execution options (e.g., the -j option for GNU make).  &lt;br /&gt;
&lt;br /&gt;
A final advantage of the new testing framework is the tests are finer grained.  To see all the tests that are possible run&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
(On platforms with CMake generators other than make, you will have to do something equivalent to this search to find all test targets.)  &lt;br /&gt;
&lt;br /&gt;
Three comprehensive test targets are test_diff_psc, test_noninteractive and test_interactive.&lt;br /&gt;
&lt;br /&gt;
test_diff_psc generates all -dev psc results and compares them with the same report that is obtained from ctest.  Note this target excludes anything but -dev psc results.&lt;br /&gt;
&lt;br /&gt;
test_noninteractive runs test_diff_psc as well as every other PLplot example that produces a file.  (Note that test_noninteractive is somewhat more comprehensive than legacy ctest and considerably more comprehensive than the test_diff_psc target.)&lt;br /&gt;
&lt;br /&gt;
test_interactive runs all interactive devices for the standard C examples as well as all special interactive examples.  Very little user-intervention is required to run these tests because, where possible, the PLplot -np (no-pause) command-line option is used for these tests.&lt;br /&gt;
&lt;br /&gt;
=== Tests of the PLplot installation ===&lt;br /&gt;
&lt;br /&gt;
After PLplot has been configured (with &amp;quot;cmake&amp;quot;), built (with &amp;quot;make&amp;quot;), and installed (with &amp;quot;make install&amp;quot;), you can test the installation using a legacy test system (implemented with Make, pkg-config, and GNU-bash) or our new test framework (implemented with CMake and bash [or win-bash]).&lt;br /&gt;
&lt;br /&gt;
==== Legacy tests (Unix-only) of the PLplot installation ====&lt;br /&gt;
&lt;br /&gt;
You can test the PLplot installation on Unix systems by doing the following commands:&lt;br /&gt;
&lt;br /&gt;
 cp -a $prefix/share/plplot$plplot_version/examples /tmp&lt;br /&gt;
 cd /tmp/examples&lt;br /&gt;
 make test_noninteractive &amp;gt;&amp;amp; make_test.out&lt;br /&gt;
 make test_interactive&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;$prefix&amp;quot; is the installation prefix chosen at the configuration stage, and $plplot_version is the PLplot version (currently 5.9.4).  The effect of the above &amp;quot;cp&amp;quot; and &amp;quot;cd&amp;quot; commands is to copy the examples subtree of the install tree to /tmp and build and test the examples in the copied subtree to keep a clean install tree.  However, an alternative is to replace those two commands with&lt;br /&gt;
&lt;br /&gt;
 cd $prefix/share/plplot$plplot_version/examples&lt;br /&gt;
&lt;br /&gt;
and build and test the install-tree examples right in the examples subtree of the install tree with the above &amp;quot;make&amp;quot; commands.&lt;br /&gt;
&lt;br /&gt;
Regardless of whether you build and test the examples in a copy of the examples subtree of the install tree or directly in that subtree, check all the *.out files for any errors.  &lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_noninteractive&amp;quot; command does the same tests for the installed PLplot version as ctest does for the build-tree version of PLplot. Although the tests are the same, the Makefile implementation is different from the ctest implementation in the build tree so that in particular you can do these install tree tests in parallel using the (GNU-)make -j option to greatly speed up these tests on a multi-processor computer.  However, since make is required for this installed-examples implementation, it cannot be run on Windows.&lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_interactive&amp;quot; command executes our interactive examples.  The results are similar to those of the test_interactive target implemented with our new test framework, but the implementation is very different (depending on a GNU-bash script rather than standard CMake cross-platform commands).&lt;br /&gt;
&lt;br /&gt;
==== Cross-platform tests of the PLplot installation using the new test framework ====&lt;br /&gt;
&lt;br /&gt;
Here is an example under Unix of how to test the PLplot installation using the new testing framework.  &lt;br /&gt;
(Those using Windows platforms should be able to infer the equivalent of these commands.)&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/build_dir&lt;br /&gt;
 cd /tmp/build_dir&lt;br /&gt;
 cmake $prefix/share/plplot$plplot_version/examples &lt;br /&gt;
 make -j4 test_diff_psc &amp;gt;&amp;amp; make_test_diff_psc.out&lt;br /&gt;
 make -j4 test_noninteractive &amp;gt;&amp;amp; make_test_noninteractive.out&lt;br /&gt;
 make -j4 test_interactive &amp;gt;&amp;amp; make_test_interactive.out&lt;br /&gt;
&lt;br /&gt;
Note these targets are essentially identical to the targets described above for the new test framework for the build tree because the same bash (or win-bash) scripts and essentially the same CMake logic is used to set up these targets.  Similarly, all other fine-grained targets (which you can discover using the&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
command) for the new test framework are available in this context as well.  N.B. the test_noninteractive and test_interactive targets available here are more comprehensive than the same-named targets in the legacy installation test case and are implemented in a quite different (cross-platform) way with much&lt;br /&gt;
better dependencies.&lt;br /&gt;
&lt;br /&gt;
===Testing Reports===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Table of test reports for PLplot&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Tester !! PLplot revision !! CMake version !! Platform &lt;br /&gt;
|-&lt;br /&gt;
! Pango/Cairo version !! Qt version !! Shared libraries? !! Dynamic drivers?&lt;br /&gt;
|-&lt;br /&gt;
! Build? !! test_ noninteractive? !! test_ interactive? !! ctest?&lt;br /&gt;
|-&lt;br /&gt;
! Traditional Installed examples? !! test_ noninteractive? !! test_ interactive?&lt;br /&gt;
|-&lt;br /&gt;
! CMake-based Installed examples? !! test_ noninteractive? !! test_ interactive? !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Hazen Babcock || 11019 || 2.6.4 || Ubuntu Intrepid&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.2 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || a B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing notes (lower case notes concern configuration and build options while upper case notes concern errors):&lt;br /&gt;
&lt;br /&gt;
a. Testing done on 64-bit (AMD64) hardware.&lt;br /&gt;
&lt;br /&gt;
b. Used parallel make option (-j4) for all builds, installs, and test targets.&lt;br /&gt;
&lt;br /&gt;
c. All suitable dependent libraries have been installed on the system so there are no device drivers from the default list for this platform that are missing from this test.  &lt;br /&gt;
&lt;br /&gt;
d. All compilers and bindings-related development packages have been installed on the system so there are no bindings that are missing from this test.&lt;br /&gt;
&lt;br /&gt;
e. Java, Python, Octave, Perl/PDL, LUA, and OCaml bindings/examples require shared PLplot libraries in order to work so were not available for testing for this static PLplot libraries case.&lt;br /&gt;
&lt;br /&gt;
A. No obvious configure, build, or install errors.  No run-time errors in tests other than those noted in additional &amp;quot;upper-case&amp;quot; notes (if any).&lt;br /&gt;
&lt;br /&gt;
B. test_noninteractive hangs at unpredictable points in the Qt device driver tests.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2266</id>
		<title>Testing PLplot</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2266"/>
				<updated>2010-05-26T20:45:45Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: /* Testing Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We encourage those who build PLplot to test both their build-tree version and their installed-examples-tree version and report any problems back to either the plplot-general or plplot-devel mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Testing Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
The legacy test for the build tree requires ctest (available as part of CMake) and bash on Unix systems or [http://win-bash.sourceforge.net/ win-bash] on Windows.  The legacy test for the installed examples tree works only on Unix (Linux, Mac OS X, and presumably legacy Unix) and requires GNU-bash, make, and pkg-config.&lt;br /&gt;
&lt;br /&gt;
In contrast to our legacy testing system, the new testing framework is essentially identical for both the build tree and installed examples tree.  It just requires CMake (using any generator that is suitable for the Unix or Windows platform that is being used for the test), and bash on Unix or win-bash on Windows.&lt;br /&gt;
&lt;br /&gt;
=== Build-tree tests ===&lt;br /&gt;
&lt;br /&gt;
Build-tree tests can only be performed if cmake is invoked with the -DBUILD_TEST=ON option.  Such tests are done from the top-level directory of the build tree (the directory where you invoke cmake command that configures the build of PLplot).  The methods for invoking these tests are given below both for the legacy and new testing methods.  These tests include executing all our 31 standard examples for all language interfaces and non-interactive device drivers that we currently support.  This is a comprehensive test of the PLplot build.  For example, our standard examples exercise virtually all of the PLplot API.  Furthermore, this series of tests generates more than 2GB of plot files in various formats.  The tests also include&lt;br /&gt;
a comparison of PostScript (-dev psc) results and stdout from each language interface to PLplot with the corresponding results for C.  In general, these results are identical which is a stringent test of our language bindings. (Note it is the user&amp;#039;s responsibility to insure the locales are consistent for all languages since inconsistent locales can produce inconsistent stdout results which have nothing to do with PLplot bindings or examples issues.)&lt;br /&gt;
&lt;br /&gt;
You should search test results for obvious errors such as segfaults.  In addition, you can test for rendering errors by viewing the file results using an appropriate viewer.  &lt;br /&gt;
&lt;br /&gt;
Results for -dev psc are a special case.  To illustrate this, here are typical -dev psc results for example 1.&lt;br /&gt;
&lt;br /&gt;
x01a.psc, x01c.psc, x01cxx.psc, x01d.psc, x01f.psc, x01f95.psc, x01j.psc, x01lua.psc, x01o.psc, x01ocaml.psc, x01p.psc, x01pdl.psc, and x01t.psc.&lt;br /&gt;
&lt;br /&gt;
These correspond to Ada, C, C++, D, Fortran 77, Fortran 95, Java, Lua, Octave, OCaml, Python, Perl/PDL, and Tcl -dev psc (colour PostScript) results for our standard example 1. The test referred to above compares everything in this list, but x01c.psc against that file so rendering errors only need to be looked for in x01c.psc (with your favorite Postscript viewing application), and any of these files which the report shows are different from x01c.psc. And similarly for the -dev psc results for the rest of our 31 standard examples.&lt;br /&gt;
&lt;br /&gt;
Here are typical plot file results from our standard example 1 for devices other than -dev psc.&lt;br /&gt;
&lt;br /&gt;
x01c.pdfcairo, x01c.ps, x01c.psttf, x01c.psttfc, x01c01.bmpqt, x01c01.epsqt, x01c01.jpgqt, x01c01.pdfqt, x01c01.pngcairo, x01c01.pngqt, x01c01.ppmqt, x01c01.svg, x01c01.svgcairo, x01c01.svgqt, x01c01.tiffqt, and x01c01.xfig.&lt;br /&gt;
&lt;br /&gt;
Since different devices are involved in all cases, these should be looked at individually for rendering errors (and similarly for the remaining 31 standard examples).  Note such visual inspection is a huge job so we certainly don&amp;#039;t expect it of our testers very often, but once every year or so and especially for newer examples that haven&amp;#039;t been checked before is worth doing.  On Unix platforms a general all-purpose viewer for all these file formats is the ImageMagick display application.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of legacy tests in the build tree ====&lt;br /&gt;
&lt;br /&gt;
After running &amp;quot;make all&amp;quot; from the top-level of the build tree, then run&lt;br /&gt;
&lt;br /&gt;
 ctest --verbose &amp;gt;&amp;amp; ctest.out&lt;br /&gt;
&lt;br /&gt;
This creates test plot file results in the plplot-test subdirectory of the build tree, and ctest.out should contain a table of comparisons of Postscript results from each of our standard examples and each of our language bindings against the corresponding C versions.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of tests in the build tree using the new testing framework ====&lt;br /&gt;
&lt;br /&gt;
One advantage of the new testing framework is that it has full dependencies implemented (unlike ctest which requires &amp;quot;make all&amp;quot; to be run first).  &lt;br /&gt;
&lt;br /&gt;
A second advantage of the new testing framework is that for Generators with parallel execution ability, you can save a lot of time on hardware with more than one cpu by using the parallel execution options (e.g., the -j option for GNU make).  &lt;br /&gt;
&lt;br /&gt;
A final advantage of the new testing framework is the tests are finer grained.  To see all the tests that are possible run&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
(On platforms with CMake generators other than make, you will have to do something equivalent to this search to find all test targets.)  &lt;br /&gt;
&lt;br /&gt;
Three comprehensive test targets are test_diff_psc, test_noninteractive and test_interactive.&lt;br /&gt;
&lt;br /&gt;
test_diff_psc generates all -dev psc results and compares them with the same report that is obtained from ctest.  Note this target excludes anything but -dev psc results.&lt;br /&gt;
&lt;br /&gt;
test_noninteractive runs test_diff_psc as well as every other PLplot example that produces a file.  (Note that test_noninteractive is somewhat more comprehensive than legacy ctest and considerably more comprehensive than the test_diff_psc target.)&lt;br /&gt;
&lt;br /&gt;
test_interactive runs all interactive devices for the standard C examples as well as all special interactive examples.  Very little user-intervention is required to run these tests because, where possible, the PLplot -np (no-pause) command-line option is used for these tests.&lt;br /&gt;
&lt;br /&gt;
=== Tests of the PLplot installation ===&lt;br /&gt;
&lt;br /&gt;
After PLplot has been configured (with &amp;quot;cmake&amp;quot;), built (with &amp;quot;make&amp;quot;), and installed (with &amp;quot;make install&amp;quot;), you can test the installation using a legacy test system (implemented with Make, pkg-config, and GNU-bash) or our new test framework (implemented with CMake and bash [or win-bash]).&lt;br /&gt;
&lt;br /&gt;
==== Legacy tests (Unix-only) of the PLplot installation ====&lt;br /&gt;
&lt;br /&gt;
You can test the PLplot installation on Unix systems by doing the following commands:&lt;br /&gt;
&lt;br /&gt;
 cp -a $prefix/share/plplot$plplot_version/examples /tmp&lt;br /&gt;
 cd /tmp/examples&lt;br /&gt;
 make test_noninteractive &amp;gt;&amp;amp; make_test.out&lt;br /&gt;
 make test_interactive&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;$prefix&amp;quot; is the installation prefix chosen at the configuration stage, and $plplot_version is the PLplot version (currently 5.9.4).  The effect of the above &amp;quot;cp&amp;quot; and &amp;quot;cd&amp;quot; commands is to copy the examples subtree of the install tree to /tmp and build and test the examples in the copied subtree to keep a clean install tree.  However, an alternative is to replace those two commands with&lt;br /&gt;
&lt;br /&gt;
 cd $prefix/share/plplot$plplot_version/examples&lt;br /&gt;
&lt;br /&gt;
and build and test the install-tree examples right in the examples subtree of the install tree with the above &amp;quot;make&amp;quot; commands.&lt;br /&gt;
&lt;br /&gt;
Regardless of whether you build and test the examples in a copy of the examples subtree of the install tree or directly in that subtree, check all the *.out files for any errors.  &lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_noninteractive&amp;quot; command does the same tests for the installed PLplot version as ctest does for the build-tree version of PLplot. Although the tests are the same, the Makefile implementation is different from the ctest implementation in the build tree so that in particular you can do these install tree tests in parallel using the (GNU-)make -j option to greatly speed up these tests on a multi-processor computer.  However, since make is required for this installed-examples implementation, it cannot be run on Windows.&lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_interactive&amp;quot; command executes our interactive examples.  The results are similar to those of the test_interactive target implemented with our new test framework, but the implementation is very different (depending on a GNU-bash script rather than standard CMake cross-platform commands).&lt;br /&gt;
&lt;br /&gt;
==== Cross-platform tests of the PLplot installation using the new test framework ====&lt;br /&gt;
&lt;br /&gt;
Here is an example under Unix of how to test the PLplot installation using the new testing framework.  &lt;br /&gt;
(Those using Windows platforms should be able to infer the equivalent of these commands.)&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/build_dir&lt;br /&gt;
 cd /tmp/build_dir&lt;br /&gt;
 cmake $prefix/share/plplot$plplot_version/examples &lt;br /&gt;
 make -j4 test_diff_psc &amp;gt;&amp;amp; make_test_diff_psc.out&lt;br /&gt;
 make -j4 test_noninteractive &amp;gt;&amp;amp; make_test_noninteractive.out&lt;br /&gt;
 make -j4 test_interactive &amp;gt;&amp;amp; make_test_interactive.out&lt;br /&gt;
&lt;br /&gt;
Note these targets are essentially identical to the targets described above for the new test framework for the build tree because the same bash (or win-bash) scripts and essentially the same CMake logic is used to set up these targets.  Similarly, all other fine-grained targets (which you can discover using the&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
command) for the new test framework are available in this context as well.  N.B. the test_noninteractive and test_interactive targets available here are more comprehensive than the same-named targets in the legacy installation test case and are implemented in a quite different (cross-platform) way with much&lt;br /&gt;
better dependencies.&lt;br /&gt;
&lt;br /&gt;
===Testing Reports===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Table of test reports for PLplot&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Tester !! PLplot revision !! CMake version !! Platform &lt;br /&gt;
|-&lt;br /&gt;
! Pango/Cairo version !! Qt version !! Shared libraries? !! Dynamic drivers?&lt;br /&gt;
|-&lt;br /&gt;
! Build? !! test_ noninteractive? !! test_ interactive? !! ctest?&lt;br /&gt;
|-&lt;br /&gt;
! Traditional Installed examples? !! test_ noninteractive? !! test_ interactive?&lt;br /&gt;
|-&lt;br /&gt;
! CMake-based Installed examples? !! test_ noninteractive? !! test_ interactive? !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Hazen Babcock || 11019 || 2.6.4 || Ubuntu Intrepid&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.2 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || a B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing notes (lower case notes concern configuration and build options while upper case notes concern errors):&lt;br /&gt;
&lt;br /&gt;
a. Testing done on 64-bit (AMD64) hardware.&lt;br /&gt;
&lt;br /&gt;
b. Used parallel make option (-j4) for all builds, installs, and test targets.&lt;br /&gt;
&lt;br /&gt;
c. All suitable dependent libraries have been installed on the system so there are no device drivers from the default list for this platform that are missing from this test.  &lt;br /&gt;
&lt;br /&gt;
d. All compilers and bindings-related development packages have been installed on the system so there are no bindings that are missing from this test.&lt;br /&gt;
&lt;br /&gt;
e. Java, Python, Octave, Perl/PDL, LUA, and OCaml bindings/examples require shared PLplot libraries in order to work so were not available for testing for this static PLplot libraries case.&lt;br /&gt;
&lt;br /&gt;
A. No obvious configure, build, or install errors.  No run-time errors in tests other than those noted in additional &amp;quot;upper-case&amp;quot; notes (if any).&lt;br /&gt;
&lt;br /&gt;
B. test_noninteractive hangs at unpredictable points in the Qt device driver test.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2265</id>
		<title>Testing PLplot</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2265"/>
				<updated>2010-05-26T20:45:23Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: /* Testing Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We encourage those who build PLplot to test both their build-tree version and their installed-examples-tree version and report any problems back to either the plplot-general or plplot-devel mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Testing Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
The legacy test for the build tree requires ctest (available as part of CMake) and bash on Unix systems or [http://win-bash.sourceforge.net/ win-bash] on Windows.  The legacy test for the installed examples tree works only on Unix (Linux, Mac OS X, and presumably legacy Unix) and requires GNU-bash, make, and pkg-config.&lt;br /&gt;
&lt;br /&gt;
In contrast to our legacy testing system, the new testing framework is essentially identical for both the build tree and installed examples tree.  It just requires CMake (using any generator that is suitable for the Unix or Windows platform that is being used for the test), and bash on Unix or win-bash on Windows.&lt;br /&gt;
&lt;br /&gt;
=== Build-tree tests ===&lt;br /&gt;
&lt;br /&gt;
Build-tree tests can only be performed if cmake is invoked with the -DBUILD_TEST=ON option.  Such tests are done from the top-level directory of the build tree (the directory where you invoke cmake command that configures the build of PLplot).  The methods for invoking these tests are given below both for the legacy and new testing methods.  These tests include executing all our 31 standard examples for all language interfaces and non-interactive device drivers that we currently support.  This is a comprehensive test of the PLplot build.  For example, our standard examples exercise virtually all of the PLplot API.  Furthermore, this series of tests generates more than 2GB of plot files in various formats.  The tests also include&lt;br /&gt;
a comparison of PostScript (-dev psc) results and stdout from each language interface to PLplot with the corresponding results for C.  In general, these results are identical which is a stringent test of our language bindings. (Note it is the user&amp;#039;s responsibility to insure the locales are consistent for all languages since inconsistent locales can produce inconsistent stdout results which have nothing to do with PLplot bindings or examples issues.)&lt;br /&gt;
&lt;br /&gt;
You should search test results for obvious errors such as segfaults.  In addition, you can test for rendering errors by viewing the file results using an appropriate viewer.  &lt;br /&gt;
&lt;br /&gt;
Results for -dev psc are a special case.  To illustrate this, here are typical -dev psc results for example 1.&lt;br /&gt;
&lt;br /&gt;
x01a.psc, x01c.psc, x01cxx.psc, x01d.psc, x01f.psc, x01f95.psc, x01j.psc, x01lua.psc, x01o.psc, x01ocaml.psc, x01p.psc, x01pdl.psc, and x01t.psc.&lt;br /&gt;
&lt;br /&gt;
These correspond to Ada, C, C++, D, Fortran 77, Fortran 95, Java, Lua, Octave, OCaml, Python, Perl/PDL, and Tcl -dev psc (colour PostScript) results for our standard example 1. The test referred to above compares everything in this list, but x01c.psc against that file so rendering errors only need to be looked for in x01c.psc (with your favorite Postscript viewing application), and any of these files which the report shows are different from x01c.psc. And similarly for the -dev psc results for the rest of our 31 standard examples.&lt;br /&gt;
&lt;br /&gt;
Here are typical plot file results from our standard example 1 for devices other than -dev psc.&lt;br /&gt;
&lt;br /&gt;
x01c.pdfcairo, x01c.ps, x01c.psttf, x01c.psttfc, x01c01.bmpqt, x01c01.epsqt, x01c01.jpgqt, x01c01.pdfqt, x01c01.pngcairo, x01c01.pngqt, x01c01.ppmqt, x01c01.svg, x01c01.svgcairo, x01c01.svgqt, x01c01.tiffqt, and x01c01.xfig.&lt;br /&gt;
&lt;br /&gt;
Since different devices are involved in all cases, these should be looked at individually for rendering errors (and similarly for the remaining 31 standard examples).  Note such visual inspection is a huge job so we certainly don&amp;#039;t expect it of our testers very often, but once every year or so and especially for newer examples that haven&amp;#039;t been checked before is worth doing.  On Unix platforms a general all-purpose viewer for all these file formats is the ImageMagick display application.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of legacy tests in the build tree ====&lt;br /&gt;
&lt;br /&gt;
After running &amp;quot;make all&amp;quot; from the top-level of the build tree, then run&lt;br /&gt;
&lt;br /&gt;
 ctest --verbose &amp;gt;&amp;amp; ctest.out&lt;br /&gt;
&lt;br /&gt;
This creates test plot file results in the plplot-test subdirectory of the build tree, and ctest.out should contain a table of comparisons of Postscript results from each of our standard examples and each of our language bindings against the corresponding C versions.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of tests in the build tree using the new testing framework ====&lt;br /&gt;
&lt;br /&gt;
One advantage of the new testing framework is that it has full dependencies implemented (unlike ctest which requires &amp;quot;make all&amp;quot; to be run first).  &lt;br /&gt;
&lt;br /&gt;
A second advantage of the new testing framework is that for Generators with parallel execution ability, you can save a lot of time on hardware with more than one cpu by using the parallel execution options (e.g., the -j option for GNU make).  &lt;br /&gt;
&lt;br /&gt;
A final advantage of the new testing framework is the tests are finer grained.  To see all the tests that are possible run&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
(On platforms with CMake generators other than make, you will have to do something equivalent to this search to find all test targets.)  &lt;br /&gt;
&lt;br /&gt;
Three comprehensive test targets are test_diff_psc, test_noninteractive and test_interactive.&lt;br /&gt;
&lt;br /&gt;
test_diff_psc generates all -dev psc results and compares them with the same report that is obtained from ctest.  Note this target excludes anything but -dev psc results.&lt;br /&gt;
&lt;br /&gt;
test_noninteractive runs test_diff_psc as well as every other PLplot example that produces a file.  (Note that test_noninteractive is somewhat more comprehensive than legacy ctest and considerably more comprehensive than the test_diff_psc target.)&lt;br /&gt;
&lt;br /&gt;
test_interactive runs all interactive devices for the standard C examples as well as all special interactive examples.  Very little user-intervention is required to run these tests because, where possible, the PLplot -np (no-pause) command-line option is used for these tests.&lt;br /&gt;
&lt;br /&gt;
=== Tests of the PLplot installation ===&lt;br /&gt;
&lt;br /&gt;
After PLplot has been configured (with &amp;quot;cmake&amp;quot;), built (with &amp;quot;make&amp;quot;), and installed (with &amp;quot;make install&amp;quot;), you can test the installation using a legacy test system (implemented with Make, pkg-config, and GNU-bash) or our new test framework (implemented with CMake and bash [or win-bash]).&lt;br /&gt;
&lt;br /&gt;
==== Legacy tests (Unix-only) of the PLplot installation ====&lt;br /&gt;
&lt;br /&gt;
You can test the PLplot installation on Unix systems by doing the following commands:&lt;br /&gt;
&lt;br /&gt;
 cp -a $prefix/share/plplot$plplot_version/examples /tmp&lt;br /&gt;
 cd /tmp/examples&lt;br /&gt;
 make test_noninteractive &amp;gt;&amp;amp; make_test.out&lt;br /&gt;
 make test_interactive&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;$prefix&amp;quot; is the installation prefix chosen at the configuration stage, and $plplot_version is the PLplot version (currently 5.9.4).  The effect of the above &amp;quot;cp&amp;quot; and &amp;quot;cd&amp;quot; commands is to copy the examples subtree of the install tree to /tmp and build and test the examples in the copied subtree to keep a clean install tree.  However, an alternative is to replace those two commands with&lt;br /&gt;
&lt;br /&gt;
 cd $prefix/share/plplot$plplot_version/examples&lt;br /&gt;
&lt;br /&gt;
and build and test the install-tree examples right in the examples subtree of the install tree with the above &amp;quot;make&amp;quot; commands.&lt;br /&gt;
&lt;br /&gt;
Regardless of whether you build and test the examples in a copy of the examples subtree of the install tree or directly in that subtree, check all the *.out files for any errors.  &lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_noninteractive&amp;quot; command does the same tests for the installed PLplot version as ctest does for the build-tree version of PLplot. Although the tests are the same, the Makefile implementation is different from the ctest implementation in the build tree so that in particular you can do these install tree tests in parallel using the (GNU-)make -j option to greatly speed up these tests on a multi-processor computer.  However, since make is required for this installed-examples implementation, it cannot be run on Windows.&lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_interactive&amp;quot; command executes our interactive examples.  The results are similar to those of the test_interactive target implemented with our new test framework, but the implementation is very different (depending on a GNU-bash script rather than standard CMake cross-platform commands).&lt;br /&gt;
&lt;br /&gt;
==== Cross-platform tests of the PLplot installation using the new test framework ====&lt;br /&gt;
&lt;br /&gt;
Here is an example under Unix of how to test the PLplot installation using the new testing framework.  &lt;br /&gt;
(Those using Windows platforms should be able to infer the equivalent of these commands.)&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/build_dir&lt;br /&gt;
 cd /tmp/build_dir&lt;br /&gt;
 cmake $prefix/share/plplot$plplot_version/examples &lt;br /&gt;
 make -j4 test_diff_psc &amp;gt;&amp;amp; make_test_diff_psc.out&lt;br /&gt;
 make -j4 test_noninteractive &amp;gt;&amp;amp; make_test_noninteractive.out&lt;br /&gt;
 make -j4 test_interactive &amp;gt;&amp;amp; make_test_interactive.out&lt;br /&gt;
&lt;br /&gt;
Note these targets are essentially identical to the targets described above for the new test framework for the build tree because the same bash (or win-bash) scripts and essentially the same CMake logic is used to set up these targets.  Similarly, all other fine-grained targets (which you can discover using the&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
command) for the new test framework are available in this context as well.  N.B. the test_noninteractive and test_interactive targets available here are more comprehensive than the same-named targets in the legacy installation test case and are implemented in a quite different (cross-platform) way with much&lt;br /&gt;
better dependencies.&lt;br /&gt;
&lt;br /&gt;
===Testing Reports===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Table of test reports for PLplot&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Tester !! PLplot revision !! CMake version !! Platform &lt;br /&gt;
|-&lt;br /&gt;
! Pango/Cairo version !! Qt version !! Shared libraries? !! Dynamic drivers?&lt;br /&gt;
|-&lt;br /&gt;
! Build? !! test_ noninteractive? !! test_ interactive? !! ctest?&lt;br /&gt;
|-&lt;br /&gt;
! Traditional Installed examples? !! test_ noninteractive? !! test_ interactive?&lt;br /&gt;
|-&lt;br /&gt;
! CMake-based Installed examples? !! test_ noninteractive? !! test_ interactive? !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Hazen Babcock || 11019 || 2.6.4 || Ubuntu Intrepid&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.2 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || a B&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing notes (lower case notes concern configuration and build options while upper case notes concern errors):&lt;br /&gt;
&lt;br /&gt;
a. Testing done on 64-bit (AMD64) hardware.&lt;br /&gt;
&lt;br /&gt;
b. Used parallel make option (-j4) for all builds, installs, and test targets.&lt;br /&gt;
&lt;br /&gt;
c. All suitable dependent libraries have been installed on the system so there are no device drivers from the default list for this platform that are missing from this test.  &lt;br /&gt;
&lt;br /&gt;
d. All compilers and bindings-related development packages have been installed on the system so there are no bindings that are missing from this test.&lt;br /&gt;
&lt;br /&gt;
e. Java, Python, Octave, Perl/PDL, LUA, and OCaml bindings/examples require shared PLplot libraries in order to work so were not available for testing for this static PLplot libraries case.&lt;br /&gt;
&lt;br /&gt;
A. No obvious configure, build, or install errors.  No run-time errors in tests other than those noted in additional &amp;quot;upper-case&amp;quot; notes (if any).&lt;br /&gt;
B. test_noninteractive hangs at unpredictable points in the Qt device driver test.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2264</id>
		<title>Testing PLplot</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Testing_PLplot&amp;diff=2264"/>
				<updated>2010-05-26T20:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: /* Testing Reports */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We encourage those who build PLplot to test both their build-tree version and their installed-examples-tree version and report any problems back to either the plplot-general or plplot-devel mailing lists.&lt;br /&gt;
&lt;br /&gt;
=== Testing Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
The legacy test for the build tree requires ctest (available as part of CMake) and bash on Unix systems or [http://win-bash.sourceforge.net/ win-bash] on Windows.  The legacy test for the installed examples tree works only on Unix (Linux, Mac OS X, and presumably legacy Unix) and requires GNU-bash, make, and pkg-config.&lt;br /&gt;
&lt;br /&gt;
In contrast to our legacy testing system, the new testing framework is essentially identical for both the build tree and installed examples tree.  It just requires CMake (using any generator that is suitable for the Unix or Windows platform that is being used for the test), and bash on Unix or win-bash on Windows.&lt;br /&gt;
&lt;br /&gt;
=== Build-tree tests ===&lt;br /&gt;
&lt;br /&gt;
Build-tree tests can only be performed if cmake is invoked with the -DBUILD_TEST=ON option.  Such tests are done from the top-level directory of the build tree (the directory where you invoke cmake command that configures the build of PLplot).  The methods for invoking these tests are given below both for the legacy and new testing methods.  These tests include executing all our 31 standard examples for all language interfaces and non-interactive device drivers that we currently support.  This is a comprehensive test of the PLplot build.  For example, our standard examples exercise virtually all of the PLplot API.  Furthermore, this series of tests generates more than 2GB of plot files in various formats.  The tests also include&lt;br /&gt;
a comparison of PostScript (-dev psc) results and stdout from each language interface to PLplot with the corresponding results for C.  In general, these results are identical which is a stringent test of our language bindings. (Note it is the user&amp;#039;s responsibility to insure the locales are consistent for all languages since inconsistent locales can produce inconsistent stdout results which have nothing to do with PLplot bindings or examples issues.)&lt;br /&gt;
&lt;br /&gt;
You should search test results for obvious errors such as segfaults.  In addition, you can test for rendering errors by viewing the file results using an appropriate viewer.  &lt;br /&gt;
&lt;br /&gt;
Results for -dev psc are a special case.  To illustrate this, here are typical -dev psc results for example 1.&lt;br /&gt;
&lt;br /&gt;
x01a.psc, x01c.psc, x01cxx.psc, x01d.psc, x01f.psc, x01f95.psc, x01j.psc, x01lua.psc, x01o.psc, x01ocaml.psc, x01p.psc, x01pdl.psc, and x01t.psc.&lt;br /&gt;
&lt;br /&gt;
These correspond to Ada, C, C++, D, Fortran 77, Fortran 95, Java, Lua, Octave, OCaml, Python, Perl/PDL, and Tcl -dev psc (colour PostScript) results for our standard example 1. The test referred to above compares everything in this list, but x01c.psc against that file so rendering errors only need to be looked for in x01c.psc (with your favorite Postscript viewing application), and any of these files which the report shows are different from x01c.psc. And similarly for the -dev psc results for the rest of our 31 standard examples.&lt;br /&gt;
&lt;br /&gt;
Here are typical plot file results from our standard example 1 for devices other than -dev psc.&lt;br /&gt;
&lt;br /&gt;
x01c.pdfcairo, x01c.ps, x01c.psttf, x01c.psttfc, x01c01.bmpqt, x01c01.epsqt, x01c01.jpgqt, x01c01.pdfqt, x01c01.pngcairo, x01c01.pngqt, x01c01.ppmqt, x01c01.svg, x01c01.svgcairo, x01c01.svgqt, x01c01.tiffqt, and x01c01.xfig.&lt;br /&gt;
&lt;br /&gt;
Since different devices are involved in all cases, these should be looked at individually for rendering errors (and similarly for the remaining 31 standard examples).  Note such visual inspection is a huge job so we certainly don&amp;#039;t expect it of our testers very often, but once every year or so and especially for newer examples that haven&amp;#039;t been checked before is worth doing.  On Unix platforms a general all-purpose viewer for all these file formats is the ImageMagick display application.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of legacy tests in the build tree ====&lt;br /&gt;
&lt;br /&gt;
After running &amp;quot;make all&amp;quot; from the top-level of the build tree, then run&lt;br /&gt;
&lt;br /&gt;
 ctest --verbose &amp;gt;&amp;amp; ctest.out&lt;br /&gt;
&lt;br /&gt;
This creates test plot file results in the plplot-test subdirectory of the build tree, and ctest.out should contain a table of comparisons of Postscript results from each of our standard examples and each of our language bindings against the corresponding C versions.&lt;br /&gt;
&lt;br /&gt;
==== Invocation of tests in the build tree using the new testing framework ====&lt;br /&gt;
&lt;br /&gt;
One advantage of the new testing framework is that it has full dependencies implemented (unlike ctest which requires &amp;quot;make all&amp;quot; to be run first).  &lt;br /&gt;
&lt;br /&gt;
A second advantage of the new testing framework is that for Generators with parallel execution ability, you can save a lot of time on hardware with more than one cpu by using the parallel execution options (e.g., the -j option for GNU make).  &lt;br /&gt;
&lt;br /&gt;
A final advantage of the new testing framework is the tests are finer grained.  To see all the tests that are possible run&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
(On platforms with CMake generators other than make, you will have to do something equivalent to this search to find all test targets.)  &lt;br /&gt;
&lt;br /&gt;
Three comprehensive test targets are test_diff_psc, test_noninteractive and test_interactive.&lt;br /&gt;
&lt;br /&gt;
test_diff_psc generates all -dev psc results and compares them with the same report that is obtained from ctest.  Note this target excludes anything but -dev psc results.&lt;br /&gt;
&lt;br /&gt;
test_noninteractive runs test_diff_psc as well as every other PLplot example that produces a file.  (Note that test_noninteractive is somewhat more comprehensive than legacy ctest and considerably more comprehensive than the test_diff_psc target.)&lt;br /&gt;
&lt;br /&gt;
test_interactive runs all interactive devices for the standard C examples as well as all special interactive examples.  Very little user-intervention is required to run these tests because, where possible, the PLplot -np (no-pause) command-line option is used for these tests.&lt;br /&gt;
&lt;br /&gt;
=== Tests of the PLplot installation ===&lt;br /&gt;
&lt;br /&gt;
After PLplot has been configured (with &amp;quot;cmake&amp;quot;), built (with &amp;quot;make&amp;quot;), and installed (with &amp;quot;make install&amp;quot;), you can test the installation using a legacy test system (implemented with Make, pkg-config, and GNU-bash) or our new test framework (implemented with CMake and bash [or win-bash]).&lt;br /&gt;
&lt;br /&gt;
==== Legacy tests (Unix-only) of the PLplot installation ====&lt;br /&gt;
&lt;br /&gt;
You can test the PLplot installation on Unix systems by doing the following commands:&lt;br /&gt;
&lt;br /&gt;
 cp -a $prefix/share/plplot$plplot_version/examples /tmp&lt;br /&gt;
 cd /tmp/examples&lt;br /&gt;
 make test_noninteractive &amp;gt;&amp;amp; make_test.out&lt;br /&gt;
 make test_interactive&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;$prefix&amp;quot; is the installation prefix chosen at the configuration stage, and $plplot_version is the PLplot version (currently 5.9.4).  The effect of the above &amp;quot;cp&amp;quot; and &amp;quot;cd&amp;quot; commands is to copy the examples subtree of the install tree to /tmp and build and test the examples in the copied subtree to keep a clean install tree.  However, an alternative is to replace those two commands with&lt;br /&gt;
&lt;br /&gt;
 cd $prefix/share/plplot$plplot_version/examples&lt;br /&gt;
&lt;br /&gt;
and build and test the install-tree examples right in the examples subtree of the install tree with the above &amp;quot;make&amp;quot; commands.&lt;br /&gt;
&lt;br /&gt;
Regardless of whether you build and test the examples in a copy of the examples subtree of the install tree or directly in that subtree, check all the *.out files for any errors.  &lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_noninteractive&amp;quot; command does the same tests for the installed PLplot version as ctest does for the build-tree version of PLplot. Although the tests are the same, the Makefile implementation is different from the ctest implementation in the build tree so that in particular you can do these install tree tests in parallel using the (GNU-)make -j option to greatly speed up these tests on a multi-processor computer.  However, since make is required for this installed-examples implementation, it cannot be run on Windows.&lt;br /&gt;
&lt;br /&gt;
N.B. the above legacy &amp;quot;make test_interactive&amp;quot; command executes our interactive examples.  The results are similar to those of the test_interactive target implemented with our new test framework, but the implementation is very different (depending on a GNU-bash script rather than standard CMake cross-platform commands).&lt;br /&gt;
&lt;br /&gt;
==== Cross-platform tests of the PLplot installation using the new test framework ====&lt;br /&gt;
&lt;br /&gt;
Here is an example under Unix of how to test the PLplot installation using the new testing framework.  &lt;br /&gt;
(Those using Windows platforms should be able to infer the equivalent of these commands.)&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/build_dir&lt;br /&gt;
 cd /tmp/build_dir&lt;br /&gt;
 cmake $prefix/share/plplot$plplot_version/examples &lt;br /&gt;
 make -j4 test_diff_psc &amp;gt;&amp;amp; make_test_diff_psc.out&lt;br /&gt;
 make -j4 test_noninteractive &amp;gt;&amp;amp; make_test_noninteractive.out&lt;br /&gt;
 make -j4 test_interactive &amp;gt;&amp;amp; make_test_interactive.out&lt;br /&gt;
&lt;br /&gt;
Note these targets are essentially identical to the targets described above for the new test framework for the build tree because the same bash (or win-bash) scripts and essentially the same CMake logic is used to set up these targets.  Similarly, all other fine-grained targets (which you can discover using the&lt;br /&gt;
&lt;br /&gt;
 make help |grep test&lt;br /&gt;
&lt;br /&gt;
command) for the new test framework are available in this context as well.  N.B. the test_noninteractive and test_interactive targets available here are more comprehensive than the same-named targets in the legacy installation test case and are implemented in a quite different (cross-platform) way with much&lt;br /&gt;
better dependencies.&lt;br /&gt;
&lt;br /&gt;
===Testing Reports===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot; border=&amp;quot;5&amp;quot; cellspacing=&amp;quot;5&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
|+Table of test reports for PLplot&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Tester !! PLplot revision !! CMake version !! Platform &lt;br /&gt;
|-&lt;br /&gt;
! Pango/Cairo version !! Qt version !! Shared libraries? !! Dynamic drivers?&lt;br /&gt;
|-&lt;br /&gt;
! Build? !! test_ noninteractive? !! test_ interactive? !! ctest?&lt;br /&gt;
|-&lt;br /&gt;
! Traditional Installed examples? !! test_ noninteractive? !! test_ interactive?&lt;br /&gt;
|-&lt;br /&gt;
! CMake-based Installed examples? !! test_ noninteractive? !! test_ interactive? !! Notes&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || yes&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abcd A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.6.4 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Alan W. Irwin || 10954 || 2.8.1 || Debian Lenny&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.1 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot; valign=&amp;quot;center&amp;quot;|Hazen Babcock || 11019 || 2.6.4 || Ubuntu Intrepid&lt;br /&gt;
|-&lt;br /&gt;
|system || 4.6.2 || no || no&lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || no&lt;br /&gt;
|-&lt;br /&gt;
|no || no || no &lt;br /&gt;
|-&lt;br /&gt;
|yes || yes || yes || abce A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Testing notes (lower case notes concern configuration and build options while upper case notes concern errors):&lt;br /&gt;
&lt;br /&gt;
a. Testing done on 64-bit (AMD64) hardware.&lt;br /&gt;
&lt;br /&gt;
b. Used parallel make option (-j4) for all builds, installs, and test targets.&lt;br /&gt;
&lt;br /&gt;
c. All suitable dependent libraries have been installed on the system so there are no device drivers from the default list for this platform that are missing from this test.  &lt;br /&gt;
&lt;br /&gt;
d. All compilers and bindings-related development packages have been installed on the system so there are no bindings that are missing from this test.&lt;br /&gt;
&lt;br /&gt;
e. Java, Python, Octave, Perl/PDL, LUA, and OCaml bindings/examples require shared PLplot libraries in order to work so were not available for testing for this static PLplot libraries case.&lt;br /&gt;
&lt;br /&gt;
A. No obvious configure, build, or install errors.  No run-time errors in tests other than those noted in additional &amp;quot;upper-case&amp;quot; notes (if any).&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Overview_of_the_status_on_Windows&amp;diff=2243</id>
		<title>Overview of the status on Windows</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Overview_of_the_status_on_Windows&amp;diff=2243"/>
				<updated>2010-04-28T02:04:58Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Add note about cairo and Qt status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the various Windows platforms and the status&lt;br /&gt;
of the CBS for them.&lt;br /&gt;
&lt;br /&gt;
The platforms are &amp;quot;canonical&amp;quot;: we assume typical or often encountered installations.&lt;br /&gt;
For &amp;quot;bare Windows&amp;quot; this means Windows XP, Microsoft Visual C/C++ (version 6.0, 2003 or 2005, but&lt;br /&gt;
currently with an emphasis on version 6.0). For Cygwin and MinGW this is the suite of GCC compilers.&lt;br /&gt;
&lt;br /&gt;
Status per 27 April 2010, Arjen Markus, Werner Smekal and Hazen Babcock&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
----------------------+----------------+----------------+----------------+----------------+----------------+&lt;br /&gt;
Build aspects         |  Bare Windows  |      Cygwin    |      MinGW     |   Borland 5.5  |Open Watcom 1.5 +&lt;br /&gt;
----------------------+----------------+----------------+----------------+----------------+----------------+&lt;br /&gt;
Library options:      |                |                |                |                |                |&lt;br /&gt;
Static libraries      |      Yes       |       Yes      |       Yes      |       Yes      |      Yes       |&lt;br /&gt;
Shared libraries (DLL)|      Yes       |       Yes      |       Yes      |       Yes      |      Yes       |&lt;br /&gt;
Dynamic drivers       |      Yes       |       Yes      |       Yes      |        .       |       .        |&lt;br /&gt;
Freetype support      |      Yes       |       Yes      |       Yes      |        .       |       .        |&lt;br /&gt;
QHull support         |      Yes       |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
AGG support           |      Yes       |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
                      |                |                |                |                |                |&lt;br /&gt;
Languages:            |                |                |                |                |                |&lt;br /&gt;
C++                   |      Yes       |       Yes(1)   |       Yes      |        No      |       No(9)    |&lt;br /&gt;
Fortran77             |      Yes(10)   |       Yes(3)   |       Yes      |        -       |                |&lt;br /&gt;
Fortran95             |      Yes(10)   |       Yes      |       Yes(3)   |        .       |       .        |&lt;br /&gt;
Java                  |      Yes       |        .       |        No      |        -       |       -        |&lt;br /&gt;
Perl                  |       .        |        .       |        .       |        -       |       -        |&lt;br /&gt;
Python                |      Yes       |        .       |       Yes      |        -       |       -        |&lt;br /&gt;
Ada                   |       -        |        .       |       Yes      |        -       |       -        |&lt;br /&gt;
Tcl                   |      Yes(4)    |       Yes      |       Yes      |        -       |       -        |&lt;br /&gt;
Tk                    |       .        |       (5)      |        .       |        -       |       -        |&lt;br /&gt;
                      |                |                |                |                |                |&lt;br /&gt;
Drivers:              |                |                |                |                |                |&lt;br /&gt;
PostScript (psc)      |      Yes       |       Yes      |       Yes      |       Yes      |      Yes       |&lt;br /&gt;
PostScript (psttf)    |       .        |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
Wingcc (7)            |      Yes       |       Yes      |       Yes      |        .       |      Yes       |&lt;br /&gt;
gd (png, jpeg, gif)   |      Yes       |       Yes      |       Yes      |       Yes      |      No        |&lt;br /&gt;
wxWidgets             |      Yes       |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
cgm                   |      Yes       |       Yes      |       Yes      |       Yes      |      Yes       |&lt;br /&gt;
svg                   |      Yes       |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
pdf                   |      Yes       |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
cairo (11)            |       .        |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
Qt                    |       .        |        .       |       Yes      |        .       |       .        |&lt;br /&gt;
----------------------+----------------+----------------+----------------+----------------+----------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
* A dot (.) simply means this aspect has not yet been tested.&lt;br /&gt;
* A dash (-) means that this option will not be supported for this compiler, as others covers this field.&lt;br /&gt;
* (1) GNU C++ caused a problem on one machine, but others were successful. Something wrong with the toolchain?&lt;br /&gt;
* (2) Obsolete &lt;br /&gt;
* (3) The Fortran compilers used are g77 and gfortran. For MingW it was tested with g95.&lt;br /&gt;
* (4) The build succeeds currently, but pltcl.exe, the shell that is built, is missing DLLs. You need to copy these into the proper directory manually. (And you need to tell it where to find the Tcl initialisation files). &lt;br /&gt;
* (5) The Tk bindings may use more of the X Window library than has been ported to the Cygwin/MinGW platform. There is also the issue of several UNIX specific Tcl routines that have no equivalent on Windows.&lt;br /&gt;
* (7) The fact that the wingcc driver works under bare Windows, means that the win3 driver is redundant. We could phase it out in due time.&lt;br /&gt;
* (8) (Regarding extra CMake module) Obsolete&lt;br /&gt;
* (9) C++ Bindings are in the moment not available, because of invalid characters in the foldername.&lt;br /&gt;
* (10) Compaq Visual Fortran works now with the extra CMake module, when using shared libraries (DLL). Main issue: the location of all DLLs that are used.&lt;br /&gt;
* (11) Cairo was obtained as part of GTK here: http://www.gtk.org/download-windows.html&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Configure_PLplot_for_MinGW/CLI&amp;diff=2218</id>
		<title>Configure PLplot for MinGW/CLI</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Configure_PLplot_for_MinGW/CLI&amp;diff=2218"/>
				<updated>2010-01-11T00:18:14Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a working MinGW installation. Start the command line interface (NOT MSYS - see below) and issue the following commands:&lt;br /&gt;
&lt;br /&gt;
 cd plplot&lt;br /&gt;
 mkdir buildmingw&lt;br /&gt;
 cd buildmingw&lt;br /&gt;
 cmake -G &amp;quot;MinGW Makefiles&amp;quot; -DCMAKE_INSTALL_PREFIX=install ..&lt;br /&gt;
 mingw32-make&lt;br /&gt;
 mingw32-make install&lt;br /&gt;
&lt;br /&gt;
For a shared plplot build you need to have the dll directory in the build tree (i.e. the buildmingw\dll folder) in your system path. This will also enable you to run the build tree examples (see below) without having to copy all the dlls.&lt;br /&gt;
&lt;br /&gt;
This will build a shared plplot library and install all files into the directory &amp;lt;tt&amp;gt;plplot\buildmingw\install&amp;lt;/tt&amp;gt;. The following options are available for cmake:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;-DBUILD_SHARED_LIBS=OFF&amp;lt;/tt&amp;gt;: static build of plplot&lt;br /&gt;
* &amp;lt;tt&amp;gt;-DCMAKE_VERBOSE_MAKEFILE=ON&amp;lt;/tt&amp;gt;: makefiles provide verbose informations&lt;br /&gt;
* &amp;lt;tt&amp;gt;-DBUILD_TEST=ON&amp;lt;/tt&amp;gt;: all examples will be built also (for test purposes)&lt;br /&gt;
* [[Configuration of wxWidgets driver]]&lt;br /&gt;
&lt;br /&gt;
If you used the &amp;lt;tt&amp;gt;-DBUILD_TEST=ON&amp;lt;/tt&amp;gt; option, you need to copy some files in order to run the examples:&lt;br /&gt;
&lt;br /&gt;
 cd examples\c&lt;br /&gt;
 copy ..\..\..\data\*.fnt .&lt;br /&gt;
&lt;br /&gt;
and additionally some dlls for a shared plplot built:&lt;br /&gt;
&lt;br /&gt;
 copy ..\..\src\libplplotd.dll .&lt;br /&gt;
 copy &amp;quot;..\..\bindings\c++\libplplotcxxd.dll&amp;quot; . (for c++ examples)&lt;br /&gt;
 copy ..\..\lib\csa\libcsirocsa.dll . (if library as built)&lt;br /&gt;
&lt;br /&gt;
and for the wxWidgets driver (if wxWidgets library is shared):&lt;br /&gt;
&lt;br /&gt;
 copy %WXWIN%\lib\gcc_dll\wxmsw26d_gcc_custom.dll .&lt;br /&gt;
&lt;br /&gt;
if this dll is not in the path.&lt;br /&gt;
&lt;br /&gt;
Note on MSYS:&lt;br /&gt;
&lt;br /&gt;
The MSYS command window (rxvt) is somewhat awkward to use with an interactive program. It buffers&lt;br /&gt;
the output, so that the question what device you want (as printed by plinit()) appears only after&lt;br /&gt;
you have given an answer. The net effect is that the program appears to hang. It is easier to use an &lt;br /&gt;
ordinary DOS-box.&lt;br /&gt;
&lt;br /&gt;
Note on Python:&lt;br /&gt;
&lt;br /&gt;
You need to either add the install tree directory plplot\lib\site-packages to your PYTHONPATH or copy the contents of that directory to your PythonX.Y\Lib\site-packages directory. You may also need to rename _plplotcmodule.dll to _plplotc.pyd, plplot_pyqt4.dll to plplot_pyqt4.pyd and plplot_widgetmodule.dll to plplot_widgetmodule.pyd&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1879</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1879"/>
				<updated>2007-11-18T00:41:57Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 17 November 2007, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |   Known to Work    |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.1) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.1) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.4) |        Yes         |&lt;br /&gt;
F95                         (GNU Fortran 95 (GCC) 4.2.1) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |        Yes         |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |        No (1)      |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                      (Python 2.5, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                                  (8.4.10, TclTkAqua) |        Yes         |&lt;br /&gt;
Tk                                   (8.4.10, TclTkAqua) |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (2) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
Cairo (xcairo, ...)                                      |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) This used to work but does not currently. Work is in progress to bring Octave back to a working state.&lt;br /&gt;
&lt;br /&gt;
(2) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1878</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1878"/>
				<updated>2007-11-17T19:58:41Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Updated to reflect what works with 5.8.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 13 November 2006, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |   Known to Work    |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.1) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.1) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.4) |        Yes         |&lt;br /&gt;
F95                         (GNU Fortran 95 (GCC) 4.2.1) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |        Yes         |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |        No (1)      |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                      (Python 2.5, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                                  (8.4.10, TclTkAqua) |        Yes         |&lt;br /&gt;
Tk                                   (8.4.10, TclTkAqua) |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (2) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
Cairo (xcairo, ...)                                      |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) This used to work but does not currently. Work is in progress to bring Octave back to a working state.&lt;br /&gt;
&lt;br /&gt;
(2) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1877</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1877"/>
				<updated>2007-11-17T19:53:47Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 13 November 2006, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |   Known to Work    |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.0) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.0) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.4) |        Yes         |&lt;br /&gt;
F95                         (GNU Fortran 95 (GCC) 4.2.1) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |        Yes         |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |        Yes         |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                    (Python 2.4.2, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                              (8.4.6-2, Fink Package) |        Yes         |&lt;br /&gt;
Tk                               (8.4.6-2, Fink Package) |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (1) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1510</id>
		<title>Mac OSX</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1510"/>
				<updated>2006-11-14T04:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Addded a note about Tcl/Tk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once you have installed cmake and downloaded cvs plplot, the following commands should get you up and running:&lt;br /&gt;
&lt;br /&gt;
 cd plplot-working-directory&lt;br /&gt;
 mkdir plplot-build&lt;br /&gt;
 cd plplot-build&lt;br /&gt;
 ccmake /path/to/cvs-plplot/directory&lt;br /&gt;
 make&lt;br /&gt;
 make install   (possibly as root)&lt;br /&gt;
&lt;br /&gt;
ccmake is a command-line interface to the cmake command which presents an annotated list of the possible PLplot build options that can be set.  (More experienced users may want to use the cmake command directly where all build options are set using -D options.) &lt;br /&gt;
&lt;br /&gt;
The following specific options are recommended at this time:&lt;br /&gt;
&lt;br /&gt;
 1. Set CMAKE_INSTALL_PREFIX to your installation prefix.&lt;br /&gt;
 2. Set PLD_wxwidgets to OFF, unless you have a more recent version than that which comes standard with OS-X.&lt;br /&gt;
 3. Depending on the location of swig, you may have to specify SWIG_DIR.&lt;br /&gt;
&lt;br /&gt;
Things to watch out for:&lt;br /&gt;
&lt;br /&gt;
 1. cmake is really good at finding libraries, but not so good at using the same library when multiple &lt;br /&gt;
    options are present. For example, I found that I had no less than 4 versions of Python on my &lt;br /&gt;
    system, and cmake was trying to use all of them for different purposes (library from one, executable &lt;br /&gt;
    from another, etc...). This also a problem for Tcl/Tk where cmake will try really hard to use&lt;br /&gt;
    Tk.framework and Tcl.framework instead of the fink equivalents.&lt;br /&gt;
 2. Once you have specified the location of swig (i.e. SWIG_DIR), you will need to configure again, &lt;br /&gt;
    then set ENABLE_python to ON, then configure again to get python setup properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see that status page for what is known to work on OS-X.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1509</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1509"/>
				<updated>2006-11-14T03:57:31Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 13 November 2006, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |   Known to Work    |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.0) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.0) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.4) |        Yes         |&lt;br /&gt;
F95 (GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |        Yes         |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |        Yes         |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                    (Python 2.4.2, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                              (8.4.6-2, Fink Package) |        Yes         |&lt;br /&gt;
Tk                               (8.4.6-2, Fink Package) |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (1) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1508</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1508"/>
				<updated>2006-11-14T03:57:02Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Updated status of Tcl/Tk on OS-X&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 18 October 2006, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |   Known to Work    |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.0) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.0) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.4) |        Yes         |&lt;br /&gt;
F95 (GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |        Yes         |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |        Yes         |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                    (Python 2.4.2, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                              (8.4.6-2, Fink Package) |        Yes         |&lt;br /&gt;
Tk                               (8.4.6-2, Fink Package) |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (1) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1500</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1500"/>
				<updated>2006-10-19T01:53:51Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Updated to reflect the current status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 18 October 2006, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |   Known to Work    |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.0) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.0) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.4) |        Yes         |&lt;br /&gt;
F95 (GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |        Yes         |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |        Yes         |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                    (Python 2.4.2, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                              (8.4.7, OS-X Framework) |        No(2)       |&lt;br /&gt;
Tk                               (8.4.7, OS-X Framework) |        No(2)       |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (1) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;br /&gt;
&lt;br /&gt;
(2) PLplot is known to work with Tcl/Tk as provided by the Fink package manager system.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1479</id>
		<title>Mac OSX</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1479"/>
				<updated>2006-10-03T04:38:39Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once you have installed cmake and downloaded cvs plplot, the following commands should get you up and running:&lt;br /&gt;
&lt;br /&gt;
 cd plplot-working-directory&lt;br /&gt;
 mkdir plplot-build&lt;br /&gt;
 cd plplot-build&lt;br /&gt;
 cmake /path/to/cvs-plplot/directory&lt;br /&gt;
 ccmake .       (setting explained below)&lt;br /&gt;
 make&lt;br /&gt;
 make install   (possibly as root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuring the build with ccmake:&lt;br /&gt;
&lt;br /&gt;
 1. Set PLD_wxwidgets to OFF, unless you have a more recent version than that which comes standard with OS-X.&lt;br /&gt;
 2. Set ENABLE_tcl and ENABLE_tk to off.&lt;br /&gt;
 3. Depending on the location of swig, you may have to specify SWIG_DIR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to watch out for:&lt;br /&gt;
&lt;br /&gt;
 1. cmake is really good at finding libraries, but not so good at using the same library when multiple &lt;br /&gt;
    options are present. For example, I found that I had no less than 4 versions of Python on my &lt;br /&gt;
    system, and cmake was trying to use all of them for different purposes (library from one, executable &lt;br /&gt;
    from another, etc...).&lt;br /&gt;
 2. Once you have specified the location of swig (i.e. SWIG_DIR), you will need to configure again, &lt;br /&gt;
    then set ENABLE_python to ON, then configure again to get python setup properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please see that status page for what is known to work on OS-X.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1478</id>
		<title>Mac OSX</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1478"/>
				<updated>2006-10-03T04:38:24Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Changed to reflect existence of a separate status page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once you have installed cmake and downloaded cvs plplot, the following commands should get you up and running:&lt;br /&gt;
&lt;br /&gt;
 cd plplot-working-directory&lt;br /&gt;
 mkdir plplot-build&lt;br /&gt;
 cd plplot-build&lt;br /&gt;
 cmake /path/to/cvs-plplot/directory&lt;br /&gt;
 ccmake .       (setting explained below)&lt;br /&gt;
 make&lt;br /&gt;
 make install   (possibly as root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuring the build with ccmake:&lt;br /&gt;
&lt;br /&gt;
 1. Set PLD_wxwidgets to OFF, unless you have a more recent version than that which comes standard with OS-X.&lt;br /&gt;
 2. Set ENABLE_tcl and ENABLE_tk to off.&lt;br /&gt;
 3. Depending on the location of swig, you may have to specify SWIG_DIR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to watch out for:&lt;br /&gt;
&lt;br /&gt;
 1. cmake is really good at finding libraries, but not so good at using the same library when multiple &lt;br /&gt;
    options are present. For example, I found that I had no less than 4 versions of Python on my &lt;br /&gt;
    system, and cmake was trying to use all of them for different purposes (library from one, executable &lt;br /&gt;
    from another, etc...).&lt;br /&gt;
 2. Once you have specified the location of swig (i.e. SWIG_DIR), you will need to configure again, &lt;br /&gt;
    then set ENABLE_python to ON, then configure again to get python setup properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plase see that status page for what is known to work on OS-X.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1477</id>
		<title>Mac OSX Status</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX_Status&amp;diff=1477"/>
				<updated>2006-10-03T04:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Initial record of PLplot status on OS-X&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page presents an overview of the status of plplot/CBS on OS-X 10.4/PowerPC.&lt;br /&gt;
&lt;br /&gt;
Status per 2 October 2006, Hazen Babcock (Darwin Kernel Version 8.7.0)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;  &lt;br /&gt;
---------------------------------------------------------+--------------------+      &lt;br /&gt;
Build aspects                                            |       Status       |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
Library options:                                         |                    |&lt;br /&gt;
Static libraries                                         |      untested      |&lt;br /&gt;
Shared libraries (dylib)                                 |        Yes         |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Languages:                                               |                    |&lt;br /&gt;
C                      (powerpc-apple-darwin8-gcc-4.0.0) |        Yes         |&lt;br /&gt;
C++                    (powerpc-apple-darwin8-g++-4.0.0) |        Yes         |&lt;br /&gt;
F77                            (GNU Fortran (GCC) 3.4.3) |        Yes         |&lt;br /&gt;
F95 (GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)) |        Yes         |&lt;br /&gt;
Java                           (java version &amp;quot;1.5.0_06&amp;quot;) |      Builds... (1) |&lt;br /&gt;
Octave                          (Octave, version 2.1.73) |      Builds... (2) |&lt;br /&gt;
Perl                                      (perl, v5.8.6) |        Yes         |&lt;br /&gt;
Python                    (Python 2.4.2, OS-X Framework) |        Yes         |&lt;br /&gt;
Tcl                              (8.4.7, OS-X Framework) |        No          |&lt;br /&gt;
Tk                               (8.4.7, OS-X Framework) |        No          |&lt;br /&gt;
                                                         |                    |&lt;br /&gt;
Drivers:                                                 |                    |&lt;br /&gt;
AquaTerm (aqt)                                           |        Yes         |&lt;br /&gt;
GD (png, jpeg, gif)                                      |        Yes         |&lt;br /&gt;
PBM (pbm)                                                |        Yes         |&lt;br /&gt;
PostScript (ps, psc)                                     |        Yes         |&lt;br /&gt;
TrueType Postscript (psttf, psttfc)                      | Should Work... (3) |&lt;br /&gt;
X11 (xwin)                                               |        Yes         |&lt;br /&gt;
---------------------------------------------------------+--------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(1) PLplot can be built with this version of java but the examples don&amp;#039;t work, possibly due to my ignorance of how to use java.&lt;br /&gt;
&lt;br /&gt;
(2) PLplot can be built with this version of octave, but the tests fail, so it is not clear whether or not you can actually use plplot with this version of octave.&lt;br /&gt;
&lt;br /&gt;
(3) This should work if you can get LASi and all of its dependencies installed correctly. A package manager such as Fink is probably the best way to go.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Main_Page&amp;diff=1476</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Main_Page&amp;diff=1476"/>
				<updated>2006-10-03T04:00:26Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Changed OS-X section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the (un-)official Wiki for [http://plplot.sf.net PLplot]. It should provide additional information to complement the PLplot [http://plplot.sourceforge.net/docbook-manual/ documentation].&lt;br /&gt;
&lt;br /&gt;
== Building PLplot  ==&lt;br /&gt;
Our traditional Autotools Build System (ABS) may be used to configure the PLplot build on Unix platforms.  Alternatively, our new CMake Build System (CBS) may be used to configure the PLplot build on both Unix and Windows platforms.&lt;br /&gt;
&lt;br /&gt;
=== Building PLplot with our traditional ABS ===&lt;br /&gt;
&lt;br /&gt;
=== Building PLplot with our new CBS ===&lt;br /&gt;
&lt;br /&gt;
Our CMake Build System (CBS) is a build-system paradigm shift compared to our traditional Autotools Build System (ABS) so it is important to consult the CMake documentation to get the most out of our CBS.  That documentation is quite thorough but tends to be a bit scattered so we have collected what we think our the best [[general CMake documentation links]] for your convenience.&lt;br /&gt;
 &lt;br /&gt;
After consulting that documentation, [http://www.cmake.org/HTML/Install.html install] the appropriate package of [http://www.cmake.org CMake] for your system platform. Note, you must use at least version 2.4.3 of CMake for your PLplot configuration.&lt;br /&gt;
&lt;br /&gt;
Our ABS does some source-code preparation just before the distribution tarball is built; it prepares source code for a private copy of the libltdl library that is required to dynamically load plotting devices and it uses SWIG to generate the source code needed for our Python and Java interfaces to PLplot.  In contrast, our CBS does source-code preparation at build time rather than distribution time.  The result is that our CBS has the following two important prerequisites beyond what is required for our ABS: the libltdl library (a small part of the libtool software package) and SWIG. If the user does not have these additional prerequisites installed, our CBS emits a WARNING message and removes the corresponding components of PLplot (i.e., dynamic devices or the Python and Java interfaces) from the build.  &lt;br /&gt;
&lt;br /&gt;
There are also several [[CMake options for PLplot]] which can be set for cmake to personalize your build.&lt;br /&gt;
&lt;br /&gt;
==== Unix ====&lt;br /&gt;
&lt;br /&gt;
===== (Optional) set environment variables to help CMake find system components that are installed in non-standard locations =====&lt;br /&gt;
&lt;br /&gt;
Here is one particular example (which must be executed before the cmake invocation discussed below).&lt;br /&gt;
&lt;br /&gt;
 export PKG_CONFIG_PATH=/home/software/libLASi/install/lib/pkgconfig&lt;br /&gt;
 export CMAKE_LIBRARY_PATH=/home/software/autotools/install/lib:/home/software/cgmlib/cd1.3&lt;br /&gt;
 export CMAKE_INCLUDE_PATH=/home/software/autotools/install/include:/home/software/cgmlib/cd1.3&lt;br /&gt;
&lt;br /&gt;
In these special cases, &amp;lt;tt&amp;gt;PKG_CONFIG_PATH&amp;lt;/tt&amp;gt; helps CMake to use the &amp;lt;tt&amp;gt;pkg-config&amp;lt;/tt&amp;gt; command for a non-standard libLASi install location; &amp;lt;tt&amp;gt;CMAKE_LIBRARY_PATH&amp;lt;/tt&amp;gt; helps CMake to find &amp;lt;tt&amp;gt;libltdl&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libcd&amp;lt;/tt&amp;gt; in non-standard install locations; and &amp;lt;tt&amp;gt;CMAKE_INCLUDE_PATH&amp;lt;/tt&amp;gt; helps CMake to find the headers for &amp;lt;tt&amp;gt;libltdl&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libcd&amp;lt;/tt&amp;gt; in non-standard install locations.&lt;br /&gt;
&lt;br /&gt;
===== (Optional) set environment variables to specify the compilers and compiler flags =====&lt;br /&gt;
&lt;br /&gt;
Here is one particular example (which must be executed before the cmake invocation discussed below).&lt;br /&gt;
&lt;br /&gt;
 export CC=&amp;quot;gcc -O2&amp;quot;&lt;br /&gt;
 export CXX=&amp;quot;g++ -O2&amp;quot;&lt;br /&gt;
 export FC=&amp;quot;g77 -O2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Note a better option is to set CMAKE_BUILD_TYPE to one of Debug, Release, RelWithDebInfo, or MinSizeRel.  If you don&amp;#039;t set this variable and don&amp;#039;t set the environment variables above, then by default no compiler options (i.e., no optimization and no debugging symbols) are used for gcc-related&lt;br /&gt;
compilers for our CBS which makes for very fast builds, but slow execution.&lt;br /&gt;
&lt;br /&gt;
===== cmake invocation  =====&lt;br /&gt;
&lt;br /&gt;
 mkdir build_dir&lt;br /&gt;
 cd build_dir&lt;br /&gt;
 cmake -DCMAKE_INSTALL_PREFIX=/my/prefix -DCMAKE_VERBOSE_MAKEFILE=ON  ../plplot_cmake &amp;gt;&amp;amp; cmake.out&lt;br /&gt;
&lt;br /&gt;
Check the cmake.out file for any configuration issues, especially WARNING messages which signal that a component of PLplot has been removed because required system components for that component have not been found.&lt;br /&gt;
&lt;br /&gt;
Everything can be controlled with -D options to the cmake command.  In this case we have specified a particular install prefix &amp;quot;/my/prefix&amp;quot; and verbose make results (essential if you want to see the exact commands used for the build).  You can also specify options using the convenient ccmake command-line interface to cmake.  That interface also presents annotations for the options.&lt;br /&gt;
&lt;br /&gt;
Note an empty build directory called build_dir is used to insure a clean start, and ../plplot_cmake is a freshly checked out source tree (which remains clean because you never actually create any files in that directory tree).  To start fresh, simply execute &amp;quot;cd build_dir; rm -rf *&amp;quot;.  Of course, this is an extremely dangerous command (since it removes everything in the current directory and all subdirectories), but you should be okay so long as you cd to the correct directory before executing the &amp;quot;rm&amp;quot; command.&lt;br /&gt;
&lt;br /&gt;
===== Post-CMake processing ===== &lt;br /&gt;
[[The PLplot build and install]] follows the cmake invocation.  The installed tree can be tested with [[the PLplot install-tree test]] for a large variety of PLplot device drivers.  In addition, build-tree tests may be done with the &amp;quot;ctest&amp;quot; command.  Note, these ctests are limited to just the psc (colour postscript) device and can only be performed if cmake is invoked with the -DBUILD_TEST=ON option (which roughly doubles the build time because all the examples must be built).&lt;br /&gt;
&lt;br /&gt;
===== Specifics for various Unix platforms =====&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
&lt;br /&gt;
==== Mac OSX ====&lt;br /&gt;
* [[Mac OSX]] instructions&lt;br /&gt;
* [[Mac OSX Status]] current status&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
===== Instructions per Windows platform =====&lt;br /&gt;
&lt;br /&gt;
* [[Configure PLplot for Visual CXX]]&lt;br /&gt;
* [[Configure PLplot for MinGW/CLI]]&lt;br /&gt;
* [[Configure PLplot for cygwin]]&lt;br /&gt;
* [[Configure PLplot for Borland CXX 5.5 (free command line tools)]]&lt;br /&gt;
&lt;br /&gt;
===== Status of CBS on Windows =====&lt;br /&gt;
&lt;br /&gt;
* [[Overview of the status on Windows]]&lt;br /&gt;
&lt;br /&gt;
== Edit Wiki pages ==&lt;br /&gt;
&lt;br /&gt;
Consult the [http://meta.wikimedia.org/wiki/Help:Contents User&amp;#039;s Guide] for information on using the wiki software. More information can be found here:&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]&lt;br /&gt;
* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1475</id>
		<title>Mac OSX</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1475"/>
				<updated>2006-09-28T03:12:38Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once you have installed cmake and downloaded cvs plplot, the following commands should get you up and running:&lt;br /&gt;
&lt;br /&gt;
 cd plplot-working-directory&lt;br /&gt;
 mkdir plplot-build&lt;br /&gt;
 cd plplot-build&lt;br /&gt;
 cmake /path/to/cvs-plplot/directory&lt;br /&gt;
 ccmake .       (setting explained below)&lt;br /&gt;
 make&lt;br /&gt;
 make install   (possibly as root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuring the build with ccmake:&lt;br /&gt;
&lt;br /&gt;
 1. Set PLD_wxwidgets to OFF, unless you have a more recent version than that which comes standard with OS-X.&lt;br /&gt;
 2. Set ENABLE_tcl and ENABLE_tk to off.&lt;br /&gt;
 3. Depending on the location of swig, you may have to specify SWIG_DIR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to watch out for:&lt;br /&gt;
&lt;br /&gt;
 1. cmake is really good at finding libraries, but not so good at using the same library when multiple &lt;br /&gt;
    options are present. For example, I found that I had no less than 4 versions of Python on my &lt;br /&gt;
    system, and cmake was trying to use all of them for different purposes (library from one, executable &lt;br /&gt;
    from another, etc...).&lt;br /&gt;
 2. Once you have specified the location of swig (i.e. SWIG_DIR), you will need to configure again, &lt;br /&gt;
    then set ENABLE_python to ON, then configure again to get python setup properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is known to work on OS-X:&lt;br /&gt;
&lt;br /&gt;
 1. The AquaTerm driver.&lt;br /&gt;
 2. Fortran77 [GNU Fortran (GCC) 3.4.4]&lt;br /&gt;
 3. Fortran95 [GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)]&lt;br /&gt;
 4. Python2.4 [Python 2.4.2 (#1, Feb 11 2006, 21:54:49)]&lt;br /&gt;
    (I think that this version came with my OS-X box, or was part of the XCode (v2.1) developer tools.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1460</id>
		<title>Mac OSX</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1460"/>
				<updated>2006-09-18T03:29:54Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once you have installed cmake and downloaded cvs plplot, the following commands should get you up and running:&lt;br /&gt;
&lt;br /&gt;
 cd plplot-cvs&lt;br /&gt;
 cmake .&lt;br /&gt;
 ccmake .       (setting explained below)&lt;br /&gt;
 make&lt;br /&gt;
 make install   (possibly as root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuring the build with ccmake:&lt;br /&gt;
&lt;br /&gt;
 1. Set PLD_wxwidgets to OFF, unless you have a more recent version than that which comes standard with OS-X.&lt;br /&gt;
 2. Set ENABLE_tcl and ENABLE_tk to off.&lt;br /&gt;
 3. Depending on the location of swig, you may have to specify SWIG_DIR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to watch out for:&lt;br /&gt;
&lt;br /&gt;
 1. cmake is really good at finding libraries, but not so good at using the same library when multiple &lt;br /&gt;
    options are present. For example, I found that I had no less than 4 versions of Python on my &lt;br /&gt;
    system, and cmake was trying to use all of them for different purposes (library from one, executable &lt;br /&gt;
    from another, etc...).&lt;br /&gt;
 2. Once you have specified the location of swig (i.e. SWIG_DIR), you will need to configure again, &lt;br /&gt;
    then set ENABLE_python to ON, then configure again to get python setup properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is known to work on OS-X:&lt;br /&gt;
&lt;br /&gt;
 1. The AquaTerm driver.&lt;br /&gt;
 2. Fortran77 [GNU Fortran (GCC) 3.4.4]&lt;br /&gt;
 3. Fortran95 [GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)]&lt;br /&gt;
 4. Python2.4 [Python 2.4.2 (#1, Feb 11 2006, 21:54:49)]&lt;br /&gt;
    (I think that this version came with my OS-X box, or was part of the XCode (v2.1) developer tools.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	<entry>
		<id>http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1459</id>
		<title>Mac OSX</title>
		<link rel="alternate" type="text/html" href="http://www.miscdebris.net/plplot_wiki/index.php?title=Mac_OSX&amp;diff=1459"/>
				<updated>2006-09-18T03:29:03Z</updated>
		
		<summary type="html">&lt;p&gt;Hbabcock: Initial OS-X notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Once you have installed cmake and cvs plplot, the following commands should get you up and running:&lt;br /&gt;
&lt;br /&gt;
 cd plplot-cvs&lt;br /&gt;
 cmake .&lt;br /&gt;
 ccmake .       (setting explained below)&lt;br /&gt;
 make&lt;br /&gt;
 make install   (possibly as root)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configuring the build with ccmake:&lt;br /&gt;
&lt;br /&gt;
 1. Set PLD_wxwidgets to OFF, unless you have a more recent version than that which comes standard with OS-X.&lt;br /&gt;
 2. Set ENABLE_tcl and ENABLE_tk to off.&lt;br /&gt;
 3. Depending on the location of swig, you may have to specify SWIG_DIR.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things to watch out for:&lt;br /&gt;
&lt;br /&gt;
 1. cmake is really good at finding libraries, but not so good at using the same library when multiple &lt;br /&gt;
    options are present. For example, I found that I had no less than 4 versions of Python on my &lt;br /&gt;
    system, and cmake was trying to use all of them for different purposes (library from one, executable &lt;br /&gt;
    from another, etc...).&lt;br /&gt;
 2. Once you have specified the location of swig (i.e. SWIG_DIR), you will need to configure again, &lt;br /&gt;
    then set ENABLE_python to ON, then configure again to get python setup properly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What is known to work on OS-X:&lt;br /&gt;
&lt;br /&gt;
 1. The AquaTerm driver.&lt;br /&gt;
 2. Fortran77 [GNU Fortran (GCC) 3.4.4]&lt;br /&gt;
 3. Fortran95 [GNU Fortran 95 (GCC) 4.2.0 20060512 (experimental)]&lt;br /&gt;
 4. Python2.4 [Python 2.4.2 (#1, Feb 11 2006, 21:54:49)]&lt;br /&gt;
    (I think that this version came with my OS-X box, or was part of the XCode (v2.1) developer tools.&lt;/div&gt;</summary>
		<author><name>Hbabcock</name></author>	</entry>

	</feed>