summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/plugin
Commit message (Collapse)AuthorAgeFilesLines
* don't erroneously claim that gui support is neededOswald Buddenhagen2013-10-163-0/+3
| | | | | Change-Id: Ia7b1f02cab9fa0fc9e487ca49d75e85ed0cfee9d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-271-1/+1
|\ | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * tests: Make the QT assignments more explicitSergio Ahumada2013-08-211-1/+1
| | | | | | | | | | | | | | | | Remove unused 'QT -= gui' and replace some others with 'QT = core ...' Change-Id: I2d14fae963afc21dbd21a4acdbba2c30cdf8fa61 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | OSX: Make machtest compile on 10.9Liang Qi2013-08-051-2/+2
| | | | | | | | | | | | | | | | | | Added the compiler options, we need the info of sdk. Task-number: QTBUG-32715 Change-Id: I70612f36a16e0ab5025194a10ce399822e159c7c Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make the Mach-O size checking a little more robustThiago Macieira2013-07-203-3/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not necessary to check at every point if we know the minimum file size: it must contain at least the header, one segment (__TEXT) and one section (qtmetadata). Most files have more than one segment and more than one loader command, so this check does not mean we can eliminate the checks further down. Also be more resilient against corruptions in the header data: check not only the additions, but the values themselves. For example, an offset + size addition could be smaller than the file size when the addition overflows in 32-bit. Another thing is that the cmdsize fields could be corrupt too. Change-Id: I7968a769c1cbe9150270c91823cafc4f8f833876 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Add a Mach-O decoder to the QPluginLoaderThiago Macieira2013-07-206-2/+289
|/ | | | | | | | | | | | | | | | | | | | | | | We already had an ELF decoder, which helped us greatly to find the metadata and that catches most Unix systems (Solaris, QNX, HP-UXi, and all of the free Unixes). On other Unix systems, aside from Mac OS X, we simply scanned the entire file for the signature. On Windows, even without a COFF-PE decoder, we use a LoadLibrary trick to load the plugin without loading the dependent libraries. In most cases, that works. Unfortunately, on Mac OS X we didn't have a decoder and nor could we do the file scan: because Mac OS X binaries could be fat binaries, we wouldn't know which architecture's signature we had found. No more. This adds a full Mach-O decoder to QtCore. It is also capable of finding the boundaries of the architecture's binary, but that functionality is disabled since all Qt 5 plugins have plugin metadata sections. Change-Id: I2d5c04c5ecf024864b8a43f31ab6b7e6c5eae9ce Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Distinguish between 'mac' and 'macx' qmake scopesTor Arne Vestbø2013-03-051-1/+1
| | | | | | | | | | | | | | The former applies both on Mac OS X and iOS, but 'macx' is specific to Mac OS X. ios.conf and macx.conf now share most of their settings in the common mac.conf. We set the default QMAKE_MAC_SDK before loading mac.conf, so that any overrides in the device config will apply afterwards. This means configure's mkspec parsing will be able to read the QMAKE_MAC_SDK. Change-Id: I0c7e26a6a0103e19b23ef152aa9e4ab461cee632 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Make sure that the reference count for plugins is kept correctlyThiago Macieira2013-02-273-1/+60
| | | | | | | | | | | | | | | | | | | | For systems where the Unix signature checker isn't enabled (read: Mac and Windows), QPluginLoader must actually load the plugin to query for the metadata. On Mac it even tried to keep the library loaded to avoid unloading and reloading again when the user calls load(). However, that plus the fact that it was calling load_sys() (on Mac) meant that it would bypass the reference count checking. And on all Unix, if a library-that-wasnt-a-plugin was already loaded by way of a QLibrary, it would have an effect of unloading said library. So remove the "caching" of the library. We should instead invest time to write a proper Mach-O binary decoder. Task-number: QTBUG-29776 Change-Id: Iebbddabe60047aafedeced21f26a170f59656757 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Autotest: check that the plugin was actually unloaded in QPluginLoaderThiago Macieira2013-02-271-0/+20
| | | | | Change-Id: I66d26da4e86add244d37ff670ad79ff2aff17ca1 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-2322-22/+22
|\ | | | | | | refs/staging/dev
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-1822-22/+22
| | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Check existence of QProcess feature before using it on Qt autotests.Pasi Petäjäjärvi2013-01-231-0/+4
|/ | | | | | | VxWorks does not have QProcess support. Change-Id: I20ed479125097d468a1aa50afb18c3749f0fbb98 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
* QPluginLoader: fix loading of plugins with a relative file nameDavid Faure2012-12-044-6/+30
| | | | | | | | | | | This makes QT_PLUGIN_PATH / QCoreApplication::libraryPaths() actually work, as a search path for plugins, when apps look for a specific plugin by name. To make it possible to write portable code (unlike the current QPluginLoader unittest), let QPluginLoader figure out the extension, too. Change-Id: I895d597d7cb05ded268734bc5f313f32d8d12cb9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2222-545/+545
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Test: fix warning for tst_QPluginLoader::loadGarbageCaroline Chao2012-09-221-3/+5
| | | | | | | Garbage libs (under elftest) are numbered from 1 to 5 and not from 0 to 4. Change-Id: Ia0162372bf5cd1fb53a0442543c5a65716880611 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* remove mentions of borland from project filesOswald Buddenhagen2012-09-193-3/+0
| | | | | Change-Id: I3049b24ae287bee50aca1de06664a2309df69edf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-0115-0/+15
| | | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I8129c3ef3cb58541c95a32d083850d9e7f768927 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix reloading of pluginsLars Knoll2012-08-011-0/+24
| | | | | | | | | Unloading and reloading a plugin didn't work correctly, because we didn't reset instance to 0 on unload. Task-number: QTBUG-26098 Change-Id: Ic3e4497f359b1ca455be949dce9cafa9d67d8039 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* make use of $$[FOO/get] propertiesOswald Buddenhagen2012-06-191-2/+2
| | | | | | | | this cleans up a lot of hacks supporting the build of qt, including the last bits of $QTDIR. Change-Id: Id119886ed8097967dad6cf86ebd4e71d90c42841 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Add CONFIG+=parallel_test to suspected parallel-safe tests.Rohan McGovern2012-05-285-0/+5
| | | | | | | | | These tests have passed a parallel stress test on all three of Linux, Mac, Windows. Mark them with CONFIG+=parallel_test to allow CI to run them in parallel, saving time. Change-Id: I19fd333c3c645a67374ca998f6c8530dd236b0f8 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Remove insignification from QPluginLoader and QFactoryLoader tests.Jason McDonald2012-04-172-3/+0
| | | | | | | | | | | | | | Archived build logs on http://testresults.qt-project.org/ci/ show that the QPluginLoader test has failed in CI only once in the last 1000 builds (in build 1786), and on that occasion the test was legitimately blocking a regression. The QFactoryLoader test was derived from the QPluginLoader test and has not failed since its first run on March 29, 2012. Task-number: QTBUG-22765 Change-Id: I866b4b8e30e393e0c7e7292119c072b27008ab43 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix a crash in QFactoryLoaderJonas Rabbe2012-03-2912-0/+476
| | | | | | | | | | | | | | The change in plugin loading has meant that different plugins in the same plugin folder will not be handled properly when loaded with different instances of QFactoryLoader. A solution is to only unload compatability plugins from QFactoryLoader::update() since they are the only plugins that are actually loaded in that method. This auto test shows the error on the current version of QFactoryLoader and passes with the fix described above. Change-Id: I12001525d51bb631d6742c5965357598322f247c Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix QLibrary autotest for WindowsMiikka Heikkinen2012-02-283-4/+17
| | | | | | | | | | | | The libraries were built into wrong directory in Windows. Fixed it so that the libraries are built into debug and release directories like the test executable. Also fixed QMAKE_CLEAN statement, which was using incorrect separator. Task-number: QTBUG-24151 Change-Id: Iade656af5f83ef2b79c2b9c4177df4a16b2f6821 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Use new plugin system in plugin autotest.Friedemann Kleint2012-02-239-9/+41
| | | | | | | Fix up test use QFINDTESTDATA for shadow builds. Change-Id: I64731baa44f446ce360631ed6a638cea098d78a0 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fixed qlibrary unittest to work on macKurt Korbatits2012-02-102-1/+2
| | | | | | | | | - Changed unload_after_implicit_load() to use full path - Turned off app_bundle Change-Id: Ibdf3ae0dc833d97eba64298715eb88c70408fff6 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Make "nmake check" pass for corelib tests in Windows.Miikka Heikkinen2012-02-091-0/+2
| | | | | | | | | | | | | | | | | | - Marked four tests insignificant due to failures, these need to be fixed later and then re-enabled: - tst_qfilesystemwatcher - tst_qsettings - tst_qlibrary - tst_qsharedpointer - Skipped one invalid case (tst_QCoreApplication::argc()) - Ifdeffed around vsprintf issue in MSVC (tst_QByteArray::qvsnprintf()) Task-number: QTBUG-24157 Task-number: QTBUG-24146 Task-number: QTBUG-24128 Change-Id: I4db957a65fbf0093f5ae3dc1a04d792492818104 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Changed qlibrary unittest to use applicationDirPath()Kurt Korbatits2012-01-311-34/+34
| | | | | | | | | | - Changed unittest to use QCoreApplication::applicationDirPath() instead of QDir::currentPath(). Change-Id: I398f7ea8b4426be85432d0eb3767ef6d59488d0a Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3015-15/+15
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2315-15/+15
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add V3(md5) and V5(sha1) version for DCE in QUuidLiang Qi2012-01-101-2/+26
| | | | | | | | | | Add the above versions based on RFC4122 standard. Done-with: Hagen Rother Task-number: QTBUG-23071 Change-Id: Ieb90925374d1e3c85011b899b8dd3bb1a608c561 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-0515-15/+15
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Registered QUuid in the metatype system as a builtin type.Denis Dzyubenko2012-01-051-0/+31
| | | | | | | Change-Id: I6be6129d9f6bf468ba8a5805cfa0f6f79199afb3 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* Cleanup corelib autotests.Jason McDonald2011-12-281-0/+2
| | | | | | | | | | | | | When using QSignalSpy, always verify that the signal spy is valid. This will cause the test to give a meaningful failure when spying on a non-existant signal. Without this change, tests that spy on a signal to ensure that it is not emitted (i.e. by comparing the spy count to zero) could pass erroneously if something went wrong when creating the signal spy, as an invalid QSignalSpy will always return a count of zero. Change-Id: I41f4a63d9f0de9190a86de237662dc96be802446 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove mention of Trolltech in qlibrary autotest.Jason McDonald2011-12-283-8/+8
| | | | | | | Task-number: QTBUG-19653 Change-Id: I8cf21bac41b08187528ba7004a7a23b9baa64b17 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove TESTED_CLASS/TESTED_FILES comments from tests.Jason McDonald2011-12-063-13/+0
| | | | | | | | | These comments were mostly empty or inaccurate. Appropriate naming of tests and appropriate placement of tests within the directory tree provide more reliable indicators of what is being tested. Change-Id: Ib6bf373d9e79917e4ab1417ee5c1264a2c2d7027 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fixed installation of corelib testsRohan McGovern2011-12-0113-82/+54
| | | | | | | | | | | | | | | | | In .pro files, removed wince/symbian-specific DEPLOYMENT cases and replaced them with TESTDATA where appropriate. In .cpp files, removed SRCDIR and relative paths to testdata and replaced them with the QFINDTESTDATA macro where appropriate. Modified test helper apps/libs to install themselves under the test they relate to. This change allows corelib tests to be correctly installed, along with their testdata, via `make install'. Change-Id: I5e202e2f3b577af7e39072d5c9fe13e0ca125304 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Improved failure messages from tst_qlibraryRohan McGovern2011-11-281-6/+5
| | | | | | | Use QVERIFY2 to include errorString() in the failure message. Change-Id: Iecb4e7694c3d71bfb786908a6a6c26b187d60c8f Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Revert 3a0f5d04fce00812cddd44e54ef25f7ab7d9240dToby Tomkins2011-11-221-3/+3
| | | | | | | | | | | | The removal of plugin cache in qt5 (8ed47d961dc7e6f161030654d11cd330a542eadf) means that only the original loading error (from QElfParser) is reported. In Qt4 this was previously two different strings depending on if the library had been previously cached. Task-number: QTBUG-22834 Change-Id: I15a4adc7d0f8f23f16bb2aa8ba8b968db770f074 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Re-enable the corelib autotests on Mac OS XBradley T. Hughes2011-11-211-0/+2
| | | | | | | | | | | | | | | | | | | This is the first change to re-enable the autotests for the individual qtbase modules. This means adding subdir.CONFIG=no_check_target for each module (except corelib) in tests/auto/auto.pro instead of in tests/tests.pro QFileSystemWatcher, QIODeice, QSettings, QTextStream, QSocketNotifier, QVariant, QPluginLoader, QLocale: These tests currently fail, which will block any changes that attempt to re-enable the autotests. Ignore the failures for now by marking them as insignificant. QAbstractItemModel: This test currently crashes, which can destabilize the CI system when attempting to re-enable the autotests. Skip this test for now by disabling the check target for it. Change-Id: Ie5147d5c5cfae5e7d0a495d5c4788ce92fe2e6d8 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Improve diagnostics of QPluginLoader test.Jason McDonald2011-11-181-4/+4
| | | | | | | | Use QVERIFY2 so that the test output shows the full error string when it does not contain the expected sub-string. Change-Id: I31f91bd5c47c082aacabd2333bc12137bc4d24a6 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix indentation of QPluginLoader test.Jason McDonald2011-11-181-21/+21
| | | | | Change-Id: I4c6957d2a67ac387232226098b4490e3d5a86d51 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Improve QPluginLoader autotest diagnostics.Jason McDonald2011-11-181-53/+16
| | | | | | | | | | | Previously, the user had to recompile the test with an additional define to see the plugin loader error string. By re-ordering the verification statements, we can ensure that the error string is visible in the test results whenever its value is not the expected value, thus eliminating the need for conditional diagnostics. Change-Id: Iae9ef0b7cbad551fd56f0e0439eaad034f2420e3 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove disabled code from QLibrary autotestJason McDonald2011-11-181-5/+0
| | | | | | | | | | The removed code was already commented-out when it was first added in 2007, and would not form a useful test as it was not followed by any verification steps. QLibrary::setLoadHints() is tested elsewhere, so this code can vanish. Change-Id: I1c4dcaacaf31b0f38136336414cfbe3de1a406f3 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Re-enabled tst_qpluginloaderJo Asplin2011-11-111-2/+0
| | | | | | | | This test is passing in CI. Task-number: QTBUG-21402 Change-Id: I356476e458cac1cd434959fdf801011a607c9233 Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-111-6/+1
| | | | | | | Use QVERIFY2 to provide better test diagnostics. Change-Id: I128004f4ee133ceed4d8f373bbbe4a0eee431ebf Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-114-42/+35
| | | | | | | | | | | | | Tidy the autotest .pro files. Most autotest .pro files should look like this: CONFIG += testcase TARGET = tst_something QT = core testlib SOURCES = tst_something.cpp Change-Id: I877c2194e9fa9dd13478d117895e1e255a948ad7 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-101-38/+37
| | | | | | | Remove literal tabs. Change-Id: I210a0259773cceb20d35ebc80b889e3ebb88b540 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-071-15/+0
| | | | | | | Remove redundant empty constructors, destructors and test functions. Change-Id: Idb51368895e67ec3fc0345a9a5d33d77730c051b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* corelib: eliminated usage of qttest_p4.prfRohan McGovern2011-10-254-8/+9
| | | | | | | | | qttest_p4.prf was added as a convenience for Qt's own autotests in Qt4. It enables various crufty undocumented magic, of dubious value. Stop using it, and explicitly enable the things from it which we want. Change-Id: I7c1ffe9c8c294dbdc988e1582e580b1ed3f4593e Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>