diff options
Diffstat (limited to 'tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp')
-rw-r--r-- | tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp b/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp index f34741281c..c517c0809a 100644 --- a/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp +++ b/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp @@ -140,6 +140,10 @@ void tst_QPluginLoader::cleanup() void tst_QPluginLoader::errorString() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif + const QString unknown(QLatin1String("Unknown error")); { @@ -206,6 +210,14 @@ void tst_QPluginLoader::errorString() { QPluginLoader loader( sys_qualifiedLibraryName("theplugin")); //a plugin + + // Check metadata + const QJsonObject metaData = loader.metaData(); + QCOMPARE(metaData.value("IID").toString(), QStringLiteral("org.qt-project.Qt.autotests.plugininterface")); + const QJsonObject kpluginObject = metaData.value("MetaData").toObject().value("KPlugin").toObject(); + QCOMPARE(kpluginObject.value("Name[mr]").toString(), QString::fromUtf8("चौकट भूमिती")); + + // Load QCOMPARE(loader.load(), true); QCOMPARE(loader.errorString(), unknown); @@ -224,6 +236,9 @@ void tst_QPluginLoader::errorString() void tst_QPluginLoader::loadHints() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif QPluginLoader loader; QCOMPARE(loader.loadHints(), (QLibrary::LoadHints)0); //Do not crash loader.setLoadHints(QLibrary::ResolveAllSymbolsHint); @@ -233,6 +248,9 @@ void tst_QPluginLoader::loadHints() void tst_QPluginLoader::deleteinstanceOnUnload() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif for (int pass = 0; pass < 2; ++pass) { QPluginLoader loader1; loader1.setFileName( sys_qualifiedLibraryName("theplugin")); //a plugin @@ -268,6 +286,9 @@ void tst_QPluginLoader::deleteinstanceOnUnload() void tst_QPluginLoader::loadDebugObj() { +#if !defined(QT_SHARED) + QSKIP("This test requires a shared build of Qt, as QPluginLoader::setFileName is a no-op in static builds"); +#endif #if defined (__ELF__) QVERIFY(QFile::exists(QFINDTESTDATA("elftest/debugobj.so"))); QPluginLoader lib1(QFINDTESTDATA("elftest/debugobj.so")); @@ -277,6 +298,9 @@ void tst_QPluginLoader::loadDebugObj() void tst_QPluginLoader::loadCorruptElf() { +#if !defined(QT_SHARED) + QSKIP("This test requires a shared build of Qt, as QPluginLoader::setFileName is a no-op in static builds"); +#endif #if defined (__ELF__) if (sizeof(void*) == 8) { QVERIFY(QFile::exists(QFINDTESTDATA("elftest/corrupt1.elf64.so"))); @@ -377,6 +401,9 @@ void tst_QPluginLoader::loadMachO() #if defined (Q_OS_UNIX) void tst_QPluginLoader::loadGarbage() { +#if !defined(QT_SHARED) + QSKIP("This test requires a shared build of Qt, as QPluginLoader::setFileName is a no-op in static builds"); +#endif for (int i=0; i<5; i++) { const QString name = QLatin1String("elftest/garbage") + QString::number(i + 1) + QLatin1String(".so"); QPluginLoader lib(QFINDTESTDATA(name)); @@ -388,6 +415,9 @@ void tst_QPluginLoader::loadGarbage() void tst_QPluginLoader::relativePath() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif // Windows binaries run from release and debug subdirs, so we can't rely on the current dir. const QString binDir = QFINDTESTDATA("bin"); QVERIFY(!binDir.isEmpty()); @@ -402,6 +432,9 @@ void tst_QPluginLoader::relativePath() void tst_QPluginLoader::absolutePath() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif // Windows binaries run from release and debug subdirs, so we can't rely on the current dir. const QString binDir = QFINDTESTDATA("bin"); QVERIFY(!binDir.isEmpty()); @@ -416,6 +449,9 @@ void tst_QPluginLoader::absolutePath() void tst_QPluginLoader::reloadPlugin() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif QPluginLoader loader; loader.setFileName( sys_qualifiedLibraryName("theplugin")); //a plugin loader.load(); // not recommended, instance() should do the job. @@ -451,6 +487,9 @@ void tst_QPluginLoader::preloadedPlugin_data() void tst_QPluginLoader::preloadedPlugin() { +#if !defined(QT_SHARED) + QSKIP("This test requires Qt to create shared libraries."); +#endif // check that using QPluginLoader does not interfere with QLibrary QFETCH(QString, libname); QLibrary lib(libname); |