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

Bill Lorensen bill.lorensen at gmail.com
Mon Dec 28 09:15:28 EST 2009


It does recognize the -I and behaves like the existing method.  I'll
check in one Widgets test today so you can see how much cleaner the
code looks.

Also, I hope to clear up most of the configure errors that occurred last night.


On Mon, Dec 28, 2009 at 9:02 AM, David Cole <david.cole at kitware.com> wrote:
> 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
>> 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.

More information about the vtk-developers mailing list