summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestcase.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove legacy Symbian code from qtestlib.Jason McDonald2011-10-241-13/+5
| | | | | Change-Id: Ia4ac52ce0b5f5a4ba1fcd6594daf424fd7208777 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Make testlib use #include consistently.Jason McDonald2011-10-211-9/+9
| | | | | Change-Id: I36b5da3f832d2588072405d93143173edc29f4af Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix misleading comment on test execution order.Jason McDonald2011-10-211-1/+1
| | | | | | | | | When executing a data-driven test, testlib executes the _data function once, then repeatedly executes init(), then the test function, then cleanup() for each row of test data. Change-Id: Icfa1dd19a52fb1debbc92b7cbe13d85bfb0418c7 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update QSKIP documentation.Jason McDonald2011-10-211-9/+17
| | | | | | | Task-number: QTBUG-21851, QTBUG-21652 Change-Id: I3d4cf8e11756b92fe9d97f01a02c61cbf2df1556 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove QTest::SkipMode from qtestlib API.Jason McDonald2011-10-211-37/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the SkipAll mode is used, tests only report a SKIP for the first line of test data and subsequent lines are not reported at all. This behaviour makes it impossible for anything post-processing test results to accurately report test pass- and run- rates because they cannot see how many lines of test data were skipped. This commit removes SkipMode. QSKIPs in regular test functions and data functions are treated the same as SkipSingle, so that every skipped line of local or global test data is reported in the test log. QSKIPs elsewhere are treated the same as SkipAll -- skipping in init() causes the next test function to be skipped entirely, and skipping in initTestCase() or initTestCase_data() causes all test functions to be skipped. This commit only changes qtestlib and the selftests. A further commit will change the autotests to remove the SkipMode parameter from QSKIP calls. Note that the change in expected output for the globaldata selftest is deliberate, as the QSKIP in the skipLocal test function has effectively changed from SkipAll to SkipSingle. Task-number: QTBUG-21851, QTBUG-21652 Change-Id: I7b1c53fe7ca9dde032810b789d967e2a402bbe5d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alex <alex.blasche@nokia.com>
* Move QTRY_VERIFY/QTRY_COMPARE into testlib.Jason McDonald2011-10-191-2/+38
| | | | | | | | These functions have lived in tests/shared/util.h for a long time, but they really belong in qtestlib. Change-Id: I60d569d002dea220b51563931d8b7aa77a20b98b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove QTEST_NOOP_MAIN from qtestlib API.Jason McDonald2011-10-191-13/+0
| | | | | | | | | | | | | | This macro is no longer used in Qt's tests and encourages writing tests in a way that makes test reporting less accurate -- remove it to prevent further misuse. If a test can be determined at compile-time to be inapplicable, it should be omitted from the build via .pro file logic. If that is not possible (e.g. there is no suitable qmake variable), the test's initTestCase() function should call QSKIP to skip the entire test with a meaningful explanation. Task-number: QTBUG-21851 Change-Id: Icacc8c5567a700191b6ef3fa94ee52ede94c5b34 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Clean-up a macro for CocoaMorten Sorvig2011-10-101-12/+2
| | | | | | | | | Remove the usage of Q_MAC_USE_COCOA and Carbon code paths. Change-Id: Ib569ad8c6d9ffe258f454b3c3b06e95294a10112 Reviewed-on: http://codereview.qt-project.org/5100 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Sanity-Review: Morten Johan Sørvig <morten.sorvig@nokia.com>
* update QmlTest option usage helpCharles Yin2011-10-101-1/+1
| | | | | | | Change-Id: I8ccd49bcaac126af2bad2382d481857f1e48c18b Reviewed-on: http://codereview.qt-project.org/6274 Reviewed-by: Charles Yin <charles.yin@nokia.com> Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
* Make QTest::qWarn() use __FILE__ and __LINE__.Jason McDonald2011-09-281-2/+2
| | | | | | | | | | This change makes QTest::qWarn() consistent with similar testlib functions, which take __FILE__ and __LINE__. Change-Id: I12977cb30672899ab38877b4a656f0cc0c7ea02c Reviewed-on: http://codereview.qt-project.org/3559 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Implement QTEST_GUILESS_MAINJan Kundrát2011-09-261-1/+17
| | | | | | | | | | | | Add support for test cases which require an event loop, but do not need GUI up and running. Such cases are best accommodated by code similar to QTEST_MAIN, but using QCoreApplication instead of QApplication. Change-Id: I04ce82d26b80a4edeba6bf7604a7f8d974232a11 Merge-request: 919 Reviewed-on: http://codereview.qt-project.org/5427 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Allow tests to log to multiple destinationsJason McDonald2011-09-231-9/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each destination and the format of output to write there is specified by adding "-o filename,format" to the command-line. The special filename "-" indicates that the log output is written to the standard output stream, though standard output can be used as a destination at most once. The old-style testlib output options are still supported, but can only be used to specify one logging destination, as before. If no logging options are given on the command-line, a plain text log will go to the console, as before. To log to the console in plain text and to the file "test_output" in xunit format, one would invoke a test in the following way: tst_foo -o test_output,xunitxml -o -,txt This commit also enhances the selftests to test with multiple loggers, but negative tests (e.g. bad combinations of command-line options) are left for future task QTBUG-21567. Task-number: QTBUG-20615 Change-Id: If91e752bc7001657e15e427aba9d25ab0a29a0b0 Reviewed-on: http://codereview.qt-project.org/4125 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Pass log file name when constructing loggers.Jason McDonald2011-09-051-4/+10
| | | | | | | | | | | Pass the filename when creating the logger rather than when commencing output. This will simplify forthcoming changes for running multiple loggers. Change-Id: I563aa97661caf279a5dcccb1321ff3ce4725b332 Reviewed-on: http://codereview.qt.nokia.com/4116 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Beautify testlib's usage messageJason McDonald2011-09-051-30/+33
| | | | | | | Change-Id: Ibeed554075215a5c4a154339dfa751dfe14a4d33 Reviewed-on: http://codereview.qt.nokia.com/4059 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix various trivial formatting issues.Jason McDonald2011-09-011-20/+20
| | | | | | Change-Id: Ifa2a2dd2aa26dab178ec1334376db42fc3ebb355 Reviewed-on: http://codereview.qt.nokia.com/4029 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Simplify qtestlib logging code, part 1Jason McDonald2011-09-011-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Both the old and new XML loggers produce the Complete and Light XML log formats, while only the new logger produces Xunit XML logs. The disadvantage of the new logger is that it is more complex and doesn't produce a partial log if the test fails to terminate gracefully. This behaviour arises because Xunit format output cannot be written correctly until all tests have been executed. This commit removes the Complete and Light XML formats from the new logger, using the old logger to produce those formats and the new logger to produce only Xunit XML. Prior to this commit, the qtestlib selftests demonstrate that the old and new loggers produce identical output for Complete and Light XML. This commit also removes the undocumented -flush command-line option, which was used rather obscurely to select between the old and new loggers. The newer logger will be renamed to QXunitTestLogger in a subsequent commit. Change-Id: Id304f5b411bdd520409ee233f6bc34e8917942ab Reviewed-on: http://codereview.qt.nokia.com/3923 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove ability to run tests in random order.Jason McDonald2011-08-311-70/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the undocumented feature that allows test functions to be executed in random order. The feature was designed to expose unintended dependencies between test functions -- test functions are only supposed to depend on the initTestCase() and init() functions. Aside from the lack of documentation, there are a number of problems with this feature. Most importantly, running the tests in random order has only a 50% chance of exposing dependencies between test functions. A better strategy would be to run the test functions in reverse order and complain if that produces different results to running the tests in the normal order. Additionally, the random order is not deterministic, so even if a dependency is exposed during a test run, there's no guarantee that it will be exposed again. The feature allows the user to optionally supply a random seed to make the "random" order deterministic, but as rand() implementations are not identical across platforms, even that does not guarantee that dependencies between test functions will be exposed deterministically. Change-Id: I39eac34c532ccb988116778bbc5ab05d835874c5 Reviewed-on: http://codereview.qt.nokia.com/3720 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove the QTEST_NOEXITCODE define.Jason McDonald2011-08-291-6/+0
| | | | | | | | | | Tests that are expected to return a non-zero exitcode should be marked with "CONFIG+=insignificant_test" in their .pro file. Change-Id: Iebb9c7129c08833ed517115f569086d6fcfe827b Reviewed-on: http://codereview.qt.nokia.com/3689 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Rename COMPARE_IMPL2 to TO_STRING_IMPL.Jason McDonald2011-08-291-15/+15
| | | | | | | Change-Id: Idbc8c78815f9259c5ecc36fbb053d64f6802c66b Reviewed-on: http://codereview.qt.nokia.com/3649 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove unused functionJason McDonald2011-08-291-6/+0
| | | | | | | Change-Id: I04eea17a3674beb59c84e3992f9bb2754f7b3525 Reviewed-on: http://codereview.qt.nokia.com/3646 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove literal tabsJason McDonald2011-08-291-5/+5
| | | | | | | Change-Id: I06064f68a0ca23968cec30ccb063dadf2e67571b Reviewed-on: http://codereview.qt.nokia.com/3645 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove obsolete autotest command-line flag.Jason McDonald2011-08-291-2/+0
| | | | | | | | | | | | The charting functionality was removed in Qt 4.6, though the command-line option was retained to print a warning that the feature had been removed. Sufficient time has passed for this to be removed completely. Change-Id: I2adf2818c6a6e57e765104de97b28dbf6914e3fa Reviewed-on: http://codereview.qt.nokia.com/3638 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Send error messages to stderr rather than stdoutJason McDonald2011-08-291-33/+33
| | | | | | | | | | | The commit changes printf's that output error and warning messages to send their text to the stderr stream. Non-error output, such as that produced by passing the -help option to a test, still goes to stdout. Change-Id: Iea4d62451e3e7e84c654859cb09ea7e717511d13 Reviewed-on: http://codereview.qt.nokia.com/3636 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Remove mode parameter from QTestLog::addSkip().Jason McDonald2011-08-291-1/+1
| | | | | | | | | | The mode parameter is never used by the logging code, so there's little value in passing it there. Change-Id: Ibe2cbe5eaf457a7e3ffd3aea3a4be7c8278c91b6 Reviewed-on: http://codereview.qt.nokia.com/3547 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix typo in enum name.Jason McDonald2011-08-291-2/+2
| | | | | | | Change-Id: I2eccbd3b9dd31aa5e869d622055f9235f90c0c03 Reviewed-on: http://codereview.qt.nokia.com/3445 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* add qml related usage help messageCharles Yin2011-08-081-3/+22
| | | | | | | Change-Id: Ieabbca64793ba128746193786bac3d0213e8e746 Reviewed-on: http://codereview.qt.nokia.com/2716 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Charles Yin <charles.yin@nokia.com>
* Update licenseheader text in source files for qtbase Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+2332
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12