Commit Graph

429 Commits

Author SHA1 Message Date
Shawn Rutledge
3a100edc4f QTestCase: fix macros taking expressions to avoid clang warnings
They were of the form "warning: using the result of an assignment
as a condition without parentheses [-Wparentheses]"

Change-Id: I049bf0f67073bf41310ca5ee73f17e5e69de569f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-04-08 10:39:13 +02:00
Friedemann Kleint
19ff7d038f Increase tolerance for warning about QTest::qSleep() for Windows.
50% is too strict, it clutters the logs.

Change-Id: Ib391064f32e39a1192e77d872cd99b7f95a5065a
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
2014-04-04 16:31:27 +02:00
Sergio Ahumada
cd8e11ed41 Doc: Fix warning about nonexistent 'message' parameter
Change-Id: I3461f2468ef90452ae7e3830625bf3ed57d22a41
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-03-25 00:00:23 +01:00
Ulf Hermann
a1a2a038db Warn if the time taken by QTest::qSleep() is more than 50% off
Like this we can find out more easily if autotests fail because of
flaky timing.

Change-Id: I57b10f5fc4908bed7d00990641b2ddfd4ea84a11
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-03-17 16:27:55 +01:00
Thiago Macieira
e85b4ed77a QtTest: Don't crash when -callgrind is used on QTEST_APPLESS_MAIN
If there's no qApp, then QCoreApplication::arguments() returns an empty
list (after printing a warning). That means the callgrind runner can't
get the arguments it needs in order to rerun the benchmark.

The crash happens because it always uses .at(0) to try and get the
executable's path. Even if we get the path from somewhere else, we still
need the arguments.

Change-Id: I5c74af4d96fc5824b2b7fd7a89648d78393016e2
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-02-24 11:52:27 +01:00
Jason McDonald
3b1e9a7f9b Doc: Address some "No documentation for..." warnings in QTest
Task-number: QTBUG-36985
Change-Id: I811b4711edc3420911fcd706ecef2d090f41bc89
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-02-22 09:51:14 +01:00
Thiago Macieira
579526cfec Make the printing of complex Unicode in a QString prettier
This also has the advantage of not requiring the use of the locale
codec. Quite an advantage if you're debugging the locale codec. But it's
mostly so that we don't get question marks that hide the difference we
were trying to locate.

[ChangeLog][QtTest] QtTest now prints an escaped version of QStrings
that failed to compare with QCOMPARE. That is, instead of converting
non-printable characters to question marks, QtTest will print the
Unicode representation of the character in question.

Change-Id: I44c1ef3246b188c913dacd3ca4df02581356ea41
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-02-16 06:54:18 +01:00
Thiago Macieira
8dcb72fd1e Add a CSV logging feature to the benchlib
This is only useful for logging benchmarks, since it won't print test
passes, failures, etc. It's useful for importing to spreadsheets to do
number-crunching.

[ChangeLog][QtTest]Added a CSV logging mode that is suitable for
importing benchmark results into spreadsheets. This can be enabled by
the -csv option on the command-line. The CSV logging mode will not print
test failures, debug messages, warnings, etc.

Change-Id: I245d6f86bb380645c9bc0d748cf474b3ed42cab8
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-02-14 00:34:25 +01:00
Frederik Gladhorn
a1fe728fa5 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/gui/kernel/qguiapplication.cpp
	src/plugins/platforms/android/androidjnimain.cpp
	src/plugins/platforms/android/qandroidplatformintegration.cpp
	src/plugins/platforms/android/qandroidplatformintegration.h
	src/plugins/platforms/android/qandroidplatformopenglcontext.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/sql/doc/src/sql-driver.qdoc
	src/widgets/widgets/qtoolbararealayout.cpp

Change-Id: Ifd7e58760c3cb6bd8a7d1dd32ef83b7ec190d41e
2014-02-07 13:07:25 +01:00
Nico Vertriest
0b26ad05bb Doc: corrected link/example errors
Update pro files after move gestures folder
Update snippet statements
Corrected path in imagegestures.pro

Task-number: QTBUG-34749

Change-Id: Icc19908914e36507e412ab63bf0cc2809aa48e17
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-01-31 16:18:07 +01:00
Thiago Macieira
89bb20b937 Revert "Fix mix of new[] / malloc in QTest::toHexRepresentation"
This reverts commit e8f73d656cf13d440a3a83980e05c6b117489e40. 
The original was correct: qtestcase.cpp:282 and 283 use delete[].

Change-Id: I668e17f500edcf9f1406553a160f6f5518dee148
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-01-23 18:43:04 +01:00
Nico Vertriest
4fab72a5eb Doc: corrected broken links
Links fixed:  Extra Filters
              Basic Tools
              blockingfortuneclient
              Thread Support
              Drag and drop examples
              qBinaryFind
              qmake common project types
              imagegestures
