@michalos I'm not sure if I can help you but seems like model test code works for me.
What I did:
Added modeltest.h and cpp into my project
Added "testlib" into "QT" section of project file
Added this to modeltest.h:
#include <QtTest/qtestcase.h>
#define qVariantCanConvert(_type_, _var_) _var_.canConvert(QMetaType::_type_)
Changed expressions like "qVariantCanConvert<QString> ( variant)" to "qVariantCanConvert(QString, variant)" in modeltest.h
And... my sample model failed to pass the test of course :D