[Development] Qt 4.8 autotests need attention; over 100 insignificant tests!
Rohan McGovern
rohan.mcgovern at nokia.com
Wed Jun 6 03:49:50 CEST 2012
Hi all,
When Qt 4.8 was moved to gerrit, corners were cut to get it working with
the Qt 5 test infrastructure. This included the disabling of many
autotests, ostensibly as a temporary measure.
Unfortunately this temporary situation has, to date, not been followed
up on, and we still have greater than 100 autotests effectively disabled
(marked as insignificant) in Qt 4.8's CI system.
These are the relevant tests, in need of attention. Currently, _none_
of these tests are being used to block regressions:
tests/auto/bic
tests/auto/compilerwarnings
tests/auto/declarative/examples
tests/auto/declarative/qdeclarativeborderimage
tests/auto/declarative/qdeclarativedebugjs
tests/auto/declarative/qdeclarativeerror
tests/auto/declarative/qdeclarativeimage
tests/auto/declarative/qdeclarativetext
tests/auto/declarative/qdeclarativexmlhttprequest
tests/auto/declarative/qmlvisual
tests/auto/exceptionsafety_objects
tests/auto/guiapplauncher
tests/auto/headers
tests/auto/languagechange
tests/auto/linguist/lupdate
tests/auto/macgui
tests/auto/macnativeevents
tests/auto/mediaobject
tests/auto/q3actiongroup
tests/auto/q3process
tests/auto/q3socket
tests/auto/q3sqlcursor
tests/auto/q3urloperator
tests/auto/qaccessibility
tests/auto/qapplication
tests/auto/qaudioinput
tests/auto/qclipboard
tests/auto/qcolumnview
tests/auto/qdbusmarshall
tests/auto/qeventloop
tests/auto/qfilesystemmodel
tests/auto/qfilesystemwatcher
tests/auto/qfile
tests/auto/qfocusevent
tests/auto/qfont
tests/auto/qftp
tests/auto/qgl
tests/auto/qglthreads
tests/auto/qgraphicsanchorlayout1
tests/auto/qgraphicsanchorlayout
tests/auto/qgraphicseffect
tests/auto/qgraphicsitem
tests/auto/qgraphicsproxywidget
tests/auto/qgraphicsscene
tests/auto/qgraphicstransform
tests/auto/qgraphicsview
tests/auto/qgraphicswidget
tests/auto/qhostinfo
tests/auto/qhttp
tests/auto/qimagereader
tests/auto/qinputcontext
tests/auto/qinputdialog
tests/auto/qitemdelegate
tests/auto/qlibrary
tests/auto/qlistwidget
tests/auto/qlocale
tests/auto/qlocalsocket
tests/auto/qmacstyle
tests/auto/qmdiarea
tests/auto/qmdisubwindow
tests/auto/qmenu
tests/auto/qnetworkconfigurationmanager
tests/auto/qnetworkconfiguration
tests/auto/qnetworkreply
tests/auto/qnetworksession
tests/auto/qpainter
tests/auto/qpauseanimation
tests/auto/qpixmap
tests/auto/qpluginloader
tests/auto/qprinter
tests/auto/qscriptcontext
tests/auto/qscriptextensionplugin
tests/auto/qscriptv8testsuite
tests/auto/qscrollbar
tests/auto/qsettings
tests/auto/qsharedpointer_and_qwidget
tests/auto/qsharedpointer
tests/auto/qsocketnotifier
tests/auto/qsocks5socketengine
tests/auto/qsslsocket_onDemandCertificates_member
tests/auto/qsslsocket_onDemandCertificates_static
tests/auto/qsslsocket
tests/auto/qstylesheetstyle
tests/auto/qtableview
tests/auto/qtcpserver
tests/auto/qtcpsocket
tests/auto/qtextlayout
tests/auto/qtextscriptengine
tests/auto/qtextstream
tests/auto/qtimeline
tests/auto/qtipc/qsharedmemory
tests/auto/qtooltip
tests/auto/qtreeview
tests/auto/qudpsocket
tests/auto/quuid
tests/auto/qwebframe
tests/auto/qwebpage
tests/auto/qwidget
tests/auto/qwidget_window
tests/auto/qwizard
tests/auto/selftests
tests/auto/symbols
tests/auto/xmlpatterns
( found by: git grep insignificant_test -- tests/auto )
I need your help to improve the situation. For anyone interested in
ensuring the quality of Qt 4.8, this is a great way to help out.
Nokia's own QA staff is almost exclusively working on Qt 5 or related
projects and we won't be able to fix this ourselves.
The goal is to remove CONFIG+=insignificant_test from as many of these
autotests as possible.
How you can help:
- check the current status of these tests for each platform. This can
always be ascertained from these links:
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/linux-g++-32_Ubuntu_10.04_x86/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/linux-g++_developer-build_qtnamespace_qtlibinfix_Ubuntu_11.10_x64/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/macx-g++_OSX_10.6/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/macx-g++_OSX_10.7/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/macx-g++_developer-build_OSX_10.7/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/qws_linux-x86-g++/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/win32-msvc2010_Windows_7/log.txt.gz
http://testresults.qt-project.org/ci/Qt_4.8_Integration/latest-success/win32-msvc2010_developer-build_Windows_7/log.txt.gz
- if the test is already passing on some platforms, you can amend the
insignificant_test condition to apply only to the platforms where it
is failing, at least allowing the test to detect regressions on some
platforms while the remaining failures are investigated.
It looks to me like many of the failing tests are only failing on
Windows, but incorrectly marked as insignificant for all platforms.
- if the test is failing consistently, you can replace the
insignificant_test marker with a QEXPECT_FAIL for the failing
portion of the test, and raise a bug for the test's failure. This
allows the rest of the test to be used to detect regressions, until
the whole test can be fixed.
- if the test failure looks easy to fix, you can of course fix it
directly.
I'd also like to apologize for not bringing this up sooner, as I've
known for some time the Qt 4.8 autotest situation is quite bad and
haven't attempted to make that more widely known.
More information about the Development
mailing list