diff options
author | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2021-12-28 16:59:05 +0200 |
---|---|---|
committer | Arttu Tarkiainen <arttu.tarkiainen@qt.io> | 2021-12-29 14:11:56 +0200 |
commit | 6b9cee28af1e97ebf266daa48ea4f048675a18d9 (patch) | |
tree | 92c0850737b9a67fc9888c6392f70d384834c3dc /tests | |
parent | 8bfee8f2ba5e23babecd79110c5d91b0a2568eb1 (diff) |
Tests: fix leaking PackageManagerCore objects
This left quite many temporary files from being properly released and
could affect the test cases that followed, for example when temporary
repository directories were not cleaned they hid problems in the
clearing of downloaded archives resource mapping.
Change-Id: Id8ba1837486264d35af0c297a0519e160eb99d60
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'tests')
9 files changed, 70 insertions, 67 deletions
diff --git a/tests/auto/installer/cliinterface/tst_cliinterface.cpp b/tests/auto/installer/cliinterface/tst_cliinterface.cpp index 25910cd9c..e5a819aec 100644 --- a/tests/auto/installer/cliinterface/tst_cliinterface.cpp +++ b/tests/auto/installer/cliinterface/tst_cliinterface.cpp @@ -50,38 +50,38 @@ private slots: QTest::ignoreMessage(QtDebugMsg, "Operations sanity check succeeded."); - PackageManagerCore *core = PackageManager::getPackageManager - (m_installDir, ":///data/repository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManager + (m_installDir, ":///data/repository")); QLoggingCategory::setFilterRules(loggingRules); auto func = &PackageManagerCore::listAvailablePackages; - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"AB\" displayname=\"AB\" version=\"1.0.2-1\"/>\n" " <package name=\"A\" displayname=\"A\" version=\"1.0.2-1\"/>\n" " <package name=\"B\" displayname=\"B\" version=\"1.0.0-1\"/>\n" " <package name=\"C\" displayname=\"C\" version=\"1.0.0-1\"/>\n" "</availablepackages>\n"), func, QLatin1String("."), QHash<QString, QString>()); - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"AB\" displayname=\"AB\" version=\"1.0.2-1\"/>\n" " <package name=\"A\" displayname=\"A\" version=\"1.0.2-1\"/>\n" "</availablepackages>\n"), func, QLatin1String("A"), QHash<QString, QString>()); - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"AB\" displayname=\"AB\" version=\"1.0.2-1\"/>\n" " <package name=\"A\" displayname=\"A\" version=\"1.0.2-1\"/>\n" "</availablepackages>\n"), func, QLatin1String("A.*"), QHash<QString, QString>()); - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"B\" displayname=\"B\" version=\"1.0.0-1\"/>\n" "</availablepackages>\n"), func, QLatin1String("^B"), QHash<QString, QString>()); - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"B\" displayname=\"B\" version=\"1.0.0-1\"/>\n" "</availablepackages>\n"), func, QLatin1String("^B.*"), QHash<QString, QString>()); - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"C\" displayname=\"C\" version=\"1.0.0-1\"/>\n" "</availablepackages>\n"), func, QLatin1String("^C"), QHash<QString, QString>()); @@ -90,14 +90,14 @@ private slots: { "Version", "1.0.2" }, { "DisplayName", "A" } }; - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"AB\" displayname=\"AB\" version=\"1.0.2-1\"/>\n" " <package name=\"A\" displayname=\"A\" version=\"1.0.2-1\"/>\n" "</availablepackages>\n"), func, QString(), searchHash); searchHash.clear(); searchHash.insert("Default", "false"); - verifyListPackagesMessage(core, QLatin1String("<availablepackages>\n" + verifyListPackagesMessage(core.get(), QLatin1String("<availablepackages>\n" " <package name=\"B\" displayname=\"B\" version=\"1.0.0-1\"/>\n" "</availablepackages>\n"), func, QString(), searchHash); @@ -116,8 +116,8 @@ private slots: QString loggingRules = (QLatin1String("ifw.* = false\n" "ifw.installer.installlog = true\n")); - PackageManagerCore *core = PackageManager::getPackageManager - (m_installDir, ":///data/uninstallableComponentsRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManager + (m_installDir, ":///data/uninstallableComponentsRepository")); QLoggingCategory::setFilterRules(loggingRules); @@ -210,8 +210,8 @@ private slots: void testNoDefaultInstallations() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); core->setNoDefaultInstallation(true); QCOMPARE(PackageManagerCore::Success, core->installDefaultComponentsSilently()); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -222,8 +222,8 @@ private slots: void testInstallForcedPackageSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentE"))); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -236,8 +236,8 @@ private slots: void testInstallPackageSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentA"))); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -250,8 +250,8 @@ private slots: void testUninstallPackageSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentA"))); VerifyInstaller::verifyFileExistence(m_installDir, QStringList() << "components.xml" << "installcontentE.txt" @@ -270,8 +270,8 @@ private slots: void testRemoveAllSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentA"))); VerifyInstaller::verifyFileExistence(m_installDir, QStringList() << "components.xml" << "installcontentE.txt" @@ -296,8 +296,8 @@ private slots: void testInstallWithDependencySilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentC"))); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -314,8 +314,8 @@ private slots: void testUninstallWithDependencySilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentC"))); VerifyInstaller::verifyFileExistence(m_installDir, QStringList() << "components.xml" << "installcontentC.txt" @@ -341,8 +341,8 @@ private slots: void testInstallSubcomponentSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentF.subcomponent2.subsubcomponent2"))); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -360,8 +360,8 @@ private slots: void testUninstallSubcomponentSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << QLatin1String("componentF.subcomponent2.subsubcomponent2"))); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -387,8 +387,8 @@ private slots: void testInstallDefaultPackagesSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installDefaultComponentsSilently()); QCOMPARE(PackageManagerCore::Success, core->status()); VerifyInstaller::verifyInstallerResources(m_installDir, "componentA", "1.0.0content.txt"); //Dependency for componentG @@ -400,8 +400,8 @@ private slots: void testUnInstallDefaultPackagesSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installDefaultComponentsSilently()); QCOMPARE(PackageManagerCore::Success, core->status()); VerifyInstaller::verifyFileExistence(m_installDir, QStringList() << "components.xml" << "installcontent.txt" @@ -421,8 +421,8 @@ private slots: void testUninstallForcedPackagesSilenly() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installDefaultComponentsSilently()); QCOMPARE(PackageManagerCore::Success, core->status()); core->commitSessionOperations(); @@ -440,8 +440,8 @@ private slots: void testUninstallAutodependencyPackagesSilenly() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentA" << "componentB")); QCOMPARE(PackageManagerCore::Success, core->status()); @@ -463,8 +463,8 @@ private slots: void testUninstallVirtualSetVisibleSilently() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/installPackagesRepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/installPackagesRepository")); core->setVirtualComponentsVisible(true); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() <<"componentH")); @@ -481,8 +481,8 @@ private slots: void testFileQuery() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit(m_installDir, - ":///data/filequeryrepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit(m_installDir, + ":///data/filequeryrepository")); core->setCommandLineInstance(true); core->setFileDialogAutomaticAnswer("ValidDirectory", m_installDir); diff --git a/tests/auto/installer/createoffline/tst_createoffline.cpp b/tests/auto/installer/createoffline/tst_createoffline.cpp index 3a3431442..123f37a5b 100644 --- a/tests/auto/installer/createoffline/tst_createoffline.cpp +++ b/tests/auto/installer/createoffline/tst_createoffline.cpp @@ -102,7 +102,8 @@ private slots: QFETCH(QString, component); QFETCH(PackageManagerCore::Status, expectedStatus); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit(m_targetDir, repository); + QScopedPointer<PackageManagerCore> core( + PackageManager::getPackageManagerWithInit(m_targetDir, repository)); core->setCommandLineInstance(true); core->setOfflineBaseBinary(m_installerBase); core->setOfflineBinaryName("ifw_test_offline"); @@ -151,7 +152,8 @@ private slots: QFETCH(bool, allowUnstable); QFETCH(PackageManagerCore::Status, expectedStatus); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit(m_targetDir, repository); + QScopedPointer<PackageManagerCore> core( + PackageManager::getPackageManagerWithInit(m_targetDir, repository)); core->setCommandLineInstance(true); core->setOfflineBaseBinary(m_installerBase); core->setOfflineBinaryName("ifw_test_offline"); diff --git a/tests/auto/installer/createshortcutoperation/tst_createshortcutoperation.cpp b/tests/auto/installer/createshortcutoperation/tst_createshortcutoperation.cpp index a57098d2a..313cdf677 100644 --- a/tests/auto/installer/createshortcutoperation/tst_createshortcutoperation.cpp +++ b/tests/auto/installer/createshortcutoperation/tst_createshortcutoperation.cpp @@ -52,9 +52,10 @@ private: void installFromCLI(const QString &repository) { QInstaller::init(); - PackageManagerCore *core = new PackageManagerCore(BinaryContent::MagicInstallerMarker, QList<OperationBlob> (), - QString(), Protocol::DefaultAuthorizationKey, Protocol::Mode::Production, - QHash<QString, QString>(), true); + QScopedPointer<PackageManagerCore> core(new PackageManagerCore(BinaryContent::MagicInstallerMarker, + QList<OperationBlob> (), QString(), Protocol::DefaultAuthorizationKey, + Protocol::Mode::Production, QHash<QString, QString>(), true)); + core->setAllowedRunningProcesses(QStringList() << QCoreApplication::applicationFilePath()); core->disableWriteMaintenanceTool(); core->setAutoConfirmCommand(); diff --git a/tests/auto/installer/environmentvariableoperation/tst_environmentvariableoperation.cpp b/tests/auto/installer/environmentvariableoperation/tst_environmentvariableoperation.cpp index d0ded4c58..4afbc709c 100644 --- a/tests/auto/installer/environmentvariableoperation/tst_environmentvariableoperation.cpp +++ b/tests/auto/installer/environmentvariableoperation/tst_environmentvariableoperation.cpp @@ -47,8 +47,8 @@ private: { QString installDir = QInstaller::generateTemporaryFileName(); QVERIFY(QDir().mkpath(installDir)); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (installDir, repository); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (installDir, repository)); core->installDefaultComponentsSilently(); QVERIFY(m_settings->value("IFW_UNIT_TEST_LOCAL").toString().isEmpty()); diff --git a/tests/auto/installer/extractarchiveoperationtest/tst_extractarchiveoperationtest.cpp b/tests/auto/installer/extractarchiveoperationtest/tst_extractarchiveoperationtest.cpp index 782f3b57e..658694fe9 100644 --- a/tests/auto/installer/extractarchiveoperationtest/tst_extractarchiveoperationtest.cpp +++ b/tests/auto/installer/extractarchiveoperationtest/tst_extractarchiveoperationtest.cpp @@ -92,8 +92,8 @@ private slots: QVERIFY(QDir().mkpath(m_testDirectory)); QVERIFY(QDir(m_testDirectory).exists()); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_testDirectory, ":///data/xmloperationrepository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_testDirectory, ":///data/xmloperationrepository")); core->installDefaultComponentsSilently(); QFile extractedFile(m_testDirectory + QDir::separator() + "FolderForContent/content.txt"); diff --git a/tests/auto/installer/installiconsoperation/tst_installiconsoperation.cpp b/tests/auto/installer/installiconsoperation/tst_installiconsoperation.cpp index 20e6a1a91..3dc981652 100644 --- a/tests/auto/installer/installiconsoperation/tst_installiconsoperation.cpp +++ b/tests/auto/installer/installiconsoperation/tst_installiconsoperation.cpp @@ -47,8 +47,8 @@ private: { QString installDir = QInstaller::generateTemporaryFileName(); QVERIFY(QDir().mkpath(installDir)); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (installDir, repository); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (installDir, repository)); core->installDefaultComponentsSilently(); InstallIconsOperation *installIconsOp = nullptr; diff --git a/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp b/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp index 836b3dcbd..5c98d7f8b 100644 --- a/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp +++ b/tests/auto/installer/linereplaceoperation/tst_linereplaceoperation.cpp @@ -45,8 +45,8 @@ private: { QString installDir = QInstaller::generateTemporaryFileName(); QVERIFY(QDir().mkpath(installDir)); - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (installDir, repository); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (installDir, repository)); core->installDefaultComponentsSilently(); QFile file(installDir + QDir::separator() + "A.txt"); diff --git a/tests/auto/installer/moveoperation/tst_moveoperation.cpp b/tests/auto/installer/moveoperation/tst_moveoperation.cpp index 6bc72242a..136eb1e45 100644 --- a/tests/auto/installer/moveoperation/tst_moveoperation.cpp +++ b/tests/auto/installer/moveoperation/tst_moveoperation.cpp @@ -42,8 +42,8 @@ class tst_moveoperation : public QObject private: void installFromCLI(const QString &repository) { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_testDirectory, repository); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_testDirectory, repository)); core->installDefaultComponentsSilently(); QFile movedFile(m_testDirectory + QDir::separator() + "DestinationFolder/testFile.txt"); diff --git a/tests/auto/installer/treename/tst_treename.cpp b/tests/auto/installer/treename/tst_treename.cpp index 0dc7bfa33..b7a511ffb 100644 --- a/tests/auto/installer/treename/tst_treename.cpp +++ b/tests/auto/installer/treename/tst_treename.cpp @@ -57,8 +57,8 @@ private: void tst_TreeName::moveToRoot() { // componentB.sub1.sub1 moved from sub item to root (BSub1Sub1ToRoot) - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/repository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/repository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentB.sub1.sub1")); QList<Component*> installedComponents = core->orderedComponentsToInstall(); @@ -75,8 +75,8 @@ void tst_TreeName::moveToRoot() void tst_TreeName::moveToSubItem() { // componentB.sub1.sub2 moved under componentC (componentC.sub1) - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/repository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/repository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentC")); VerifyInstaller::verifyInstallerResources(m_installDir, "componentB.sub1.sub2", "1.0.0content.txt"); @@ -88,8 +88,8 @@ void tst_TreeName::moveToSubItem() void tst_TreeName::dependencyToMovedItem() { // componentA depends on componentB.sub2 which is moved to root - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/repository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/repository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentA")); VerifyInstaller::verifyInstallerResources(m_installDir, "componentA", "1.0.0content.txt"); @@ -102,8 +102,8 @@ void tst_TreeName::dependencyToMovedItem() void tst_TreeName::autodependOnMovedItem() { // componentD autodepends on componentA.sub2 which is moved to root - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/repository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/repository")); QCOMPARE(PackageManagerCore::Success, core->installSelectedComponentsSilently(QStringList() << "componentA.sub2")); VerifyInstaller::verifyInstallerResources(m_installDir, "componentA.sub2", "1.0.0content.txt"); VerifyInstaller::verifyInstallerResources(m_installDir, "componentD", "1.0.0content.txt"); @@ -113,8 +113,8 @@ void tst_TreeName::autodependOnMovedItem() void tst_TreeName::moveToExistingItem() { - PackageManagerCore *core = PackageManager::getPackageManagerWithInit - (m_installDir, ":///data/invalid_repository"); + QScopedPointer<PackageManagerCore> core(PackageManager::getPackageManagerWithInit + (m_installDir, ":///data/invalid_repository")); QCOMPARE(PackageManagerCore::Failure, core->installSelectedComponentsSilently(QStringList() << "componentA")); QCOMPARE(core->error(), "Cannot register component! Component with identifier componentA.sub1 already exists."); } |