summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright year in license headers.Jason McDonald2012-01-0548-48/+48
| | | | | Change-Id: I02f2c620296fcd91d4967d58767ea33fc4e1e7dc Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Prevent QFileInfo test from leaving temporary files behind.Jason McDonald2012-01-051-20/+33
| | | | | | | | | | Use a small helper class to ensure that the files created during the test are removed afterwards, even if the test fails. Also, verify creation of the files in the body of the test function, not in the helper, as verifying in the helper won't terminate the test on failure. Change-Id: I76eff20e54ef6a1ed71d9bbb31e00f41f3d14c38 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Pass notification of failure of watches onto the caller.Robin Burchell2012-01-041-30/+41
| | | | | | | | | | | | | | This is particularly useful for situations where the user might really want to be notified about a failure, for instance, in a backup application. Empty paths are not treated as an error in calling, as the user code cannot really do anything sensible to handle this error, but empty paths should not be used. Change-Id: Iddb44fd39f4e3fac5c3f9f60fb7999e1833280a8 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* fix invalid connection in tst_QProcess::lockupsInStartDetachedJoerg Bornemann2012-01-041-1/+2
| | | | | | Change-Id: I06f2d56f5c45c13bbe08707e6baad4f2aece39b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Avoid QCOMPARE outside test function in QSettings test.Jason McDonald2012-01-041-1/+9
| | | | | | | | | QCOMPARE and friends should only be called in a test function. Instead of calling QCOMPARE elsewhere, keep a count of the number of errors and QCOMPARE that count with zero in the test function. Change-Id: I9a264e91169a98c30980fdc04a3e45bfb0ca8063 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove redundant debug code from QFileSystemWatcher test.Jason McDonald2012-01-041-4/+2
| | | | | | | | | | There is no need to print out the name of the backend used by each test run of a test function as every message output by the test function will have the name of the current data row included. Change-Id: Ie69881d2ecedce728ea67b5aae1c1196776552a5 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Use true and false in preference to TRUE and FALSE in tests.Jason McDonald2012-01-033-50/+50
| | | | | | | | | Use the C++ boolean constants true and false instead of the C macros TRUE and FALSE (which are actually integers), and use QVERIFY instead of QCOMPARE for verifying simple boolean expressions. Change-Id: Ie76dfcab6722df6b93b3fa62b0f3437901482932 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove support for dnotify QFileSystemWatcher.Robin Burchell2012-01-021-32/+1
| | | | | | | | | | Inotify has been available in Linux for some ~6 years now, 7 when Qt 5 will actually be released, so I'd say it's safe to remove this fallback path now, particularly as the autotest notes that it's broken. Change-Id: I49dbb161d4765d63e92f512a6375323c7d37ccbe Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Prevent qDebug test bypassing the testlib message handler.Jason McDonald2011-12-301-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Several of the test functions in the QDebug autotest call qInstallMsgHandler() to temporarily use a custom message handler. Unfortunately, these test functions were then resetting the message handler back to Qt's default handler at the end of the test. QTestLib also calls qInstallMsgHandler() to set a message handler that redirects debug/warning/fatal messages into the test log. When the test resets the message handler back to Qt's default handler, testlib's message handler is bypassed for the rest of the test, preventing any subsequent debug/warning/fatal messages from being visible in the test log or subject to testlib's ignoreMessage() function. This error also caused several of the test functions to fail if they were run manually. The "defaultMessagehandler" test would fail if it was run before any other test function and the "assignment" test would fail if it was run after any other test function. This commit fixes these failures by using a helper class to ensure that the previously active message handler is restored at the end of each test function, even if the test function fails or throws an exception. Change-Id: I51376724d164c8ad126e5b9be76890bf3e6a9fb0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Change test to use new QTRY_COMPARE/QTRY_VERIFY macros.Robin Burchell2011-12-301-26/+10
| | | | | | | | | | | When verifying nonzero results (i.e. that something expected *did* happen), using these macros allows bailing out of the timer much earlier than the potential 5 seconds. My running this on Linux goes from ~147 seconds to ~91 seconds. Change-Id: Ie1e41252eb4eb295b5c8e795ded02f00eb7f9387 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cleanup corelib autotests.Jason McDonald2011-12-283-2/+45
| | | | | | | | | | | | | 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>
* Improve QSettings autotestJason McDonald2011-12-251-4/+2
| | | | | | | | QTestLib-based autotests cannot perform verification steps in the test class constructor. This needs to be done in initTestCase() instead. Change-Id: Ib1f7f838f052fa0fc5104603bdac01ffd8313aef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reimplement QAbstractFileEngine::open() properlyBradley T. Hughes2011-12-211-1/+1
| | | | | | | | | | | | | | | | | | The virtual function takes a QIODevice::OpenMode argument, not an int. tests/auto/corelib/io/qfile/test/../tst_qfile.cpp:1942: warning: 'MyEngine::open' hides overloaded virtual function [-Woverloaded- virtual] bool open(int ) { return false; } ^ src/corelib/io/qabstractfileengine.h:118: hidden overloaded virtual function 'QAbstractFileEngine::open' declared here virtual bool open(QIODevice::OpenMode openMode); ^ Change-Id: I92338dacb89c05d8c5cfbf8ce094dc519b84d3ba Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Retire QTest::pixmapsAreEqual().Jason McDonald2011-12-201-4/+10
| | | | | | | | | | | | | QTest::pixmapsAreEqual() was left in the Qt4 API for compatibility with some old tests written for Qt3. QCOMPARE() is the preferred way to compare QPixmaps and provides superior diagnostic output when a comparison fails. This commit removes QTest::pixmapsAreEqual() from the testlib API and replaces the last few remaining calls with QCOMPARE. Change-Id: I051c0e7d3bda072855fcd262d82e8e540619233b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix QDir::removeRecursively so it doesn't follow symlinks to directories.David Faure2011-12-191-0/+26
| | | | | | | | Critical bug... Good thing I had backups of my $HOME. Change-Id: I43b3a80786c946b0aec797036c1164d436d521f8 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix qfile unit test failing on shadow build.Kurt Korbatits2011-12-131-3/+3
| | | | | | | Updated three instances were not using QFINDTESTDATA. Change-Id: Ibd0f6734791fc5d98ebeb65ac3bd80aa1c076414 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Update .gitignore for tests/auto/corelib/io/qresourceengineBradley T. Hughes2011-12-121-0/+1
| | | | | | | | The test generates the runtime_resource.rcc data file at build time. Add this to .gitignore. Change-Id: Ief4057072b28499049147b86f166523b71afe269 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fixes for tst_QTemporary(File|Dir)::nonWritableCurrentDirJoão Abecasis2011-12-092-6/+4
| | | | | | | | - Check path/fileName is empty upon failure, variable was unused - Use /home instead of /, as / is writable by admins on Mac Change-Id: I705471fda8b73843e98b30eb52aa0a73634ec075 Reviewed-by: David Faure <faure@kde.org>
* QProcess-test: Fix executable location on Windows.Friedemann Kleint2011-12-091-7/+0
| | | | | | | | | | The executable needs to be in the test directory as it expects it sub-executables from there. Breakage introduced by 3385fb91e1e55e1bfa1f78dfb8ce2e9f3fdaedef Change-Id: Ic1f3db70851f65e2f12041c3a16cb8f0b7bdf35e Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Promote openStandardStreams sub-tests to top levelJoão Abecasis2011-12-091-10/+2
| | | | | | | | | | | | Commit a72468e820c2922540737c053eef27d033c2e77b split the test into two functions, but kept them combined in a single slot for QTest to invoke. That being the case, we might as well have them as test functions of their own right. Should work nicer with test failures, skips and such. Change-Id: I62c1fc7777c08b3e87a5903632d73dc1e1d97e1a Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QFile-test: Do not fail when run with redirected stdout/stderr.Friedemann Kleint2011-12-091-5/+11
| | | | | | | Check whether stdout/stderr is sequential. Change-Id: Ia6311e265f0da03dce5b05d78a2058e0c2098bbf Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* QProcess-Test: Improve error handling.Friedemann Kleint2011-12-091-6/+23
| | | | | | | | In case a subprocess fails to start. Change-Id: I1372c07de8f3580a8e7aadd6874da15bf273ac53 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* testProcessSpacesArgs fixedJoerg Bornemann2011-12-092-2/+2
| | | | | | | Target names with spaces must be quoted. Change-Id: I913ef386353fc75991c8db4e3205ab511fc1f1a9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Improve/cleanup qtemporarydir (and qtemporaryfile) unit testsDavid Faure2011-12-082-75/+33
| | | | | | | To follow the comments in the review by João Abecasis. Change-Id: Ie566705d3b4071b8628d269246aadcde4866f34f Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Fix QTemporaryDir unittest on Mac OS XDavid Faure2011-12-081-7/+9
| | | | | | | | | mkdtemp(10*X) replaces all 10 chars on Mac, while on linux it only replaces the last 6. Adjusted the too-strict tests to allow for both possibilities. Change-Id: Ie6d57bd4947254ad7a39e75ac0e8881cebeaa428 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Remove TESTED_CLASS/TESTED_FILES comments from tests.Jason McDonald2011-12-0615-44/+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>
* New class QTemporaryDir.David Faure2011-12-023-0/+479
| | | | | | | As discussed on qt5-feedback / development lists. Change-Id: If1733369d12daa29054776ec2cbd78e63679768e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Implement QDir::removeRecursivelyDavid Faure2011-12-021-0/+83
| | | | | | Task-number: QTBUG-4592 Change-Id: I363e2c24d1c0ada975b8b927d7c6e776b8aae579 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Windows: Fix qabstractfilenengine-test.Friedemann Kleint2011-12-011-2/+16
| | | | | | | | | | | The test fails if the repository is checked out with Windows line endings. Try to work around. Basically, ensure that common developers can conveniently run the test. Change-Id: I91f31b830ba7ba305deea782737d4e07a89420eb Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Windows: Fix compilation of qdir test.Friedemann Kleint2011-12-011-1/+1
| | | | | | | Introduced by 3385fb91e1e55e1bfa1f78dfb8ce2e9f3fdaedef. Change-Id: If47a9874cccb7b64840e77b1f654ba8e1cf372e0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Mark tst_qfilesystementry as private test on Windows.Rohan McGovern2011-12-011-0/+3
| | | | | | | On Windows (only), this test depends on some Q_AUTOTEST_EXPORT symbols. Change-Id: I3b2ef8dcd56b8860f02fc28f45823b889e794909 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fixed installation of corelib testsRohan McGovern2011-12-0147-559/+375
| | | | | | | | | | | | | | | | | 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>
* Cleanup corelib autotestsJason McDonald2011-11-309-25/+16
| | | | | | | | Remove references to the old bug tracker. The data from the old bug tracker is no longer accessible, so these markers are meaningless. Change-Id: Ib9d029d52b70fd0a512b9532d65f03763eabfe57 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix linking of autotests on Windows.Friedemann Kleint2011-11-291-1/+1
| | | | | | | | | Partial revert of 94fc8750797ffd3ef867d0cdc7849492cfee2c23. All dependent modules need to be specified in the QT variable, except core and gui, which are there by default. Change-Id: Ie8ffed56de03a37da191772fa321ed162e44a50d Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-293-12/+11
| | | | | | | | Don't name test functions using task identifiers from obsolete bug trackers. Change-Id: Iba6ae8ad3b39e365c5510ed5c86749a167572829 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix sanity check of network test serverJason McDonald2011-11-282-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of Qt's autotests depend on access to a test server. For each test that used the test server, tests/auto/network-settings.h created a global object to verify at startup that host lookups to the test server will succeed (and abort the test otherwise). There are two problems with that approach: First, the sanity check happens before main(), and thus before the test framework has started logging test results. This means that if the sanity check aborts the test, the failure message will not be visible in the test output if logging to a file or will cause the output to be malformed if logging to the console in XML format. Second, since Qt 4.7, the host lookup uses a class that connects to the QCoreApplication instance, which doesn't exist before main(), and this caused all tests that included network-settings.h to output an error message from QObject::connect() at the beginning of the test. Both of these problems are solved by removing the global object from network-settings.h and instead performing the sanity check in the initTestCase() function of each test. Task-number: QTBUG-22876 Change-Id: Id49c1826906327bf571686cc11527f0265e5af44 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Correct usage of network-settings.h.Jason McDonald2011-11-283-0/+8
| | | | | | | | | Four of the modified files only use functions from network-settings.h on Windows, and the other three files don't use anything from that header. Change-Id: Ifa4b0319d14367735b859e538921fa0eeeccce1a Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-254-46/+54
| | | | | | | | | | Bug trackers come and go, so using bug identifiers in function and test case names will ensure that those names eventually become meaningless. It is better to choose a meaningful name and provide explanatory comments where appropriate. Change-Id: I67c27782ef21b5d4eaab4854079a043c8ef6957b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove misleading comment.Jason McDonald2011-11-231-1/+0
| | | | | | | | In the QProcess test, QHostInfo is used as a quick and easy way to create a background thread, and so is not (entirely) unnecessary. Change-Id: I7204f113e7bc8a4b312d5a20f0a6ee076c56b35d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Removed commented test data from QUrl test.Jason McDonald2011-11-211-7/+5
| | | | | | | | | | | The removed test data is invalid for the toString() test function -- QUrl::toString() won't eliminate relative paths from URL's, you need to call QUrl::resolved() to do that. Add this test data to the test for QUrl::resolved(), as the existing tests don't seem to cover the case of a complete URL containing a relative path. Change-Id: Idb0f4eac9cc75258a8e17f10fa95ddb75f01d470 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Re-enable the corelib autotests on Mac OS XBradley T. Hughes2011-11-214-0/+8
| | | | | | | | | | | | | | | | | | | 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>
* Fix typo in QUrl autotest.Jason McDonald2011-11-181-3/+3
| | | | | Change-Id: Id85ad5c16e3a5b7a1614affa041d19f5062073fd Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete test data from QFile test.Jason McDonald2011-11-181-1/+0
| | | | | | | | | | | The removed data relied on the test's own source file having no write permissions, but that is not a valid assumption -- in a source package the file wouldn't have had write permissions, in Perforce it would have depended on whether the file had been checked-out for editing and in git the file would always have write permission. Change-Id: I3b6100429120137095a210189961c8b97f06e50a Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete test data from QFileInfo test.Jason McDonald2011-11-181-1/+0
| | | | | | | | | | | The removed data relied on the test's own source file having no write permissions, but that is not a valid assumption -- in a source package the file wouldn't have had write permissions, in Perforce it would have depended on whether the file had been checked-out for editing and in git the file would always have write permission. Change-Id: I000596f122f2765f97a09a08074938c90e2e9f95 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete comment from QDataStream test.Jason McDonald2011-11-181-6/+0
| | | | | | | | | The removed comment was introduced before the tests were imported into the Qt repository in 2006 and seems to relate to a test failure that no longer occurs. Change-Id: I01f372f6a4f48110711f4f2a86e73acfb7134e24 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete comment from QDataStream test.Jason McDonald2011-11-181-3/+0
| | | | | | | | | The removed comment was introduced before the tests were imported into the Qt repository in 2006 and seems to relate to code that no longer exists. Change-Id: Ic21e46fe0157adf5be9dc62de098517b7b27c310 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Improve QBuffer autotest.Jason McDonald2011-11-181-16/+43
| | | | | | | | | | | | | | | | | | | | This commit fixes several issues found in the readLineBoundaries() test function. First, the test performed some test actions but did not perform any verification steps to check that the outcome of those actions was acceptable. Second, the test didn't need to write the buffered data to a file to verify line-by-line reading. Third, the get/unget action was unrelated to the readLineBoundaries() test and has been moved to a separate test function. That test function now tests that get/unget works at every position in a buffer, not just at position 0. Change-Id: Icad52ed598e94b6e05a194b9ab301d099bfc094c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Don't depend on moc to disable test functions.Jason McDonald2011-11-1811-283/+252
| | | | | | | | | | | | | | | | | | | | | The moc tool is not aware of all defines (particularly those that are compiler builtins) and does not correctly evaluate others that depend on compiler builtins, such as Q_OS_FOO. This commit reverts parts of the following commits, but is not a complete fix as there were many instances of this problem in the tests prior to those commits: 924d810dbdcd5b5b0fa860922b2487ea9062d002 8aaff6751038b88d17e23be6fcee945771297c5b 338d3f11973412047c2c9cd41cbd0c961d738ef3 a55034062ba2bf73a9f1ed3d9cf31745b38149e3 253497b7446c7d723aa3bdd7152e25d6852f2604 7cfad460c56319ba89c4a3a0bbcb2e54ab1cdbc6 9d2ff58f3642828e494e7e9b2df7dbb8e2cd408f 0cf6baa2d61ebaad2a2a0530c37f27e719b68f4b Change-Id: I947d797fe3ec76139ba1b55561cea569895662c5 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove commented code from QBuffer autotest.Jason McDonald2011-11-171-3/+0
| | | | | | | | | The removed code was commented-out before the tests were imported into the Qt repository in June 2006. This code is no longer valid as the warning messages it relates to are not produced by any code in qtbase. Change-Id: Iac63b27387b51a71c567386ca61faf5fb00c3364 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Cleanup corelib autotestsJason McDonald2011-11-145-25/+10
| | | | | | | | | | | | | Remove various disabled and/or non-helpful debugging code. Any test diagnostics that are useful should be part of the regular test output, as the CI system cannot switch on commented-out code when there is a test failure. Diagnostics should also be informative -- simply printing the value of a variable with no other information about what is being printed (or why it is being printed) is not informative. Change-Id: I21a6c2121be86001bb57e80f426507b6e619ee9e Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>