[vtk-developers] vtk Testing/Cxx and vtk Examples

David Cole david.cole at kitware.com
Mon Dec 28 09:02:02 EST 2009


On Mon, Dec 28, 2009 at 12:35 AM, Bill Lorensen <bill.lorensen at gmail.com>wrote:

> Folks,
>
> I have just checked in changes that simplify testing of vtk c++
> classes and vtk examples.
>
> 1) Two new classes: Rendering/vtkTestingObjectFactory and
> Rendering/vtkTestingInteractor as well as cmake code
> vtkTestingObjectFactory.cmake.
> // .NAME vtkTestingObjectFactory - Object overrides used during testing
> // .SECTION Description
> // Some vtk examples and tests need to perform differently when they
> // are run as tests versus when they are run as individual
> // programs. Many tests/examples are interactive and eventually call
> // vtkRenderWindowInteration::Start() to initialise the
> // interaction. But, when run as tests, these programs should
> // exit. This factory overrides vtkRenderWindowInteractor so that the
> // Start() method just returns.
> // To use this factory:
> //   #include "vtkTestingObjectFactory.h"
> //   vtkTestingObjectFactory* factory = vtkTestingObjectFactory::New();
> //   vtkObjectFactory::RegisterFactory(factory);
> //
> and
> // .NAME vtkTestingInteractor - A RenderWindowInteractor for testing
> // .SECTION Description
> // Provides a Start() method that passes arguments to a test for
> // regression testing and returns. This permits programs that
> // run as tests to exit gracefully during the test run without needing
> // interaction.
>
> The vtkTestingObjectFactory.cmake uses these classes and the existing
> CREATE_TEST_SOURCELIST
> to build a test driver for examples and/or tests.
>
> They permit tests and examples to be run without having to modify the
> test or example. The tests and examples can be run interactively or as
> non-interactive tests. Automatic support for regression testing is
> supported.
>
> I will be creating a wiki page to describe the new facility. These
> changes are backward compatible with the existing tests.
>
> Examples are now built the same as tests. They can still be built
> within the vtk tree or externally.
>
> Currently, only the examples have been changed to work with the new
> facility. I have tested the new approach on many exiting Testing/Cxx
> tests, but have not checked in the change to the tests.
>
> I'll monitor the dashboard closely this week to fix any problem.
>
>
Nice.

Just one comment for you: the "-I" command line option is used with many of
the existing VTK tests so that the Start method does *not* immediately
return and actually does start an event/message loop so that the test can be
run interactively for debugging purposes. Hopefully your new interactor can
be rigged to pay attention to that option so that tests/examples may both be
run with or without "-I" to enable interaction and automation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20091228/3ba3766d/attachment.html>


More information about the vtk-developers mailing list