summaryrefslogtreecommitdiffstats
path: root/src/testlib
Commit message (Collapse)AuthorAgeFilesLines
* QtTest: Output correct library nameSze Howe Koh2013-05-272-2/+2
| | | | | | | | | | | "QTest" is the C++ namespace; "QtTest" is the library name - Edited the logger output in qplaintestlogger.cpp - Updated documentation - Updated expected outputs for self-tests Change-Id: I43c525c43221a8d4e843a00d6d55b0f06ef55fd7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compiler warning about deprecated APIKai Koehne2013-05-221-0/+10
| | | | | | | | Explicitly disable warnings about qInstallMsgHandler being deprecated. We have to use it in testlib to not break test cases still using it. Change-Id: Icf7eb6c4d549f80ef45a4201fab2ac3eb03dda9e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Utilize the new Q_OS_MACX define.Jake Petroules2013-05-091-5/+5
| | | | | | | | | | All occurrences of `#if defined(Q_OS_MAC) && !defined(Q_OS_IOS)` have been replaced with `#if defined(Q_OS_MACX)`. Change-Id: I5055d9bd1845136beb8ed1c79a8f0f2c0897751a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix more warnings, found by cross-compiling QtThiago Macieira2013-05-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | KeccakF-1600-opt32.c:497:5: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] harfbuzz-thai.c:264:49: error: comparison is always false due to limited range of data type [-Werror=type-limits] These warnings are caused by "char" defaulting to unsigned on ARM. In particular, the second warning was introduced by commit 785e95ef0a95ca8fb39ef57678cd4876ee657c43, which is not upstream... qbenchmarkvalgrind.cpp:224:5: error: variable ‘_qzz_res’ set but not used [-Werror=unused-but-set-variable] This one was fixed for x86-64 in 7b54571ec2032628ea71b0af but not for the other platforms. KeccakF-1600-opt32.c:250:5: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] This one is wasn't caught before because it applies only to big-endian code. Change-Id: Ice33b639e55d95140cbf912bb81b6f508ed3744a Reviewed-by: Richard J. Moore <rich@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix the QTouchEventSequence code snippet so that it compilesAndy Shaw2013-04-181-2/+2
| | | | | | | | | The release() function also requires the QPoint to be set which was missing from the code snippet. Change-Id: I4a5cd2bed0915eb1fbaac3a34fb229eac9c284df Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
* Warn if mouse event occurs outside target window in tests.Stephen Kelly2013-04-121-0/+3
| | | | | | | | | | | This class of bug seems to occur in 'flaky' CI tests, so give more information about what the problem is. Found here: https://codereview.qt-project.org/#change,44210 Change-Id: I73908e309bdecf1fd3bc323dd4e8febe47c1239a Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* qWaitForWindow* default timeouts are 5 secondsShawn Rutledge2013-03-231-2/+2
| | | | | | | | | A widget window can be expected to show up faster, but on a busy CI machine, OpenGL windows can take longer than 1 second. Change-Id: I572cc86bf4d8beebcc565db8d6f2ff78e55c2ac0 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Fix error in XML and Xunit formatted benchmark output.Mirko Boehm (AWS)2013-03-222-2/+5
| | | | | | | | | | | | The number of iterations was not respected for XML output, unlike for plain text output. With this fix, benchmarks report the same result for plain text and XML formatted output. Compare the change to qplaintextlogger.cpp:274. Change-Id: Ieb3e5812e18d93c36847bef0417f779efd300f86 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Daniel Molkentin <daniel@molkentin.de> Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Add minimumtotal option to improve accuracy of short-lived benchmarks.Mirko Boehm (AWS)2013-03-194-1/+33
| | | | | | | | | | | | | | | | | Short-lived benchmarks (benchmarks that complete in a very short period of measured time) are often more affected by jitter and warm-up effects than longer running benchmarks. Since QBENCHMARK stores the median result of all accepted benchmark runs, a larger number of aggregation runs is preferable for short-lived tests, but not necessarily for longer running ones. The minimumtotal option, specified in units of the selected measurement, will make the benchmark repeat a benchmark until the total measured cost exceeds the specified threshold. The displayed median result will then tend to be more accurate. This is especially useful for data-driven benchmarks in case the data tags scale the benchmarked operation from little to large cost. Change-Id: Ib857de64aaffc77715a0000d36f0245f31d86b9a Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Make sure that we #include qconfig.h before testing for features.Thiago Macieira2013-03-191-0/+2
| | | | | | | | | | | This is mandatory in public headers (qiodevice.h, qopengl*, etc.), but it's a good idea even in private headers, in case someone includes that header first somewhere. In particular, all platformsupport API is private. Change-Id: If287baa5d9ed14e93c1666efa0e6332c4c1cd9a4 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* make testlib's toString() use local8Bit, not latin1Oswald Buddenhagen2013-03-131-9/+9
| | | | | | | | | | | this is consistent with what qDebug does. consequently, this makes the code usable with 8-bit strings in the first place. note that some {to,from}Latin1 is left - this is where we know that we are dealing with ascii-only text. Change-Id: I26cfdf3622250b8bf95ebfe221465ca89d7cd082 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* fix encoding when printing debug under winceOswald Buddenhagen2013-03-121-1/+1
| | | | | | | the strings are in local8bit format, not latin1 Change-Id: I19f20b0310351aacb26b70d8053ed267e710986f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't clobber 8-bit outputOswald Buddenhagen2013-03-121-2/+2
| | | | | | | | otherwise it becomes useless for utf-8. the output is encoded as local8bit, so it shouldn't be garbage. Change-Id: I68e59bddb092ac53746f421a90e3803632dbf1c6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Android build fixPaul Olav Tvete2013-03-121-1/+1
| | | | | | | Apparently, the Linux Perf Counter is not supported on Android. Change-Id: I38115d140a3ee783bfcd8a984d8832ffe5bbace4 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Silence warning about unused fields in test event (CLANG).Friedemann Kleint2013-03-121-1/+1
| | | | | Change-Id: I8e05fc9b8820136a7714219627dbdae300af0b0d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Add support for attributes in the -perfcounter argumentThiago Macieira2013-03-061-1/+38
| | | | | | | | | Five attributes are supported, matching what the perf(1) tool supports. The 'p' attribute (precise IP reporting) wasn't added because we don't do assembly-level debugging with benchlib. Change-Id: I726f735a5bcc0c97e62cde0fbe0843597068ad7c Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Store the performance counter attributes globallyThiago Macieira2013-03-061-22/+27
| | | | | | | This will allow us to modify more attributes from the command-line Change-Id: I84d4933cbfa2b69c4e1009eaf3e005cfc3e7e01c Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Add support for the cache-related operations counters in benchlibThiago Macieira2013-03-061-23/+180
| | | | | | | | | | | | This adds support for checking cache accesses and misses, per operation (read, write and prefetch) as well as per cache level (L1 for data, L1 for instructions, last level). The branch prediction unit (BPU) is also accessed via the cache monitor subsystem. Change-Id: I8fa96b141cc777c9d231bd57fa36bca33ae7bdfd Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Add support for more performance counters in QBenchlibThiago Macieira2013-03-063-8/+213
| | | | | | | | | | | | | Added support for most hardware and software counters available on Linux 3.3. The cache-based counters are missing because they need special handling. Also added an option that lists available counters. Note that the list is of counters the library knows about, not the counters that the hardware can measure. Change-Id: I9f6fb09b5460bf4ac6082081611c1d6ff806a3fa Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Add more events for QBenchlib, based on the Linux perf countersThiago Macieira2013-03-063-12/+137
| | | | | Change-Id: Ic7e7e122bfe3995eb7ea033c744fd501579ea8fa Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Implement the Linux Perf Counter backend for benchlibThiago Macieira2013-03-063-2/+109
| | | | | | | | | | | | | | | | Currently, we only support one event type: counting CPU cycles with hardware counters. There are no fallbacks if this hardware counter is not available, and there is currently no way to specify other counters. Benchlib only supports reporting one event per benchmark, even though the event counter interface allows specifying more than one. Still, the hardware usually has limitations on how many events it can monitor at a time, and we'd prefer to have the counter running at 100% of the time, so this will not change. Change-Id: I79858a3ad1e696dc4b7b72c420e5a04b67cd55de Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Add the skeleton Linux perf events counter for QtTestThiago Macieira2013-03-066-1/+224
| | | | | | | | Currently, it only prints "perf available" if you use the -perf option and perf is available. The implementation comes in the next commits. Change-Id: Ic6cdee70e21df25780799a4bc31ca2c2d923b9f8 Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Import the Linux header linux/perf_event.hThiago Macieira2013-03-061-0/+615
| | | | | | | | | | | | | | Imported from linux's own git, at v3.7:include/uapi/linux/perf_event.h (blob SHA-1 is 4f63c05d27c91d04569971ea4a2c4849203c36a9). We cannot rely on the file being shipped by distributions. Older versions did not have all fields in the perf_event_attr structure. If those bits are enabled at runtime, the kernel will simply reject the perf_open call (-EINVAL). Currently, this can only happen with the non-default options exclude_guest and exclude_host. Change-Id: Ib329e52c21d6969406da0cf33de823d721d94206 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Don't use IOKit in QTestLib, it's a private framework on iOSTor Arne Vestbø2013-02-271-5/+5
| | | | | Change-Id: I271a480b79c7768942911a28c84d6bb5a8d840d3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Mention offscreen platform plugin in QTestLib documentation.Samuel Rødal2013-02-191-0/+6
| | | | | Change-Id: Icb82e0b4dedbe4978230cd3271f335ec07da60e4 Reviewed-by: Jason McDonald <macadder1@gmail.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Giuseppe D'Angelo2013-02-176-15/+11
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-146-15/+11
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| | * fix doc page urlsOswald Buddenhagen2013-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | they are versioned nowadays Change-Id: I839db633e9d7d63c9d445f8e914b529bd7ce60a2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * Merge "Merge branch 'release' into stable" into refs/staging/stableSergio Ahumada2013-02-011-4/+0
| | |\
| | | * Merge branch 'release' into stableSergio Ahumada2013-01-311-4/+0
| | | |\ | | | | | | | | | | | | | | | Change-Id: If3aa1b7ed75082eff6e9761ad82c83691135ed60
| | | | * testlib: Remove old 'Partner Directory' external linkSergio Ahumada2013-01-281-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reference was removed by dc0d5bf387a0b440c74b9e822c46b09e20e00720 Change-Id: I941dbd24815caf7f2f33e757215815d9ca4e581c Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * | | substitute fixed version numbers in qdocconf files with variablesOswald Buddenhagen2013-02-011-5/+5
| | |/ / | | | | | | | | | | | | | | | | | | | | Change-Id: Ie57765c10a8e90d6fc74ee5a8fd84bfc7cd8bcf2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * | Doc: Fix references to Qt TestSze Howe Koh2013-01-305-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QtTestLib and QTestLib don't exist. The proper name is "QtTest" (code) or "Qt Test" (English) http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation http://lists.qt-project.org/pipermail/interest/2012-December/005221.html Files paths in qttestlib.qdocconf can't be changed easily however, as it breaks things. So, they're left as they are. Change-Id: Ifbc44ea858c453bedad8cd7723f847e67fc7a85a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | | | remove QMAKE_TARGET_* overridesOswald Buddenhagen2013-02-131-6/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | there is no reason why testlib in particular should have them, while every other module uses the standard strings. Change-Id: I9b9e45957dfccbf02939c326dcebf06133098ede Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | Allow QtTest's QCOMPARE to work with mixed q(u)int32 and q(u)int64Jon Severinsson2013-02-112-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I491edcae84c149775cf3640626ccff8cbf0d69fe Reviewed-by: Jon Severinsson <jon@severinsson.net> Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Jason McDonald <macadder1@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-01-291-2/+2
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-281-2/+2
| |\| | | | | | | | | | | | | | Change-Id: I12b4d8b99bdccae53b1a978cd6eb8f4ac6fb3c76
| | * | Doc: Fix module name formatSze Howe Koh2013-01-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the conventions at http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation QtCore -> Qt Core QtDBus -> Qt D-Bus QtDesigner -> Qt Designer QtGui -> Qt GUI QtImageFormats -> Qt Image Formats QtNetwork -> Qt Network QtPrintSupport -> Qt Print Support QtScript -> Qt Script QtSql -> Qt SQL QtSvg -> Qt SVG QtTest -> Qt Test QtWebKit -> Qt WebKit QtWidgets -> Qt Widgets QtXml -> Qt XML QtConcurrent -> Qt Concurrent (partial) QtQuick -> Qt Quick (partial) Also, distinguish between "module" and "library" Change-Id: Icb8aa695ae60b0e45920b0c8fce4dc763a12b0cd Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | | | Remove QT_{BEGIN,END}_HEADER macro usageSergio Ahumada2013-01-2924-94/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macro was made empty in ba3dc5f3b56d1fab6fe37fe7ae08096d7dc68bcb and is no longer necessary or used. Discussed-on: http://lists.qt-project.org/pipermail/development/2013-January/009284.html Change-Id: Id2bb2e2cabde059305d4af5f12593344ba30f001 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* | | Make the QtTest GUI headers compile on their ownThiago Macieira2013-01-242-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Though no one is supposed to include them directly, it's a good idea to ensure that they are tested too. They're only included from the master header when QT_GUI_LIB and QT_WIDGETS_LIB are #defined. Change-Id: Ie84bb6fd4c18b5b51ab35463f9082feaa0693c97 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-2267-67/+67
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| * | Update copyright year in Digia's license headersSergio Ahumada2013-01-1867-67/+67
| |/ | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QTestLib: improve output when comparing lists fails.David Faure2013-01-222-8/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only QStringList was handled before, now any QList is handled. A specialization for QStringList is still needed though, due to the way template matching works. Example with QList<int>. Before: FAIL! : tst_QTextCodec::threadSafety() Compared values are not the same Loc: [../tst_qtextcodec.cpp(2057)] After: FAIL! : tst_QTextCodec::threadSafety() Compared lists differ at index 0. Actual (res2.toList()): '0' Expected (mibList): '3' Loc: [../tst_qtextcodec.cpp(2057)] Change-Id: If0fdec3236ddb78a679ee549aba569ef5571c395 Reviewed-by: Jason McDonald <macadder1@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Bump Qt version to 5.1.0Frederik Gladhorn2013-01-151-5/+5
| | | | | | | | | | | | Change-Id: I6d372c933e48eeda921fe781b073bf4e05b31585 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Merge branch 'stable' into devSergio Ahumada2013-01-091-1/+1
|\| | | | | | | Change-Id: I7f0dab6bdb1f3cc1d3e6c30166ff6db9dfae37e9
| * Replace macro qdoc with Q_QDOCDebao Zhang2013-01-081-1/+1
| | | | | | | | | | | | | | | | Both qdoc and Q_QDOC are used in source code, which looks not good. Change-Id: I4f3a71670278b0758d92bfa5db086a07e1b1acfd Reviewed-by: hjk <qthjk@ovi.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge branch 'stable' into devFrederik Gladhorn2013-01-072-4/+4
|\| | | | | | | | | | | | | Conflicts: tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp Change-Id: I6b8d505fc22f052c307ca27f58f7d16f98965f47
| * Remove metatype registration of built-in types.Stephen Kelly2013-01-032-4/+4
| | | | | | | | | | | | | | | | As they are built-in, they are effectively registered at compile-time already. Change-Id: I7ae6ba16088eab5d19213fa7b07c2a7760988a86 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | Automatically register method types in QSignalSpy.Stephen Kelly2013-01-071-2/+15
|/ | | | | Change-Id: I3655291dca6dbd3d8d09ee835b85983caa911b64 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>