Here are some comparisons of the legacy plplot-test-interactive.sh approach
with the new test_interactive target.

legacy:

It works only for installed examples via "make test_interactive" for
Makefile+pkg-config build system for those examples.  Since this is all
done with a script, no parallel testing is possible.  Currently the
-np option is not used (although somebody could easily change that if
they wanted to continue to support this legacy system) which means
lots of user clicking to get through the test.  The dependency tracking
is quite limited.

new:

It works both for the build tree (with BUILD_TEST=ON) and installed examples
(using the new CMake-based build system for those examples).  If the CMake
Generator supports it, it can do the interactive tests in parallel (which is
actually a big advantage now since most tests display the results on screen
and quit automatically [thanks to the -np option] with no user intervention
required.) The dependency tracking is much more extensive than in the legacy
approach.  Furthermore, there are lots of individual targets such as
test_c_tk, and test_tk_0[1-4] (use "make help|grep test" to determine a
complete list of both noninteractive and interactive test targets) that can
be used for individual tests for special purposes if you don't want to
invoke all interactive tests using the test_interactive target (or all
noninteractive tests using the test_noninteractive target).

legacy:

The plplot-test-interactive.sh shell script is full of modern bashisms that
are unlikely to work for win-bash.  Also, it is probably going to take a lot
of effort if someone wants to get the current Makefile+pkg-config approach
to work on Windows (say with nmake).

new:

The implementation is is based on CMake so should essentially work on all
platforms with the appropriate CMake Generator for each platform.  There is
some scripting, but it is just a modest extension to the plplot-test.sh +
test_*.sh scripts that already have proved to work fine (under ctest) for
Windows and win-bash. Thus, there is a good chance it will work
out-of-the-box for that platform, but that needs testing (and possible
adjustment) to make sure of that.

legacy:

The devices that are tested are just xwin, tk, xcairo, gcw, wxwidgets,
and qtwidget.  Adding more interactive devices should be straightforward
if anybody is interested.

new:

The devices that are tested are _all_ enabled devices with an ":I:" designation
(for interactive) in cmake/modules/drivers-init.cmake.  The above list
is just an (admittedly important) subset of those.

legacy:

It includes tests of the following special applications: extXdrawable_demo,
plplotcanvas_demo, plplotcanvas_animation, plplotcanvas_demo.py,
plplotcanvas_animation.py, wxPLplotDemo, qt_example, the four Tk demos, 
the plgrid example (using plserver), and all the standard examples using
plserver.

It also includes ext-cairo-test which is actually a non-interactive
test (which was forgotten in the legacy Makefile+pkg-config
test_noninteractive target).

new:

As of revision 10842 it includes tests of all of the above (except
ext-cairo-test which is covered by the test_noninteractive target).

In sum, the new CMake-based test_interactive target and all the individual
interactive test targets it depends on constitutes a much better system
than the legacy approach for our developers to do comprehensive and flexible
testing of interactive PLplot.  A similar comment applies for the
CMake-based test_noninteractive target compared to ctest in the build tree
or the legacy Makefile+pkg-config test_noninteractive target for the
installed examples.

That does leave the question of what to do for the legacy test_interactive
and test_noninteractive targets that are based on the Makefile+pkg-config
build system for the installed examples and the legacy ctest system that
works in the build tree which has now been superseded by the
test_noninteractive target.  The Makefile + pkg-config approach is still
quite popular (at least in the Unix world) and ctest (despite its
deficiencies with regard to parallel tests and dependencies) does have some
interesting dashboarding possibilities. Therefore, since I am a lot more
interested in the CMake-based test_noninteractive and test_interactive
targets, I plan to do just minimal maintenance of the legacy
pkg-config+Makefile targets and ctest unless some other developer who wants
to do more with any of those steps forward.

Alan
__________________________
Alan W. Irwin

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

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

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to