summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix inconsistent auto test executable namesDavid Faure2012-02-273-1/+3
| | | | | | Change-Id: I3b6b5b37e32be25d1b9933395c43f6d5aa5b8810 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* QRegExp: fix crashGiuseppe D'Angelo2012-02-271-0/+29
| | | | | | | | | | | | Fixes a crash when invoking various QRegExp methods on an object *before* doing any match. For instance fixes: QRegExp re; re.matchedLength(); // crash Task-number: QTBUG-23352 Change-Id: I9c239ff790a139c7820ef1aeced89d31320ae6b0 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Reduce QtCore lib binary size by around ~3KB, by removing template codeJędrzej Nowacki2012-02-271-3/+1
| | | | | | | | | | | | | | | Reusing a template is much better then creating a new one, even if it should inline the same code. For some reason replacing T* by void* force gcc to remove a few bytes per template instantiation too, it is not really significant, but it alows us to simplify the code. Benchmarks don't show any regressions. Change-Id: I4fdf1e4dc311b23021eb5758605602937d05b183 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix selftests while using QStringBuilderOlivier Goffart2012-02-271-1/+1
| | | | | Change-Id: I6dcd830b96023765447c9683fd95209d4312fb1b Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Cleanup usage of QVariant::Type.Jędrzej Nowacki2012-02-271-1/+1
| | | | | | | | | QVariant::Type is marked as obsolete. It is not possible to get rid of it completely, in a source compatible way, but at least we can remove it safely from a method arguments list. Change-Id: I26b58099bfa6d32f3a583a8ae0047f0bb36bcd0d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Skip unstable qlineedit autotest on Ubuntu 11.10.Toby Tomkins2012-02-272-0/+6
| | | | | | | | Task-number: QTBUG-24518 Change-Id: Ia271a820613c1f8a885779eddd20e261716afc6d Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* qfiledialog2: Skip test that is passing on CI and failing otherwise.Toby Tomkins2012-02-271-3/+3
| | | | | | | | Task-number: QTBUG-23602 Change-Id: Id5dfb85956048c60849d865161212b0764e8f250 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Changed qnetworkreply unittest to return correct codeKurt Korbatits2012-02-271-7/+5
| | | | | | | | - Changed waitForFinished() to return correct return code Change-Id: Ic6b0dfa195254783a2106011c4a108d907d73557 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* compile fix: parse under C++11Marc Mutz2012-02-241-6/+6
| | | | | | | | | See d94ab97b7741de7c73d4d203b9cca7bd150d581f for details. Change-Id: Ifc015be6575bd8f469f257d71fbbf79e07226729 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* Fix tst_qlineedit.Friedemann Kleint2012-02-242-38/+48
| | | | | | | | | | | | | - Fix key handling in QWidgetLineControl according to the keyboard scheme returned by the QPlatformTheme, remove #ifdefs. - Do the same in the test. Task-number: QTBUG-21402 Change-Id: I36d836584e7122309061af72819a4147cadd0a74 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* QHeaderView - fix setOffsetToSectionPosition a bitThorbjørn Lund Martsum2012-02-241-0/+28
| | | | | | | | | | | It might be silly to have sections with size 0 without using hideSection. Nevertheless we should still use the principle of least surprise. It does not make sense that hiding a row 'far' away should affect the semantics of setOffsetToSectionPosition on lower indexes. Change-Id: Iaf847eba2ea4d28fc7bcfe3a27d62f432f6f61e0 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QWheelEvent high-resolution delta support.Morten Johan Sorvig2012-02-244-0/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support pixel-based deltas as well as sending dx and dy values in the same event. Keep source and behavior compatibility with Qt 4. New API: QPoint pixelDelta() const QPoint angleDelta() const Deprecate delta() and orientation(). Both pixel-based deltas and combined updates are necessary for smooth trackpad-based scrolling on OS X. Qt 4 compatible behavior is achieved by sending an extra wheel event in cases where the initial event has a combined dx and dy update. This extra event sends dx in delta() and orientation(), with pixelDelta() and angleDelta() set to null. Modify the Cocoa implementation to provide pixel deltas. It is expected that not all platforms can provide these. Angle deltas will always be available. Change-Id: I20c10f0df338ddcd6a3f7a4d40949ed5ae3b4795 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* CodeCoverage: Skip headersclean test.Caroline Chao2012-02-241-0/+2
| | | | | | | | | | | | The code coverage tool adds #line when instrumenting the code using the gcc syntax. Since tst_headersclean now uses the -pedantic-errors flag (qtbase commit 7e970eb58c71dc089815), it causes a fatal error when the code is instrumented with the coverage tool. Change-Id: Icb1888d1c1f0a982c0c56aa168e70a76a246a18c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* clean up qmake-generated projectsOswald Buddenhagen2012-02-2469-361/+30
| | | | | | | | remove "header" and assignmets which are defaults or bogus, reorder some assignments. Change-Id: I67403872168c890ca3b696753ceb01c605d19be7 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Reverted part of "Refactor input context tests"Pekka Vuorela2012-02-241-14/+5
| | | | | | | | | | This commit reverts partly 7401832a7d45de99562b94340375393a39267f41 There is something wrong with DummyWindow/XCB/Metacity, Metacity crashes quite often when QWindow is activated. Change-Id: I611af2678814f41c941cb697054135f561a77878 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Add the QtMain windows library to the CMake files.Stephen Kelly2012-02-234-0/+132
| | | | | | | | Change-Id: Iff8b9bdd4b069721103e1cd5854e56b6116d7549 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.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>
* QTextEngine - treat a fullstop (0x2E) as the same script as the preceeding ↵John Tapsell2012-02-231-6/+6
| | | | | | | | | | | | text when dividing up strings Many languages use a fullstop to indicate an abbreviation, making the fullstop part of the word. For languages like thai, it is required to pass the fullstop along for correct word breaking. Change-Id: I5ad0ddbc66ea96e08913446dad8fd3c5d5dd0905 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Harfbuzz-thai: Hide ZWJ and ZWNJ characters and show Inherited charactersJohn Tapsell2012-02-231-0/+42
| | | | | | | | | | | | | | | | | | | | | | | Thai is not supposed to have ZWJ and ZWNJ characters or any other of the Inherited Unicode Scripts (http://www.verisigninc.com/assets/idn-inherited-unicode-script.pdf) - they don't have a mapping to the thai encoding tis620 which libthai requires. However it is an unfortunate fact that there are many websites etc that liberally place these ZWJ and ZWNJ characters throughout thai text to force word boundaries, so we must also deal with them. We deal with all Inherited characters by mapping them to the invalid code ~0 in tis620 encoding, following what libthai does internally in its own tis620 encoding functions, and then replacing this character with the original unicode and setting dontPrint to true to hide the ZWJ and ZWNJ characters. Includes a unit test to check the behaviour. Change-Id: I1ee8388b650cb5fc61bcb265efb9843c73f327ac Reviewed-by: Adrian Yanes <ext-adrian.yanes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Add the quitlock feature to QThread.Stephen Kelly2012-02-231-0/+49
| | | | | | Change-Id: Ib44ee9739499ba4c5f0fecbef3976251ea22836d Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* compile fix: missing #include <unistd.h>sMarc Mutz2012-02-232-0/+6
| | | | | Change-Id: I3bd34f67033fb921c49da97419c107811d8da6ff Reviewed-by: David Faure <faure@kde.org>
* Update tst_QTextEdit::fullWidthSelectionEskil Abrahamsen Blomfeldt2012-02-237-0/+0
| | | | | | | | | | | Since we would add 1 to the height of script lines in the layout before and there was no compensation for this in the box font engine, which is used by this test, the selection rect in the test images was one pixel too high. Now that the +1 has been removed from the height, the images have to be updated. Change-Id: Ic9ea0ace6b61be496846c7f757ae309756cd9f5f Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Fix conflict between QMainWindow::restoreState() and QWidget::setStylesheet()Debao Zhang2012-02-231-0/+36
| | | | | | | | | | | | | | | | | | | | | | If QMainWindow::restoreState() then QWidget::setStylesheet() were called before the QMainWindow is shown, the size of QDockWidget can not be restored. QWidget::setStylesheet() will generate QEvent::StyleChange event, which will cause the function QDockAreaLayout::fitLayout() to be called before the layout of MainWindow is activated. Although the state info has been stored in a QMainWindowLayoutState variable by QMainWindow::restoreState(), but QMainWindowLayout::setGeometry() still isn't called at present. So QDockAreaLayout::fitLayout() will force the size of dockwidgets and centralwidget to be calculated using the wrong geometry, which will break the state restored by QMainWindow::restoreState(). This is a side effect of 692e9103ebb85b90e79377206d5d03b704d43d42. Task-number: QTBUG-15080 Change-Id: I8cda6a529d178f7467a59b780db80df0a44d4769 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix rounding error in QInputMethod::cursorRectangle().Andrew den Exter2012-02-231-2/+7
| | | | | | | | | Use QRectF consistently to avoid the rounding done in the conversion to QRect. Task-number: QTBUG-24463 Change-Id: If9ea858ebabf8c449ea058b9d379d4a57cb6c82d Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* QMenuBar: Clean up Q_WS_WINDebao Zhang2012-02-231-4/+0
| | | | | | | | | - Replace Q_WS_WIN with Q_OS_WIN - Remove useless #ifdef Q_OS_WINCE which located in another #ifdef Q_OS_WINCE Change-Id: I6279b6d74902ab3ca6bdb7292c2936a76e3e6952 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fixed tst_qobject signalbug silently not compiled in -fast builds.Friedemann Kleint2012-02-232-6/+8
| | | | | | | | | | | | | | | | When configuring with -fast on Windows, a directory which contains two .pro files, one SUBDIRS and one not, will have the SUBDIRS Makefile silently clobbered by the non-SUBDIRS Makefile. In practice, this may cause various subdirectories to be silently excluded from the build. Rearrange .pro files for this test to avoid triggering this bug. See also e9015b3bc8827a8276f58bdd41adcac1bcbf2137. Task-number: QTBUG-21168 Change-Id: I18fac1ac636fdc6b2aaee1b4cdfee9c4bc2a77ff Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix breakage in dead codeRichard Moore2012-02-221-1/+1
| | | | | Change-Id: Ibcddfb711a3f47bf957a4b010330e8a775f1a2e8 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Add further theme hints to QPlatformTheme.Friedemann Kleint2012-02-228-45/+80
| | | | | | | | | | | | | | | | - Add hints for QDialog/QDialogButtonBox. - Add hint for available popup-menu area. - Add keyboard scheme hint replacing QGuiApplicationPrivate::currentKeyPlatform() Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com> Task-number: QTBUG-24204 Task-number: QTBUG-24315 Change-Id: I6653786b0dcb49a6fc264d3b9891dbfee502bd3e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove custom text codec for C strings.Robin Burchell2012-02-223-24/+17
| | | | | | | | | | This setting is extremely harmful, as code cannot know whether or not to expect it. It also made the behaviour of QString::fromAscii and ::toAscii unintuitive, and caused a lot of people to make mistakes with it. Change-Id: I2f429fa7ef93bd75bb93a7f64c56db15b7283388 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Refactor input context testsPekka Vuorela2012-02-224-84/+68
| | | | | | | | Combined test input context instances and adapted changed interfaces a bit. Change-Id: Id5422cac5967d45dcaf2eb71b941d9c45e3b4dee Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Fix QJson autotest on Windows.Friedemann Kleint2012-02-221-8/+11
| | | | | | | | | | | | - Fix warning: "Character represented by universal-character-name '\uFFFF' cannot be represented in the current code page (1252). - Fix character conversion - Change source file to plain ASCII, add defines for special characters. Change-Id: I8557e6ba7488f746247f0d78181f14bfb7d5aaae Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fixed tst_qlogging app silently not compiled in some -fast builds.Rohan McGovern2012-02-223-5/+5
| | | | | | | | | | | | | When configuring with -fast on Windows, a directory which contains two .pro files, one SUBDIRS and one not, will have the SUBDIRS Makefile silently clobbered by the non-SUBDIRS Makefile. In practice, this may cause various subdirectories to be silently excluded from the build. Rearrange .pro files for this test to avoid triggering this bug. Task-number: QTBUG-21168 Change-Id: Ic51941db497d7b8fb004f3c50f5ea24d90ff3114 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
* Flag QGraphicsView test as unstable on Mac.Toby Tomkins2012-02-221-1/+1
| | | | | | | Task-number: QTBUG-24296 Change-Id: I9f748c368fbc0cc2b272be9400da95d774d51bde Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Drop file-engine abstraction from public APIJoão Abecasis2012-02-2212-16/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This abstraction imposed serious performance penalties and is being dropped from the public API. In particular, by allowing file names to be arbitrarily hijacked by different file engines, and requiring engines to be instantiated in order to decide, it imposed unnecessary overhead on all file operations. Another flaw in the design with direct impact on performance is how engines have no way to provide (or retain) additional information obtained when querying the filesystem. In many places this has meant repeated operations on the file system, where useful information is immediately discarded to be queried again subsequently. For Qt 4.8 a major refactoring of the code base took place to allow bypassing the file-engine abstraction in select places, with considerable performance gains observed. In Qt 5 it is expected we'll be able to take this further, reaping even more benefits, but the abstraction has to go. [Dropping this now does not preclude that virtual file systems make an appearance in Qt at a later point in Qt 5's lifecycle. Hopefully with a new and improved abstraction.] Forward declarations for QFileExtension(Result) were dropped, as the classes were never used or defined. Tests using "internalized" classes will only fully run on developer builds. QFSFileEngine was removed altogether from exception safety test, as it isn't its intent to test internal API. Change-Id: Ie910e6c2628be202ea9e05366b091d6d529b246b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix the qlocalsocket testAndrew Stanley-Jones2012-02-211-1/+3
| | | | | | | | | | | | | | | | | This test is broken in a couple of ways. A few one line fixes combined into a single patch. 1. Linux is the only OS that does abstract unix domain sockets by prepending a null as the first character. Don't test this on non-Linux platforms and expect it to pass. 2. Change QVERIFY2 to QCOMPARE so we can see why this fails in CI but no on the local system. Use QCOMPARE where possible. Change-Id: Ic3d2cf9696730dc4d6589539fdfe8a48ccf28de5 Reviewed-by: Alex <alex.blasche@nokia.com>
* Enable qlocalsocket auto testAndrew Stanley-Jones2012-02-211-1/+1
| | | | | | | | Due to recent changes in the test it should now compile and run properly. This re-enables the test. Change-Id: I6c647d99fa1f1b1c53e006fef2865d6be08ec16c Reviewed-by: Alex <alex.blasche@nokia.com>
* Give the compile flags an EXECUTABLE_ prefix.Stephen Kelly2012-02-217-1/+29
| | | | | | | | The fPIE flag should only be used with executables. Change-Id: If799ae4a7fe2492af3aac67651659a52d365024a Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Print out the try_compile output for tests expected to fail.Stephen Kelly2012-02-211-0/+2
| | | | | | | | This way, ctest -V shows that it fails for the expected reason. Change-Id: I97589d4e90d889ea0b10dbd6192526712dbfdd8e Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* qmimetype: Fix test failure when LC_ALL is set.David Faure2012-02-211-0/+1
| | | | | | | | | | | | This code sets LANG=en_US so that the method comment(), which returns a translated name, can be compared with an expected result in English. (QMimeType::comment uses QLocale::system().name() and QLocale::system().uiLanguages()) But LANG= has no effect if LC_ALL is set, so LC_ALL needs to be cleared (or set to en_US) for the test to work. Change-Id: Icb031057769be9bc8c0fcab65daa45e7bf1d5b18 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Test for QT_NO_SSL instead of QT_NO_OPENSSLShane Kearns2012-02-2111-74/+74
| | | | | | | | Change the ifdefs in our own code (except openssl backend) to use the new configure flag. Change-Id: I8774734771c66b22164b5fae8fdb27814ac3df7b Reviewed-by: Richard J. Moore <rich@kde.org>
* Make qget manual test compile without ssl supportShane Kearns2012-02-212-0/+6
| | | | | Change-Id: I35f92328b79df1cfcae52fa6ff8290f260183aea Reviewed-by: Richard J. Moore <rich@kde.org>
* QEasingCurve: implement move constructorMarc Mutz2012-02-211-0/+6
| | | | | | | | | | | | | | | | | | | | | The move constructor sets other.d_ptr to zero. This is safe, because after being moved from, the object is left in a state in which it can be safely destroyed (delete nullptr is a no-op). It cannot meaningfully be used anymore (most members will crash with a nullptr dereference), but in most cases, the moved-from object cannot be accessed anyway (not a named object), and if a named object is moved from, it must have been through explicit std::move(), as in the test case. The STL makes better guarantees (moved-from containers are .empty()), but I don't think it's worth introducing a null state into QEasingCurve just for supporting a use-case that should be considered a bug anyway. Change-Id: I4115b7386cdea6960507da6843a0d0196d8e4139 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: implement move-assignment operatorMarc Mutz2012-02-211-0/+19
| | | | | | | | Implemented as in QPen etc. Change-Id: I65b43c6ec7308ca4b44f614594c15c41ab2f89f9 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QEasingCurve: add member-swapMarc Mutz2012-02-211-0/+7
| | | | | | | | Implementated as in QPen etc. Change-Id: Ia08551bf7902b60e115d1b1d2353030597e34841 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Port badxml autotest to QMetaObjectBuilderKent Hansen2012-02-212-16/+16
| | | | | | | | | | | | | | The meta-object format is going to change for Qt5. Use QMOB to insulate the badxml test from such changes. (It just so happens that the QFAIL("a failure") statement is still on line 109 after the refactoring, so the expected_badxml.* files' location tags did not have to be changed.) Change-Id: I04421d13c4df71c8004fa71cafc4823a59079a41 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Remove qMacVersion()Bradley T. Hughes2012-02-211-1/+1
| | | | | | | | Add QSysInfo::macVersion() instead, to match the windowsVersion() function. Change-Id: I783e59583ca21653d25586156cbb0cb1f301868b Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix qlogging test.Friedemann Kleint2012-02-211-2/+3
| | | | | | | Build app sub-process first. Change-Id: I87a11f7fd5d8a82584e496722f79e236191b0fb3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Improve tst_QPrinterInfo::testForDefaultPrinter().Jason McDonald2012-02-211-1/+2
| | | | | | | Be explicit about skipping the test when no default printer is present. Change-Id: If69b275eb0f490411471ec42798d8aefcc57fd83 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Allow printer names to contain hyphens in QPrinterInfo test.Jason McDonald2012-02-211-1/+1
| | | | | Change-Id: I473627413d2f1cd5637704f2948eb07a264be49e Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix warning about unregistered metatype in QWindow autotest.Jason McDonald2012-02-211-0/+2
| | | | | Change-Id: If9d8d7e1cd52815ef7231294e4890dfafcd28ec8 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>