Task-number: QTBUG-34749
Change-Id: Ib93dda00716dc596db327fee5b97e110a9f27fa7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-01-23 17:00:30 +01:00
Thiago Macieira
2d8028d696 Fix the alignment for non-ASCII strings
d040681b6f added support for aligning the
test results for easier side-by-side comparison of the actual and
expected values. However, it didn't take into account multibyte strings.
That is, we would see:

FAIL!  tst_testcase::testcase: Compared values are not the same
   Actual   (QString("é")): F0O
   Expected (expected)     : FOO

We use mbstowcs (multibyte string to wide char string) that calculates
the length in wide chars of the output string. That's roughly equivalent
to QString::fromLocal8Bit(string).toUcs4().size().

Change-Id: Ic2649951c50e05143da32a7fbef00a01e385c542
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-22 00:04:16 +01:00
Thiago Macieira
57d36d3f0c Fix mix of new[] / malloc in QTest::toHexRepresentation
toHexRepresentation is used in QTest::toString(), whose results are
deallocated with free(). So we shouldn't allocate with new[].

Change-Id: I3e9d35b3f28a1b9bfe740a13b5daa414b67853c6
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2014-01-22 00:04:16 +01:00
Frederik Gladhorn
46791c08e1 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2014-01-21 17:57:54 +01:00
Friedemann Kleint
afe3902a30 Testlib: Use QString for messages in QAbstractTestLogger::addMessage()
Task-number: QTBUG-35743

[ChangeLog][QtTest][Windows] Use correct UTF-8 encoding for XML test results on platforms with different console encoding.
Change-Id: Ice9d03192098f931e5dac358928e0c4421ab715e
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-01-21 06:28:23 +01:00
Frederik Gladhorn
9033977d39 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/tools/qstring.cpp
	src/gui/image/image.pri
	src/gui/image/qimage.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/eglfs/qeglfshooks_stub.cpp
	tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp

Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
2014-01-20 18:18:59 +01:00
Thiago Macieira
cc2079c850 Fix QtTest function-unused warnings found by Clang 3.4
The front-end functions in the QTest namespace are declared static
inline, so the compiler can complain. Make it not do so.

Change-Id: I4036c85010e02ef22a8071ed05e49173dfc64729
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-17 01:36:39 +01:00
Jędrzej Nowacki
43f9bb9a80 Extend QTRY_COMPARE and QTRY_VERIFY macros
We need to fix CI, one of the most common complains is that CI machines
are overloaded and some tests simply timeouts. This patch extends QTRY*
macros to gather statistics. Each time a QTRY* macro is used it is
waiting for the expression to be true by certain time (by default 5 sec)
Next, if it failed, it waits twice as much to prove that the expression
is not affected by CI machine slowness, then fails anyway.

Before the next major release, we should decide if this functionality
should be included, as it changes behavior slightly.
The following task should be kept open until the decision has been
made:

Task-number: QTBUG-36036

Change-Id: I7ab5070cb7eb7d96a7289dd7b2bebf91d93090e5
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-01-13 10:02:10 +01:00
Kai Koehne
7fab8eb56b Windows: Do not print test output to both stdout and system debug log
Avoid piping the test output to both the Windows system debugger, and
stdout. This fixes duplicate output in Qt Creator, which displays messages
from both sources.

[ChangeLog][QtTestLib] The (default) plain text logger on Windows now
logs to either the system debug log (in case no console is open), or
stdout, not both.

Task-number: QTBUG-34630
Change-Id: I35fe9f4a50cc660d79fad7dffa6d19659b2102ae
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-01-13 09:44:40 +01:00
Frederik Gladhorn
019588f307 Testlib: Add test duration to xml output
[ChangeLog][QtTest] Added test duration to xml output.
When running tests with xml output a new tag of the form
<duration msecs="123"/> is added to each test function and the test as a
whole.

Change-Id: Ibc4db066b6acf5fac6c578f5e5ca5ce4b5d8ea8e
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-13 07:13:17 +01:00
Frederik Gladhorn
7917dfbf1c Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I99af0bef7f1c931533a324ebcfb27c40ee871a5e
2014-01-10 18:27:49 +01:00
Thiago Macieira
bbcdfb324b Fix file descriptor leak in the perf event counter
We opened the counter at every start(), even if we had already started
before. Some of the benchlib's options caused it to start() and stop()
over and over again, like -minimumvalue and -minimumtotal, which could
leak to fd exhaustion (EMFILE).

