Page MenuHomePhabricator

[Dashboard] dartclient failed to pass mitkPropertyListTest on MacOSX
Closed, ResolvedPublic

Event Timeline

The GetProperty() is failing for all types: Get{Bool | Int | Float}Property() because of a dynamic_cast returning NULL in the method

GetPropertyValue(const char* propertyKey, T & value)

in mitkPropertyList.cpp at line 247:

GenericProperty<T>* gp= dynamic_cast<GenericProperty<T>*>(GetProperty(propertyKey) );

IIRC Daniel should know something about this code.

[SVN revision 23042]
ENH (#3895): more verbose output if a subtest fails

I looked into the test code and cannot see the problem yet.

The failing test

  • adds a BoolProperty into a PropertyList
  • calls the templated GetPropertyValue<bool> to check the property value
  • checks the return value of GetPropertyValue
  • checks the returned value against the actual property value

Since I don't have a Mac build ready, I first enhanced the test output. I also checked the implementation of GetPropertyValue and cannot find a problem. We have this strange construction with GenericProperty<bool> and BoolProperty, but technically it should work to cast a BoolProperty to GenericProperty<bool>.

I'll try to get a build environment on mbi070.

T3893 might be a duplicate, it also fails in checking some bool property..

T3893 is failing not only due to the failing GetBoolValue(). So it is related, but not a duplicate.

The templated method mitk::PropertyList::GetPropertyValue<T> does not work,
cause it is based on GenericProperty<T>, which doesnt work correctly on Macs due to a compiler bug. Please see my comments on T3893 for details.

I add a patch that disables the tests for the templated method for macs.

disabling testing of the non-working templated method on macs

Testing bugs are part of their respective modules -> changing component to other, please assign appropriate component.