TestDeclarations::testQMLtypesImportPaths fails on the CI because of missing QtQuick.XmlListModel module
The following error is present in CI build logs for months now:
FAIL! : TestDeclarations::testQMLtypesImportPaths() 'QFileInfo::exists(path + "/plugins.qmltypes")' returned FALSE. ()
Loc: [/builds/kdevelop/kdevelop/plugins/qmljs/duchain/tests/test_qmljsdeclarations.cpp(267)]
The relevant test code at the lines 266-267 of test_qmljsdeclarations.cpp is:
path = QmlJS::Cache::instance().modulePath(stubPath, QStringLiteral("QtQuick.XmlListModel"), QStringLiteral("2.0"));
QVERIFY(QFileInfo::exists(path + "/plugins.qmltypes"));
I think the test started failing because of packaging/craft-blueprints-kde!214 (merged). I suspect that inserting the following line into https://commits.kde.org/craft-blueprints-kde?path=extragear/kdevelop/kdevelop/kdevelop.py will fix the test failure:
self.runtimeDependencies["libs/qt5/qtxmlpatterns"] = None
But I am not sure it's the right fix, because KDevelop doesn't seem to use the QtQuick.XmlListModel module anywhere except in the failing test. plugins/welcomepage/qml/NewsFeed.qml uses this module, but the news feed itself has been unconditionally disabled since c6665446. So perhaps instead of adding the qtxmlpatterns dependency, the test should detect the absence of QtQuick.XmlListModel and skip the now-failing check in that case.