Change-Id: Ifeb7cca65c758877be600dc22928bea74f499934
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-10 02:33:32 +01:00
David Faure
e5bfb9719b QTestLib: use QT_MESSAGE_PATTERN when showing debug output
This makes debugging much more convenient, being able to see e.g.
the method name where qDebug is used. Note that this doesn't break
ignored messages, since qMessageFormatString is only called after
the test for ignored messages.

Change-Id: I7fc96e3f19efe48ac3a30fdd63e5b495c0d86e02
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2014-01-06 13:24:14 +01:00
Frederik Gladhorn
f0fbff4c90 Merge remote-tracking branch 'origin/stable' into dev
Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
2013-12-24 00:56:59 +01:00
Nico Vertriest
edef249602 Doc: added qtquick to depends statement in qttestlib.qdocconf
Task-number: QTBUG-34749
Change-Id: I150cbf0e7077f725579cdcd3151ce684b1f64172
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2013-12-20 14:23:49 +01:00
Kai Koehne
5da094c1aa TestLib: Ignore trailing space in QTest::ignoreMessage
When comparing expected with actual debug messages, allow the expected
ones to contain a trailing space. This is needed to not break all
autotests in a follow up patch, which will prevent ~QDebug() from
generating a trailing space by default.

Task-number: QTBUG-15256
Change-Id: I7f67393ddfbfe37fde1ca5ef45e4ad7f4b5324b4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-12-04 13:10:49 +01:00
Frederik Gladhorn
4a8273a6fc Merge remote-tracking branch 'origin/stable' into dev
For the conflicts in msvc_nmake.cpp the ifdefs are extended since we
need to support windows phone in the target branch while it is not there
in the current stable branch (as of Qt 5.2).

Conflicts:
	configure
	qmake/generators/win32/msvc_nmake.cpp
	src/3rdparty/angle/src/libEGL/Surface.cpp
	src/angle/src/common/common.pri
	src/corelib/global/qglobal.h
	src/corelib/io/qstandardpaths.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxscreeneventhandler.h
	src/plugins/platforms/xcb/qglxintegration.h
	src/widgets/kernel/win.pri
	tests/auto/corelib/thread/qreadwritelock/tst_qreadwritelock.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
	tools/configure/configureapp.cpp

Change-Id: I00b579eefebaf61d26ab9b00046d2b5bd5958812
2013-11-26 22:35:48 +01:00
Dmitry Ashkadov
4a9092eaad Add QVERIFY_EXCEPTION_THROWN macro for testing exceptions using QtTest
New macro QVERIFY_EXCEPTION_THROWN may be used to check that some code
really throws an exception of specified type.

Change-Id: I7cf499c7c37a35407862bc604c6eb862c5f329d3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-11-26 07:37:06 +01:00
Friedemann Kleint
943ae8bb70 Add overload of QTest::ignoreMessage() taking a QRegularExpression.
Make it possible to match messages by a pattern.

Change-Id: I713312e86db5471755459f1ecc43e8f1ac7a95fb
Reviewed-by: Jason McDonald <macadder1@gmail.com>
2013-11-17 19:10:22 +01:00
Maurice Kalinowski
05345f2a55 Disable error message box on WinRT
While exception handling methods are not available on WinRT, the debug
mode ones are. This way we can suppress error dialogs from popping up
like on desktop windows.

Change-Id: Id6e9666af9274d373e7d46e3f9e44892a2bd0dbc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-08 11:02:27 +01:00
Kai Koehne
79b975756a Revert "Add tracing to logging framework"
The tracing API still misses some real-world exposure. Let's
re-do this in dev to have more time.

This reverts parts of following commits:

466e0dff4b
7a47aebe9e
a652bab6a7
8f0654ceb8
4162522edd
32f27b4367
9ff81bdc1a

Change-Id: If97340c37b8b3363f597683336a8390d5ff386f1
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
2013-11-07 11:29:30 +01:00
Jerome Pasion
5c389cecd0 Doc: Updated url variable in qdocconf files.
In 5.2, the HTML output is in a flatter structure and when they are
hosted in qt-project.org/doc, the documentation will be found at
http://qt-project.org/doc/qt-$QT_VER

The url variable is used by projects outside of Qt 5 which need
to link to Qt 5 documentation, such as Qt Creator.

Task-number: QTBUG-34584
Change-Id: Ifa55fcd9e402b0e184a41e316340e46aeb7101de
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-11-06 11:31:39 +01:00
Marc Mutz
770ab026a8 Revert "QTest: use nth_element to calculate the median"
This reverts commit 48586b2bac.

This causes problems in QtCreator without anyone being able to say why.

