vtkErrorMacro with loguru now caught

A year or two ago, an effort was made to make sure that vtkErrorMacro codepaths would cause a test to fail. Bill Lorensen wrote the vtkTestErrorObserver class which may be used to capture errors from a specific vtkObject and be used to ensure that a specific error does show up. This worked well until loguru started being used which made the error messages not match the old logger’s output format.

The new error format was not caught by the “did an error happen?” regex and numerous new ones have shown up in the meantime. This has been resolved recently (see this MR) and we have a number of tests which have error messages leaking out. It is unknown if some of these errors are expected (in which case vtkTestErrorObserver should be used) or if they are real errors that need addressed.

The list of tests which seem to be affected:

([ ] == unclaimed, [x] == claimed, [X] == fixed)

  • [x ] VTK::FiltersModelingCxx-UnitTestHausdorffDistancePointSetFilter
  • [ ] VTK::ImagingCorePython-imageMCAll
  • [ ] VTK::IOADIOS2Cxx-TestIOADIOS2VTX_VTI3D
  • [ ] VTK::IOADIOS2Cxx-TestIOADIOS2VTX_VTU3D
  • [X] VTK::FiltersCoreCxx-TestExplicitStructuredGridCrop
  • [X] VTK::FiltersCoreCxx-TestUnstructuredGridToExplicitStructuredGrid
  • [X] VTK::FiltersCoreCxx-TestUnstructuredGridToExplicitStructuredGridEmpty
  • [x] VTK::FiltersHyperTreeCxx-TestHyperTreeGridBinary2DVector
  • [x] VTK::FiltersHyperTreeCxx-TestHyperTreeGridBinaryEllipseMaterial
  • [x] VTK::FiltersHyperTreeCxx-TestHyperTreeGridBinaryHyperbolicParaboloidMaterial
  • [x] VTK::FiltersHyperTreeCxx-TestHyperTreeGridTernary3DAxisClipBox
  • [x] VTK::FiltersHyperTreeCxx-TestHyperTreeGridTernary3DGeometryLargeMaterialBits
  • [x] VTK::FiltersHyperTreeCxx-TestHyperTreeGridTernaryHyperbola
  • [x] VTK::FiltersSourcesCxx-TestCapsuleSource
  • [x] VTK::IOExportCxx-X3DTest
  • [x] VTK::IOXMLPython-TestEmptyXML
  • [x] VTK::IOXMLPython-TestWriteReadRandomHyperTreeGridAppendBinaryMode1
  • [X] VTK::AcceleratorsVTKmFiltersCxx-TestVTKMCoordinateSystemTransform
  • [X] VTK::AcceleratorsVTKmFiltersCxx-TestVTKMHistogram
  • [X] VTK::AcceleratorsVTKmFiltersCxx-TestVTKMNDHistogram
  • [X] VTK::InteractionWidgetsCxx-TestCoincidentHandleWidgets
  • [X] VTK::InteractionWidgetsCxx-TestPointHandleRepresentation3D

If developers could please take a test or set of tests to investigate, that would be immensely helpful.

Thanks,

@ben.boeckel @sankhesh @utkarshayachit

@Yohann_Bearzi could you please look at the hyper tree grid tests?

@Chuck_Atkins could you please look at the ADIOS tests?

I will tackle the following:

VTK::FiltersCoreCxx-TestExplicitStructuredGridCrop
VTK::FiltersCoreCxx-TestUnstructuredGridToExplicitStructuredGrid
VTK::FiltersCoreCxx-TestUnstructuredGridToExplicitStructuredGridEmpty
VTK::FiltersSourcesCxx-TestCapsuleSource
VTK::IOExportCxx-X3DTest
VTK::IOXMLPython-TestEmptyXML
VTK::FiltersCoreCxx-TestExplicitStructuredGridCrop
VTK::FiltersCoreCxx-TestUnstructuredGridToExplicitStructuredGrid
VTK::FiltersCoreCxx-TestUnstructuredGridToExplicitStructuredGridEmpty

I think that’s for us.

1 Like

Go for it :slight_smile:

Looking at it.

1 Like

I will tackle the following:

VTK::AcceleratorsVTKmFiltersCxx-TestVTKMCoordinateSystemTransform
VTK::AcceleratorsVTKmFiltersCxx-TestVTKMHistogram
VTK::AcceleratorsVTKmFiltersCxx-TestVTKMNDHistogram
1 Like

This one looks like the errors should just be ignored - but it’s a python test. How do we use vtkTestErrorObserver there?

1 Like

I’ll look into these.

1 Like

Hrm. Good point. I guess we need a Python version of the class. I’ll look into it.

Merge Request open to fix the VTK-m related failing tests:

https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7517

This has been fixed.

I’ve written an error observer for Python in this MR. Building locally to test it now.

HTG fixes are here

ExplicitGrid fixes are here (unrelated to ESG actually): https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7523

master now has a Python variant as from vtkmodules.test.ErrorObserver import vtkErrorObserver.

The dashboard is still burning.,… is anyone looking at UnitTestHausdorffDistancePointSetFilter ? If I don’t hear anything by Monday noon I’ll take a look.

It doesn’t look like anyone claimed UnitTestHausdorffDistancePointSetFilter yet.

I took care of it, and Utkarsh updated Ben’s TODO list. We are down to just a few now…

Mines are fixed, i’ve updated the list.