Looks like the test didn't fail:

<DartMeasurement name="ImageError" type="numeric/double">0</DartMeasurement><DartMeasurement name="BaselineImage" 
type="text/string">Standard</DartMeasurement><DartMeasurement name="WallTime" type="numeric/double">0.14</DartMeasurement>

...at least not because of ImageError. The value for the ImageError measurement is 0. If it failed, it failed because of something else.

Did ctest report that the test failed? What's the output if you run ctest -V -R TestCommonGeomUtils2?

You're on the right track...


[EMAIL PROTECTED] wrote:

Hi David,

thanks for your reply.

I have a couple more questions (for anyone) based on
CMake testing of VTK/Examples/Build/vtkMy,
since I seem to be generating image test errors with ctest.

In my root CMakeLists.txt, I added the following to do hopefully basic testing, without submitting results to a dashboard:
#projectroot/CMakeLists.txt

MARK_AS_ADVANCED(BUILD_TESTING)
IF(BUILD_TESTING)
 ENABLE_TESTING()
ENDIF(BUILD_TESTING)

and in CMakeOptions.cmake:

#projectroot/CMakeOptions.cmake

MARK_AS_ADVANCED(BUILD_TESTING)
IF(BUILD_TESTING)
 IF(NOT VTKLOCAL_TESTING_TEMPORARY_DIR)
   MAKE_DIRECTORY(${PROJECT_BINARY_DIR}/Testing/Temporary)
   SET(VTKLOCAL_TESTING_TEMPORARY_DIR "${PROJECT_BINARY_DIR}/Testing/Temporary" CACHE 
INTERNAL "Temporary folder for tests")
 ENDIF(NOT VTKLOCAL_TESTING_TEMPORARY_DIR)
 ENABLE_TESTING()
 OPTION(VTK_USE_DISPLAY "Turn this option off and tests will not popup windows" 
ON)
 MARK_AS_ADVANCED(VTK_USE_DISPLAY)
 SET(CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
ENDIF(BUILD_TESTING)

finally, in one of my source code subdirs, I have Testing/Cxx/CMakeLists.txt
along with the .cxx tests:

#projectroot/Common/Testing/Cxx/CMakeLists.txt

SET(KIT LocalCommon)

SET(MyTests
 TestCommon.cxx
 TestCommonGeomUtils.cxx
 TestCommonGeomUtils2.cxx
)

CREATE_TEST_SOURCELIST(
 Tests
 ${KIT}CxxTests.cxx
 ${MyTests}
 EXTRA_INCLUDE vtkTestDriver.h
)

ADD_EXECUTABLE(${KIT}CxxTests ${Tests} )
TARGET_LINK_LIBRARIES(${KIT}CxxTests vtkLocalCommon vtkCommon vtkFiltering 
vtkGraphics vtkRendering)

SET (TestsToRun ${Tests})
REMOVE (TestsToRun ${KIT}CxxTests.cxx)

FOREACH (test ${TestsToRun})
 GET_FILENAME_COMPONENT(TName ${test} NAME_WE)
 ADD_TEST(
${TName} ${CXX_TEST_PATH}/${KIT}CxxTests
   ${TName}
   -V ${VTKLOCAL_SOURCE_DIR}/Testing/baseline/${TName}.png
   -T ${VTKLOCAL_TESTING_TEMPORARY_DIR}
) ENDFOREACH (test)

The third .cxx test uses the standard vtk testing tools

<snip>
 // some VTK graphics pipeline here...

 int retVal = vtkRegressionTestImage( renWin );
 if ( retVal == vtkRegressionTester::DO_INTERACTOR)
        {
        iren->Start();
        }
return retVal;
<snip>

running ctest with NO image in the project source tree's Testing/baseline dir 
generates
a (correct) .png test image in the project binary build tree under 
/Testing/Temporary,
with LastTest.log file containing:

<snip>
3/3 Testing: TestCommonGeomUtils2
3/3 Test: TestCommonGeomUtils2
Command: "d:/Developer/Releases/Borland/vtkStatic/bin/LocalCommonCxxTests.exe" "TestCommonGeomUtils2" "-V" "d:/Developer/ISSCode/vtkLocal/Testing/baseline/TestCommonGeomUtils2.png" "-T" "d:/Developer/Releases/Borland/vtkLocalStatic/Testing/Temporary" Directory: d:/Developer/Releases/Borland/vtkLocalStatic/Common/Testing/Cxx
"TestCommonGeomUtils2" start time: Sep 20 11:45 Eastern Daylight Time
Output:
----------------------------------------------------------
<DartMeasurement name="ImageNotFound" 
type="text/string">d:/Developer/ISSCode/vtkLocal/Testing/baseline/TestCommonGeomUtils2.png</DartMeasurement>

<DartMeasurement name="WallTime" 
type="numeric/double">0.0900002</DartMeasurement>

<DartMeasurement name="CPUTime" type="numeric/double">0.1</DartMeasurement>

----------------------------------------------------------
"TestCommonGeomUtils2" end time: Sep 20 11:45 Eastern Daylight Time
"TestCommonGeomUtils2" time elapsed: 00:00:00
----------------------------------------------------------
<snip>


If I copy that image as my baseline for the test into the source tree's 
Testing/baseline dir
and then run the test, I encounter a failed test with log entry along with a 
LastTestsFailed.log
and no .diff.png or .small.png image(s):

<snip>
3/3 Testing: TestCommonGeomUtils2
3/3 Test: TestCommonGeomUtils2
Command: "d:/Developer/Releases/Borland/vtkStatic/bin/LocalCommonCxxTests.exe" "TestCommonGeomUtils2" "-V" "d:/Developer/ISSCode/vtkLocal/Testing/baseline/TestCommonGeomUtils2.png" "-T" "d:/Developer/Releases/Borland/vtkLocalStatic/Testing/Temporary" Directory: d:/Developer/Releases/Borland/vtkLocalStatic/Common/Testing/Cxx
"TestCommonGeomUtils2" start time: Sep 20 11:48 Eastern Daylight Time
Output:
----------------------------------------------------------
<DartMeasurement name="ImageError" type="numeric/double">0</DartMeasurement><DartMeasurement name="BaselineImage" 
type="text/string">Standard</DartMeasurement><DartMeasurement name="WallTime" type="numeric/double">0.14</DartMeasurement>

<DartMeasurement name="CPUTime" type="numeric/double">0.14</DartMeasurement>

----------------------------------------------------------
"TestCommonGeomUtils2" end time: Sep 20 11:48 Eastern Daylight Time
"TestCommonGeomUtils2" time elapsed: 00:00:00
----------------------------------------------------------
<snip>

I thought at least that ctest would generate the usual .small and .diff images
in a failure case.  Also, I don't see why the test should fail since the test
image and baseline images are identical.

Dean


_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to