[vtkusers] regression testing

Miroslav Drahos mdrahos at thinksurgical.com
Fri Jan 16 19:42:37 EST 2015

Hi vtk folk,
I have set up ctest/cdash testing framework (using vtk 5.10 as model), but one piece of puzzle I cannot figure out -- regression testing. If anyone could point me what I am missing, I would greatly appreciate it!

I write the test, e.g. testMyWidget.cpp, containing the "main" function just as vtk tests do:

int testMyWidget (int argc, char ** argv)
   int retval = 0;
   // do stuff here, create rendering pipeline and draw into vtkRenderWindow

  retval = vtkRegressionTestImage(rw);
  if (retval == vtkRegressionTester::DO_INTERACTOR)

  return retval;

I have a baseline image saved as ../../data/Baseline/testMyWidget.png.
To run the test manually, I invoke:
make && ./myCppTests testMyWidget -V Baseline/testMyWidget.png  -T Temporary -D ../../data/

And always keep getting ImageError, although I just took a screenshot of the renderwindow (.png format -- see below) so it is current. Error is set to default 10.
<DartMeasurement name="ImageError" type="numeric/double">0</DartMeasurement><DartMeasurement name="BaselineImage" type="text/string">Standard</DartMeasurement><DartMeasurement name="WallTime" type="numeric/double">0.0631258</DartMeasurement>

My baseline screenshot was created like this:

void ODVtkIO::screenshot(vtkRenderWindow * rw, const std::string& fname)
   if (rw == NULL)

   VTK_CREATE(vtkWindowToImageFilter, w2i);
   w2i->ReadFrontBufferOff();   // added to match vtkTesting::RegressionTest(double thresh, ostream &os)
   w2i->Modified();  // See doc http://www.vtk.org/doc/nightly/html/classvtkWindowToImageFilter.html#details

   VTK_CREATE(vtkPNGWriter, writer);

vtkTesting::RegressionTest(double, ostream&) takes screenshots same way. Yet, I am getting ImageError. Why?


More information about the vtkusers mailing list