Task-number: QTBUG-34397
Change-Id: I9ea5457724d5af8d87e0bc40e6615748daf9c04c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2013-11-04 22:46:13 +01:00
Maurice Kalinowski
4058b28494 Ignore debugger arguments on WinRT
Visual Studio debuggers send an argument to specify the debugger port.
This argument needs to be skipped while parsing and not to be interpreted
as an option or test function.

Change-Id: I24efb52fbd668a7bc3388c876f5ea0d950de1d5b
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-11-01 08:44:47 +01:00
Venu
e55ecc4a55 Doc: Added a link to the Qt Quick Test page
Task-number: QTBUG-33316
Change-Id: Ib8c479837cac4b7cca47b979cbb2dad0aaae6412
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
2013-10-23 19:09:54 +02:00
Friedemann Kleint
4c8f194ade Fix synqt-warnings in QTestLib.
QtTest: WARNING: qtestmouse.h includes QDebug when it should
include QtCore/QDebug. Introduced by
c210668346 .

Change-Id: I33918c82fddeedef90597bf02c93167348d6b279
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-10-14 17:30:14 +02:00
Jerome Pasion
4533cc9944 Doc: Adding mark-up to boolean default values.
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".

src/3rdparty and non-documentation instances were ignored.

Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-10-08 00:46:27 +02:00
Tor Arne Vestbø
d2649c50e0 testlib: Don't link to IOKit on iOS, it's not part of the SDK
IOKit used to be part of the 5.x and 6.x iOS SDKs, but not officially,
so when Apple in the iOS 7 SDK removed IOKit headers and the library
symlink, our builds started failing.

Change-Id: I631cab7c106559968c06977fa25157a57402594c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-10-03 15:43:40 +02:00
Topi Reinio
c533e80e31 Doc: remove duplicate \externalpage definitions
Delete all duplicate \externalpage definitions from
corelib, printsupport and testlib sources.

Change-Id: I7dc5358861f4dad3e8ce080619b61ca3da64ec85
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-09-26 22:25:10 +02:00
Tor Arne Vestbø
a3530859e9 Expose QTest::currentAppName() and remove hard-coded argv[0] in tests
Except where we're actually testing QCoreApplication::applicationName()
and friends.

Change-Id: I25514884c11f43a4f82b1f818f822dc3d79f69a3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-09-26 18:45:16 +02:00
hjk
466e0dff4b Add tracing to logging framework
Change-Id: I4d5b9a24a214785019ff1238c1790ead79205b15
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-09-25 18:21:45 +02:00
aavit
7247cb9e4a Fix: warning/compilation issue on android
Compiler would complain "error: format not a string literal and no
format arguments [-Werror=format-security]", since the third argument
of __android_log_print() is actually the format string.
__android_log_write() is anyway more suited since we're not using any
format here.

Change-Id: Ic19102a9f15038a7cfcb06b605d7b9a73c3e1175
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-09-25 13:31:51 +02:00
Eskil Abrahamsen Blomfeldt
75abfa8982 Support logcat output from tests on Android
We usually do not have a console, so print out the messages
to the log as well, so that it's easier to run single tests
for debugging.

Change-Id: I31908977aac25a6f6716f8245206b01026234aa9
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
2013-09-24 10:54:23 +02:00
Marc Mutz
e327ba191d QTest: microoptimisation
Change-Id: Ifd053870c270a2c0a0a33c8201e40aaa9a9f9041
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2013-09-21 18:39:13 +02:00
Andrew Knight
d959c37eaa WinRT: Basic global support
Various global changes, primarily preprocessor flow, to support the
WinRT platform.

Change-Id: I3fa9cf91d5fb24019362e88fcf205e31b4f810b5
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2013-09-20 13:53:59 +02:00
Marc Mutz
48586b2bac QTest: use nth_element to calculate the median
Sorting is O(NlogN) complexity, while nth_element is linear.

Change-Id: Ic6596affe183494e87abe7bdaa7c9985f5b7cd58
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-13 11:47:06 +02:00
Giuseppe D'Angelo
f070b141b6 Remove qSort usages from QtTestlib
QtAlgorithms is getting deprecated,
see http://www.mail-archive.com/development@qt-project.org/msg01603.html

Change-Id: I383d13f76eceae025daab5242f433f694c0149cd
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-09-11 12:24:26 +02:00
Frederik Gladhorn
c8ca300e49 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/src.pro

Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
2013-08-21 11:03:18 +02:00
Martin Jones
c210668346 Fix mouse test event in window warning message.
The tests use local coordinates, but window->geometry() gives the
global position on the window, i.e. offset by the size of the
decoration.

Change-Id: Id63ffd7e160b77ddb0f5563d8c3c65c36ad45e89
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-18 07:52:54 +02:00