summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Fix warning about unused function result in tst_qnetworkproxyfactory.Friedemann Kleint2013-03-121-1/+1
| | | | | | Change-Id: I1f996c208e05e456d374726c91a5f52ed64f784c Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix warnings about overloaded virtuals in tests (CLANG).Friedemann Kleint2013-03-128-25/+29
| | | | | | Change-Id: I2f96073c4aaf4b11221b98cc6c7031b253a3b45c Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Skip tst_QScroller::scroll(), it's flakey and blocking CITor Arne Vestbø2013-03-121-0/+1
| | | | | | | Task-number: QTBUG-30133 Change-Id: I2d91d92e49480b904dec9807d4763c461e809bd2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android: disable unsupported autotestsPaul Olav Tvete2013-03-121-1/+1
| | | | | | | | We do not currently have shared memory or system semaphore support on Android. Change-Id: I8e8f3fc6ff8d6de0333002c3e1b31cf070416dbd Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Android compile fixPaul Olav Tvete2013-03-121-1/+1
| | | | | | | | Android is not a proper Linux, and in particular it does not have pthread_yield(). Change-Id: Ibf94cfacdc24d0c3baaef002c64f9f50c72c01d2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Compile fix when fileno does not return intPaul Olav Tvete2013-03-121-1/+1
| | | | | | | | This broke the build on Android where fileno returns a short. Change-Id: Ic8d32380078faeedcd22e785a912fede28251156 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Let QMetaObject::connectSlotsByName(o) also check for signals of oAxel Waggershauser2013-03-071-0/+15
| | | | | | | | | | | | | | | | | | | QMetaObject::connectSlotsByName(QObject* o) creates a list of all children to look for signals that match slots of o. This changeset simply adds the object o itself to that list. The motivation is to finally fix the long standing QtCreator bug QTCREATORBUG-6494. Where executing 'Go to slot...' and choosing 'accepted()' for a simple QDialog named 'MyDialog' will add a on_MyDialog_accepted() slot to MyDialog. That slot never gets connected. More details may be found in the linked QTBUG-7595. Task-number: QTBUG-7595 Task-number: QTCREATORBUG-6494 Change-Id: I35f52761791af697eabb569adb5faee6fae50638 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add manual tests for X11 embeddingAlberto Mardegan2013-03-0711-0/+783
| | | | | | | | | | Since we currently implement only half of the XEMBED protocol (we lack the container part), we use a simple XEMBED container built with Gtk+ and PyObject. Using an interpreted language as Python helps us avoiding a build dependency on Gtk+. Change-Id: Ibc6282371c6f767e481c8a8ba2b5ca9cdd0d8b82 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QVector - removeLast optimizeThorbjørn Martsum2013-03-072-0/+46
| | | | | | | | | | | | In case somebody uses QVector as a stack, it is not fair to have takeLast, removeLast and pop_back to do way too much work. This is still very slow compared to std::vector::pop_back (mostly due implicit sharing), however it is more than a factor faster than before. Change-Id: I636872675e80c8ca0c8ebc94b04f587a2dcd6d8d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QVector - add functions takeFirst and takeLastThorbjørn Martsum2013-03-071-1/+14
| | | | | | | | This patch adds takeFirst and takeLast which are functions that QList also has. Change-Id: I761f90b529774edc8fa96e07c6fcf76226123b20 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QVector - add remove functionsThorbjørn Martsum2013-03-071-0/+76
| | | | | | | | | | | This patch adds the functions removeFirst() and removeLast(). Functions that QList has. Beside making these functions, pop_back and pop_front are redirected to these rather than calling erase. Change-Id: Ifc5f8a78e33f436f06f21095a920ec5d4311fd6f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add methods to convert lists of QKeySequence to/from stringsKevin Ottens2013-03-061-0/+102
| | | | | | | | | | | QKeySequence provides conversion to and from strings. But a similar convenience was missing for QList<QKeySequence>. It would come in handy when you want for instance to save/restore the shortcuts of a QAction. Change-Id: I9e4f2001c58a595392a5019a57c564992c39bf88 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* Simplify further extension of tst_QObject::connectSlotsByNameAxel Waggershauser2013-03-061-119/+31
| | | | | | | | | | | | | I changed the existing test-case code to make it more scalable in terms of adding more connectSlotsByName related tests. The old "manual list of ints"-method was really not developer friendly. This is a preparation for a subsequent modification of connectSlotsByName behavior. Change-Id: Ib760e52631ce4b5ae2a3ebdb4854849ff6c93bfe Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix warning about float truncation in tst_qdatastream.Friedemann Kleint2013-03-061-1/+1
| | | | | Change-Id: I8e6af7e6534272d1385020212ad7348d9d74b38d Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Fix loop condition in tst_qhash (CLANG).Friedemann Kleint2013-03-061-2/+2
| | | | | Change-Id: Ic841abdf45cd2543500b3dc4030bea5f6fd88174 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Fix warning about tautological comparison in tst_qstandarditem (CLANG).Friedemann Kleint2013-03-061-1/+1
| | | | | Change-Id: I87e3705b8e03ca84c90783b29f95ad19e5f33b74 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Fix warnings about unused field variables (CLANG).Friedemann Kleint2013-03-062-2/+0
| | | | | Change-Id: I488ad18eb0389d1e9b8b695b7a02eca47bee687e Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Fixed QTreeWidgetIterator to work with sorted QTreeWidgetJan Arve Saether2013-03-061-0/+27
| | | | | | | | | | | We cannot access children directly, since that won't ensure that the pending sort is executed. However, the functions we need are there already and actually makes the code nicer. Task-number: QTBUG-29903 Change-Id: I6899284275dd79b991896a5f08486b58d95f819d Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* QMap - add multiInsert with hintThorbjørn Martsum2013-03-061-0/+66
| | | | | | | | This provides a fast multiInsert in QMap (and a fast insert in QMultiMap) when providing a correct hint. Change-Id: I3c864c3a7842765fe63f8ecb4b54d0e8c9fd22d7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMap - add insert overload that provide a hintThorbjørn Lund Martsum2013-03-062-0/+143
| | | | | | | | This adds a fast insert on QMap when providing a correct hint. Change-Id: I256bba342932c1d4f24c6e65074e1bf47b519537 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-063-1/+6
|\ | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/qnx/qqnxscreen.cpp src/plugins/platforms/windows/qwindowsdialoghelpers.cpp Change-Id: Ib64f21c077b54f2291d19187590bfe869b98477a
| * Do not build qsharedmemory and qsystemsemaphore autotests on QNXFabian Bumberger2013-03-051-0/+1
| | | | | | | | | | | | | | | | QSharedMemory and QSystemSemaphore are not available on QNX so the autotests can not be built. Change-Id: Ibfb405f951d21342d64bf215cedc203a8cefe070 Reviewed-by: Wolfgang Bremer <wbremer@rim.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Return -1 as the API documents it for socket issuesLaszlo Papp2013-03-051-1/+1
| | | | | | | | | | | | Task-number: QTBUG-30024 Change-Id: I51498e6d74ab139134abfb94f35647e995319ee8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QMimeDatabase: pass MatchMode down, to fix MatchContent.David Faure2013-03-011-0/+4
| | | | | | | | | | | | | | Task-number: QTBUG-29702 Change-Id: I2f1538adbf8e7a5edfc4276585bf4ef04ce69874 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-03-0618-105/+510
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-03-0518-105/+510
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure qmake/generators/mac/pbuilder_pbx.cpp src/corelib/kernel/qtimerinfo_unix.cpp src/plugins/platforms/cocoa/qcocoabackingstore.mm src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: I8d125fe498f5304874e6976b53f588d3e98a66ac
| | * Stabilize tst_qprogressbar.Friedemann Kleint2013-02-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | - Wait for shown to ensure events are processed. - Move away from screen corners/potential task bar areas. Change-Id: I2c3aa9b675c6b33ca0da67ee99cc6f76c502098a Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| | * QStandardPaths: Use forward slash consistently.Friedemann Kleint2013-02-271-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-29249 Change-Id: I027f9ae18544dc47e1378214244487c8a5ae704c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Use the base implementation of QAbstractItemModel::sibling in QSIM.Stephen Kelly2013-02-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | QStandardItemModel doesn't really benefit from a reimplementation of sibling, and the current implementation is buggy. Task-number: 29540 Change-Id: Icf8dca29b6e1394a378db5bf6abd884f2d7fd9b9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * Fix qfile autotest on qnxFabian Bumberger2013-02-251-0/+6
| | | | | | | | | | | | | | | | | | | | | This fixes the compilation of the qfile autotest on qnx. Change-Id: Iab099e8b754a4341152e338ff6e3d22a83c625e3 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
| | * Added transient window manual testShawn Rutledge2013-02-254-0/+187
| | | | | | | | | | | | | | | Change-Id: I05e657488bb05e1aa6343270946512c8793f1e68 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
| | * Transient QWindows centered; default-constructed geometryShawn Rutledge2013-02-243-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default-constructed geometry does not mean put the window at 0,0, and it does not mean center the window on the screen: it means let the window manager position the window. If the window is explicitly positioned at 0,0 though, that is a higher priority than the transient hint; without this change, the transientFor property had no effect. On X11, transient means use center "gravity" to make the transient window exactly centered. But the user can still override the geometry of a transient window, as with any window. On OSX and Windows, neither transient window functionality nor smart initial positioning are provided, so a window with no position set will be centered on the screen, and a transient window will be put at the center of its transientParent. Change-Id: I4f5e37480eef5d105e45ffd60362a57f13ec55f5 Task-number: QTBUG-26903 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | * Populate the cmake variables only one time.Stephen Kelly2013-02-213-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're only including the Extras file one time, invoking set() for the include dirs again will overwrite the addition of include dirs in the extras file. We only need to populate these variables if not set anyway, so do that. Change-Id: I04dad0674778e79c8c12c18231b8ce6c92edf881 Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * moc: Fix infinite recursion in macro substitutionOlivier Goffart2013-02-212-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When performing macro argument substitution, one should keep the set of macro to exclude, else we can enter an infinite recursion. Testcase: #define M1(A) A #define M2 M1(M2) Task-number: QTBUG-29759 Change-Id: I564bbfed65e1c8599592eaf12c6d67285d2fd9ce Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * Forward the 3rd parameter of dataChangedAlbert Astals Cid2013-02-211-0/+38
| | | | | | | | | | | | | | | Change-Id: I94f893bf65cd150c3cb1099c91cb13882bcca79a Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * Fix QVector detaching in one thread while another destroys it.Jędrzej Nowacki2013-02-201-1/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds handling for a case when a QVector is shared between two threads. In such scenario detaching in one thread could collide with destruction in the other one, causing a memory leak or assert in debug mode. Task-number: QTBUG-29134 Change-Id: Idbff250d9cfc6cf83174954ea91dbf41f8ea4aa4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Make QVector instances counter thread safeJędrzej Nowacki2013-02-201-100/+101
| | | | | | | | | | | | | | | | | | Change-Id: I7c7aa1eb0f8e91c43023882a3734e908be4ba4fe Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Distinguish between 'mac' and 'macx' qmake scopesTor Arne Vestbø2013-03-053-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The former applies both on Mac OS X and iOS, but 'macx' is specific to Mac OS X. ios.conf and macx.conf now share most of their settings in the common mac.conf. We set the default QMAKE_MAC_SDK before loading mac.conf, so that any overrides in the device config will apply afterwards. This means configure's mkspec parsing will be able to read the QMAKE_MAC_SDK. Change-Id: I0c7e26a6a0103e19b23ef152aa9e4ab461cee632 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | | Clear the current thread data for the main threadThiago Macieira2013-03-051-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids crashes accessing deleted memory when creating a QObject after the last QObject had been deleted, like a qDebug() in global destructors. ==41000== Invalid read of size 4 ==41000== at 0x5F01ED5: bool QBasicAtomicOps<4>::ref<int>(int&) (qatomic_x86.h:208) ==41000== by 0x5F01309: QBasicAtomicInteger<int>::ref() (qbasicatomic.h:147) ==41000== by 0x5F24051: QThreadData::ref() (qthread.cpp:100) ==41000== by 0x614A984: QObject::QObject(QObject*) (qobject.cpp:681) ==41000== Address 0x6ee73f0 is 0 bytes inside a block of size 152 free'd ==41000== at 0x4A0736C: operator delete(void*) (vg_replace_malloc.c:480) ==41000== by 0x5F240BF: QThreadData::deref() (qthread.cpp:109) ==41000== by 0x6113F6B: QCoreApplicationData::~QCoreApplicationData() (qcoreapplication.cpp:268) The comment right above the change in qthread.cpp looks eerily similar to the problem I'm trying to fix. However, the actual change that introduced the change is not in the Qt public history, so we can't know for sure what the problem was then. Change-Id: I0dba895b041fe6cf81e6f8939ca85035cd00aad1 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Make QProcess startable with open()Corentin Jabot2013-03-051-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add setProgram() and setArguments() methods to the QProcess api. Add a convenient start(QIODevice::OpenMode) method. Move the implementation of QProcess::start() to QProcess::open() unifying the QProcess api with other QIODevice subclasses. Change-Id: Id1af57da05f750fe8d526d391589c05ee8037bca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Manual dialog test: Add a page for QWizard.Friedemann Kleint2013-03-054-2/+436
|/ / | | | | | | | | | | | | Task-number: QTBUG-29904 Change-Id: I47df03b0d724ccd156a2854602c41e8f1f2a1d5b Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Add missing license headerPaul Olav Tvete2013-03-051-0/+41
| | | | | | | | | | Change-Id: I0a1c453ff87beb7c900c6b1e76432bcd908a999d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Introducing the Qt Android portPaul Olav Tvete2013-03-059-0/+1509
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on the Necessitas project by Bogdan Vatra. Contributors to the Qt5 project: BogDan Vatra <bogdan@kde.org> Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> hjk <hjk121@nokiamail.com> Oswald Buddenhagen <oswald.buddenhagen@digia.com> Paul Olav Tvete <paul.tvete@digia.com> Robin Burchell <robin+qt@viroteck.net> Samuel Rødal <samuel.rodal@digia.com> Yoann Lopes <yoann.lopes@digia.com> The full history of the Qt5 port can be found in refs/old-heads/android, SHA-1 249ca9ca2c7d876b91b31df9434dde47f9065d0d Change-Id: Iff1a7b2dbb707c986f2639e65e39ed8f22430120 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Long live QLockFileDavid Faure2013-03-056-0/+474
| | | | | | | | | | | | | | | | | | | | | | Locking between processes, implemented with open(O_EXCL) on Unix and CreateFile(CREATE_NEW) on Windows. Supports detecting stale lock files and deleting them. Advisory locking is used to prevent deletion of files that are still in use. Change-Id: Id00ee2a4e77a29483d869037c7047c59cb909339 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Make tst_qwidget more stableAlberto Mardegan2013-03-041-0/+1
| | | | | | | | | | | | | | | | This change fixes a failure of tst_qwidget under XFCE (Ubuntu 13.04). Change-Id: Ic63e85a97ac6e44ce8c281a80ef4e83feecd9185 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Remove excess brace added by accidentThiago Macieira2013-03-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Added in 53dc49ffc8c2e9e84d80b3e0bbef948e99172f9a. io.pro:44: Excess closing brace. Change-Id: Ia3810a5a2668d96ab4604831e8ca5b49c7562956 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | Add QProxyStyle(QString key) constructor for convenienceJ-P Nurmi2013-03-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QStyle implementations are becoming private, so the following slightly verbose pattern seems to be now repeated a lot: new QProxyStyle(QStyleFactory::create("windows")) This change adds an alternative, more convenient constructor for this particular use case: new QProxyStyle("windows") Change-Id: I97ded597a0fd3225a6354ebea0abb367237430af Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* | moc: Support the '$' character as an identifierOlivier Goffart2013-03-023-0/+72
| | | | | | | | | | | | | | | | | | | | Both gcc and clang allow the use of '$' in their identifiers as an extension. moc should not throw a parse error if there is one in the file. Instead, consider '$' as valid in identifiers. Task-number: QTBUG-22720 Change-Id: I8be3a52429c0db5b7e8308b8f4fe475d3d3994bf Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Fix compilation of moc generated file with MEMBER propertiesOlivier Goffart2013-03-021-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the object has only MEMBER properties, without any other property specifying READ, the generated will fail to compile with this error: tst_moc.moc: In member function ‘virtual int ClassWithOneMember::qt_metacall(QMetaObject::Call, int, void**)’: tst_moc.moc:3810:42: error: ‘_v’ was not declared in this scope That's because the '_v' is only declared if 'needTempVarForGet' is set, and it should be set when we have a MEMBER property. Change-Id: I829fad3faf69654b5a3fd540857df19f4a9449d4 Reviewed-by: Gerhard Gappmeier <gerhard.gappmeier@ascolab.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | QUrl: update top level domains that may contain non-ASCII charactersPeter Hartmann2013-03-022-1/+34
| | | | | | | | | | | | | | | | | | Most notably, .com and .net now may contain non-ASCII characters. list has been generated from http://www.mozilla.org/projects/security/tld-idn-policy-list.html Change-Id: Idc3191dc782bc4173ccb19b4bc81f4f061ca7999 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>