summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp41
-rw-r--r--tests/auto/concurrent/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp3
-rw-r--r--tests/auto/corelib/animation/qanimationgroup/tst_qanimationgroup.cpp6
-rw-r--r--tests/auto/corelib/animation/qpropertyanimation/tst_qpropertyanimation.cpp27
-rw-r--r--tests/auto/corelib/codecs/qtextcodec/test.pro2
-rw-r--r--tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp78
-rw-r--r--tests/auto/corelib/global/qflags/tst_qflags.cpp104
-rw-r--r--tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp6
-rw-r--r--tests/auto/corelib/global/qlogging/tst_qlogging.cpp85
-rw-r--r--tests/auto/corelib/global/qtendian/tst_qtendian.cpp109
-rw-r--r--tests/auto/corelib/io/qbuffer/tst_qbuffer.cpp48
-rw-r--r--tests/auto/corelib/io/qdataurl/tst_qdataurl.cpp62
-rw-r--r--tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST3
-rw-r--r--tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp9
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp104
-rw-r--r--tests/auto/corelib/io/qsettings/tst_qsettings.cpp4
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp4
-rw-r--r--tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp6
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp34
-rw-r--r--tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h1
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp2
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp83
-rw-r--r--tests/auto/corelib/kernel/qsharedmemory/tst_qsharedmemory.cpp22
-rw-r--r--tests/auto/corelib/kernel/qsystemsemaphore/tst_qsystemsemaphore.cpp9
-rw-r--r--tests/auto/corelib/kernel/qtimer/BLACKLIST3
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp65
-rw-r--r--tests/auto/corelib/kernel/qtranslator/android_testdata.qrc8
-rw-r--r--tests/auto/corelib/kernel/qtranslator/qtranslator.qrc2
-rw-r--r--tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp52
-rw-r--r--tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp3
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro10
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_arm64.pro3
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro41
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro3
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro9
-rw-r--r--tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp15
-rw-r--r--tests/auto/corelib/serialization/json/json.pro1
-rw-r--r--tests/auto/corelib/serialization/json/tst_qtjson.cpp90
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest.zipbin0 -> 107060 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Entries6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/canonxml.html44
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Entries7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Entries3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/022.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Entries2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries.Log3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Entries7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/002.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Entries22
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/001.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/002.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/003.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/004.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/005.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/006.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/007.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/008.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/009.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/010.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/011.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/012.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/013.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/014.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/015.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/016.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/017.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/018.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/019.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/020.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/021.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/022.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/023.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/024.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/025.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/026.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/027.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/028.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/029.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/030.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/031.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/032.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/033.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/034.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/035.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/036.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/037.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/038.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/039.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/040.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/041.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/042.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/043.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/044.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/045.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/046.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/047.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/048.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/049.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/050.xml0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/051.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/052.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/053.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/054.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/055.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/056.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/057.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/058.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/059.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/060.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/061.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/062.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/063.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/064.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/065.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/066.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/067.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/068.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/069.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/070.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/071.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/072.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/073.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/074.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/075.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/076.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/077.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/078.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/079.xml8
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/080.xml8
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/081.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/082.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/083.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/084.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/085.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/086.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/087.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/088.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/089.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/090.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/091.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/092.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/093.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/094.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/095.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/096.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/097.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/098.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/099.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/100.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/101.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/102.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/103.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/104.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/105.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/106.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/107.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/108.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/109.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/110.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/111.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/112.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/113.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/114.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/115.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/116.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/117.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/118.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/119.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/120.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/121.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/122.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/123.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/124.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/125.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/126.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/127.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/128.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/129.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/130.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/131.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/132.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/133.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/134.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/135.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/136.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/137.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/138.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/139.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/140.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/141.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/142.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/143.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/144.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/145.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/146.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/147.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/148.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/149.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/150.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/151.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/152.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/153.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/154.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/155.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/156.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/157.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/158.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/159.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/160.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/161.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/162.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/163.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/164.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/165.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/166.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/167.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/168.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/169.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/170.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/171.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/172.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/173.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/174.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/175.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/176.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/177.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/178.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/179.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/180.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/181.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/182.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/183.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/184.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.xml3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/186.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Entries189
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/null.ent0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/readme.html60
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries.Log3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.ent0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.ent4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.entbin4 -> 0 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.entbin54 -> 0 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.ent0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.xml9
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.xml10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.entbin12 -> 0 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Entries29
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/001.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/002.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/003.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/004.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/005.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/006.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/007.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/008.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/009.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/010.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/011.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/012.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/013.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/014.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Entries15
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.ent0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-1.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-2.ent0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-1.ent4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-2.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-1.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-2.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.ent4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.ent4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.ent5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.ent4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.ent5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.ent4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.ent5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.ent2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-1.ent3
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-2.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Entries65
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/001.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/002.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/003.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/004.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/005.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/006.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/007.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/008.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/009.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/010.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/011.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/012.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/013.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/014.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/015.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/016.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/017.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/018.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/019.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/020.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/021.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/022.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/023.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/024.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/025.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/026.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/027.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/028.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/029.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/030.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/031.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Entries32
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/001.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/002.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/003.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/004.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/005.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/006.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/007.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/008.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/009.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/010.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/011.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/012.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/013.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/014.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/015.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/016.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/017.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/018.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/019.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/020.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/021.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/022.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/023.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/024.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/025.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/026.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/027.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/028.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/029.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/030.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/031.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/032.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/033.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/034.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/035.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/036.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/037.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/038.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/039.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/040.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/041.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/042.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/043.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/044.xml10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/045.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/046.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/047.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/048.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/049.xmlbin124 -> 0 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/050.xmlbin132 -> 0 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/051.xmlbin140 -> 0 bytes
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/052.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/053.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/054.xml10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/055.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/056.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/057.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/058.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/059.xml10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/060.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/061.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/062.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/063.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/064.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/065.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/066.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/067.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/068.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/069.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/070.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/071.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/072.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/073.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/074.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/075.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/076.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/077.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/078.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/079.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/080.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/081.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/082.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/083.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/084.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/085.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/086.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/087.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/088.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/090.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/091.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/092.xml10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/093.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/094.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/095.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/096.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.ent1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.xml8
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/098.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/099.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/100.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/101.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/102.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/103.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/104.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/105.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/106.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/107.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/108.xml7
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/109.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/110.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/111.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/112.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/113.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/114.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/115.xml6
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/116.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/117.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/118.xml5
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/119.xml4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Entries121
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/001.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/002.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/003.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/004.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/005.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/006.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/007.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/008.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/009.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/010.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/011.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/012.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/013.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/014.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/015.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/016.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/017.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/018.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/019.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/020.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/021.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/022.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/023.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/024.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/025.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/026.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/027.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/028.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/029.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/030.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/031.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/032.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/033.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/034.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/035.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/036.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/037.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/038.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/039.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/040.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/041.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/042.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/043.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/044.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/045.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/046.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/047.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/048.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/049.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/050.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/051.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/052.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/053.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/054.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/055.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/056.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/057.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/058.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/059.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/060.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/061.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/062.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/063.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/064.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/065.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/066.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/067.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/068.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/070.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/071.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/072.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/073.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/074.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/075.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/077.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/078.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/079.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/080.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/081.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/082.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/083.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/084.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/085.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/086.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/087.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/088.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/092.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/093.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/094.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/095.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/096.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/097.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/098.xml2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/099.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/100.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/101.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/102.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/103.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/104.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/105.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/106.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/107.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/108.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/109.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/110.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/111.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/112.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/113.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/114.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/115.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/116.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/117.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/118.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/119.xml1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Entries120
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Repository1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Root1
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/xmltest.xml1433
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/069.xml (renamed from tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/069.xml)0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/076.xml (renamed from tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/076.xml)0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/090.xml (renamed from tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/090.xml)0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/091.xml (renamed from tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/091.xml)0
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/019.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/024.ref4
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/039.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/041.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/1.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/2.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/21.ref10
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/data/namespaceCDATA.ref2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/qxmlstream.pro2
-rw-r--r--tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp35
-rw-r--r--tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp7
-rw-r--r--tests/auto/corelib/text/qchar/tst_qchar.cpp19
-rw-r--r--tests/auto/corelib/text/qlocale/tst_qlocale.cpp79
-rw-r--r--tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp26
-rw-r--r--tests/auto/corelib/text/qstring/tst_qstring.cpp41
-rw-r--r--tests/auto/corelib/text/qstringlist/tst_qstringlist.cpp5
-rw-r--r--tests/auto/corelib/text/qtextboundaryfinder/tst_qtextboundaryfinder.cpp101
-rw-r--r--tests/auto/corelib/thread/qfuture/tst_qfuture.cpp79
-rw-r--r--tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp16
-rw-r--r--tests/auto/corelib/thread/qthread/tst_qthread.cpp95
-rw-r--r--tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp27
-rw-r--r--tests/auto/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp13
-rw-r--r--tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp16
-rw-r--r--tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp81
-rw-r--r--tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp52
-rw-r--r--tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp1
-rw-r--r--tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp2
-rw-r--r--tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp53
-rw-r--r--tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp36
-rw-r--r--tests/auto/corelib/tools/qmessageauthenticationcode/tst_qmessageauthenticationcode.cpp43
-rw-r--r--tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp144
-rw-r--r--tests/auto/corelib/tools/qvector/tst_qvector.cpp108
-rw-r--r--tests/auto/dbus/qdbusconnection/BLACKLIST5
-rw-r--r--tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp7
-rw-r--r--tests/auto/gui/image/qimage/tst_qimage.cpp7
-rw-r--r--tests/auto/gui/image/qpixmap/tst_qpixmap.cpp14
-rw-r--r--tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp39
-rw-r--r--tests/auto/gui/kernel/qguitimer/BLACKLIST7
-rw-r--r--tests/auto/gui/kernel/qwindow/BLACKLIST1
-rw-r--r--tests/auto/gui/kernel/qwindow/tst_qwindow.cpp44
-rw-r--r--tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp65
-rw-r--r--tests/auto/gui/painting/qpainter/tst_qpainter.cpp31
-rw-r--r--tests/auto/gui/qvulkan/tst_qvulkan.cpp11
-rw-r--r--tests/auto/gui/text/qfont/BLACKLIST8
-rw-r--r--tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp10
-rw-r--r--tests/auto/gui/text/qglyphrun/BLACKLIST4
-rw-r--r--tests/auto/gui/text/qrawfont/tst_qrawfont.cpp27
-rw-r--r--tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp101
-rw-r--r--tests/auto/gui/text/qtextlayout/BLACKLIST3
-rw-r--r--tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp73
-rw-r--r--tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp38
-rw-r--r--tests/auto/gui/text/qtextmarkdownwriter/tst_qtextmarkdownwriter.cpp29
-rw-r--r--tests/auto/gui/text/qtexttable/tst_qtexttable.cpp89
-rw-r--r--tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp19
-rw-r--r--tests/auto/network/access/hsts/tst_qhsts.cpp6
-rw-r--r--tests/auto/network/access/http2/BLACKLIST5
-rw-r--r--tests/auto/network/access/http2/certs/fluke.cert105
-rw-r--r--tests/auto/network/access/http2/certs/fluke.key67
-rw-r--r--tests/auto/network/access/http2/http2srv.cpp11
-rw-r--r--tests/auto/network/access/http2/http2srv.h6
-rw-r--r--tests/auto/network/access/http2/tst_http2.cpp167
-rw-r--r--tests/auto/network/access/qdecompresshelper/BLACKLIST2
-rw-r--r--tests/auto/network/access/qftp/BLACKLIST2
-rw-r--r--tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp12
-rw-r--r--tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp48
-rw-r--r--tests/auto/network/access/qnetworkreply/certs/qt-test-server-cacert.pem30
-rw-r--r--tests/auto/network/access/qnetworkreply/certs/server.key38
-rw-r--r--tests/auto/network/access/qnetworkreply/certs/server.pem42
-rw-r--r--tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp87
-rw-r--r--tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp36
-rw-r--r--tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp30
-rw-r--r--tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp6
-rw-r--r--tests/auto/network/socket/qsocks5socketengine/BLACKLIST4
-rw-r--r--tests/auto/network/socket/qtcpserver/BLACKLIST3
-rw-r--r--tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp6
-rw-r--r--tests/auto/network/socket/qtcpsocket/BLACKLIST2
-rw-r--r--tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp37
-rw-r--r--tests/auto/network/socket/qudpsocket/BLACKLIST4
-rw-r--r--tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp2
-rw-r--r--tests/auto/network/ssl/qdtls/certs/fluke.cert105
-rw-r--r--tests/auto/network/ssl/qdtls/certs/fluke.key67
-rw-r--r--tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.842
-rw-r--r--tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.142
-rw-r--r--tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1c41
-rw-r--r--tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.3.0.5 (renamed from tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.0)4
-rw-r--r--tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp36
-rw-r--r--tests/auto/network/ssl/qsslcertificate/verify-certs/README7
-rw-r--r--tests/auto/network/ssl/qsslcertificate/verify-certs/cacert.pem44
-rw-r--r--tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-ca-cert.pem88
-rw-r--r--tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-is-ca-cert.pem74
-rw-r--r--tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-not-ca-cert.pem74
-rw-r--r--tests/auto/network/ssl/qsslcertificate/verify-certs/test-ocsp-good-cert.pem87
-rw-r--r--tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp57
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/ca-generate.sh21
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/ca.conf10
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/ca.crt70
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/ca.key99
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/fluke.cert105
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/fluke.key67
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/inter.conf14
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/inter.crt71
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/inter.key99
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/leaf.conf14
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/leaf.crt73
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/leaf.key127
-rw-r--r--tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cacert.pem30
-rw-r--r--tests/auto/network/ssl/qsslsocket/qsslsocket.pro2
-rw-r--r--tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp138
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST3
-rw-r--r--tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp17
-rw-r--r--tests/auto/opengl/qgl/BLACKLIST3
-rw-r--r--tests/auto/opengl/qgl/tst_qgl.cpp5
-rw-r--r--tests/auto/other/android/testdata/top_level_dir/file_in_top_dir.txt1
-rw-r--r--tests/auto/other/android/testdata/top_level_dir/sub_dir/file_in_sub_dir.txt1
-rw-r--r--tests/auto/other/android/testdata/top_level_dir/sub_dir/sub_dir2/sub_dir3/file_in_sub_dir_3.txt1
-rw-r--r--tests/auto/other/android/tst_android.cpp21
-rw-r--r--tests/auto/other/gestures/BLACKLIST23
-rw-r--r--tests/auto/other/lancelot/paintcommands.cpp25
-rw-r--r--tests/auto/other/lancelot/paintcommands.h1
-rw-r--r--tests/auto/other/lancelot/scripts/cosmetic.qps55
-rw-r--r--tests/auto/other/lancelot/scripts/linedashes2.qps48
-rw-r--r--tests/auto/other/lancelot/tst_lancelot.cpp49
-rw-r--r--tests/auto/other/networkselftest/BLACKLIST3
-rw-r--r--tests/auto/other/qaccessibility/tst_qaccessibility.cpp119
-rw-r--r--tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm21
-rw-r--r--tests/auto/sql/kernel/qsqlquery/BLACKLIST3
-rw-r--r--tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp73
-rw-r--r--tests/auto/testlib/selftests/expected_float.junitxml307
-rw-r--r--tests/auto/testlib/selftests/expected_float.lightxml665
-rw-r--r--tests/auto/testlib/selftests/expected_float.tap1181
-rw-r--r--tests/auto/testlib/selftests/expected_float.teamcity336
-rw-r--r--tests/auto/testlib/selftests/expected_float.txt2
-rw-r--r--tests/auto/testlib/selftests/expected_float.xml668
-rw-r--r--tests/auto/testlib/selftests/float/tst_float.cpp6
-rwxr-xr-xtests/auto/testlib/selftests/generate_expected_output.py7
-rw-r--r--tests/auto/testlib/selftests/tst_selftests.cpp2
-rw-r--r--tests/auto/testlib/selftests/verifyexceptionthrown/tst_verifyexceptionthrown.cpp8
-rw-r--r--tests/auto/tools/moc/allmocs_baseline_in.json10
-rw-r--r--tests/auto/tools/moc/enum_with_include.h5
-rw-r--r--tests/auto/tools/moc/task189996.h8
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp12
-rw-r--r--tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp16
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsanchorlayout/BLACKLIST1
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsproxywidget/BLACKLIST4
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp55
-rw-r--r--tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp134
-rw-r--r--tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp20
-rw-r--r--tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST1
-rw-r--r--tests/auto/widgets/itemviews/qlistview/BLACKLIST2
-rw-r--r--tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp293
-rw-r--r--tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp54
-rw-r--r--tests/auto/widgets/kernel/qapplication/BLACKLIST3
-rw-r--r--tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp22
-rw-r--r--tests/auto/widgets/kernel/qgesturerecognizer/tst_qgesturerecognizer.cpp2
-rw-r--r--tests/auto/widgets/kernel/qwidget/BLACKLIST10
-rw-r--r--tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp255
-rw-r--r--tests/auto/widgets/kernel/qwidget_window/BLACKLIST7
-rw-r--r--tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp1
-rw-r--r--tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp70
-rw-r--r--tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp23
-rw-r--r--tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp39
-rw-r--r--tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp10
-rw-r--r--tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp28
-rw-r--r--tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp2
-rw-r--r--tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp13
-rw-r--r--tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp68
-rw-r--r--tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp5
-rw-r--r--tests/auto/widgets/widgets/qmenubar/BLACKLIST1
-rw-r--r--tests/auto/widgets/widgets/qopenglwidget/BLACKLIST1
-rw-r--r--tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp6
-rw-r--r--tests/auto/widgets/widgets/qscrollarea/tst_qscrollarea.cpp58
-rw-r--r--tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp69
-rw-r--r--tests/auto/xml/dom/qdom/tst_qdom.cpp88
-rw-r--r--tests/benchmarks/corelib/io/qdiriterator/main.cpp29
-rw-r--r--tests/benchmarks/corelib/io/qfile/main.cpp313
-rw-r--r--tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro1
-rw-r--r--tests/benchmarks/corelib/io/qprocess/tst_bench_qprocess.cpp10
-rw-r--r--tests/benchmarks/corelib/text/qlocale/main.cpp272
-rw-r--r--tests/benchmarks/corelib/text/qstring/main.cpp158
-rw-r--r--tests/benchmarks/corelib/time/qdatetime/main.cpp105
-rw-r--r--tests/benchmarks/corelib/tools/qcryptographichash/main.cpp141
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/test/test.pro1
-rw-r--r--tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp4
-rw-r--r--tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp2
-rw-r--r--tests/benchmarks/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp11
-rw-r--r--tests/benchmarks/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp11
-rw-r--r--tests/manual/android_content_uri/android_content_uri.pro4
-rw-r--r--tests/manual/android_content_uri/tst_content_uris.cpp250
-rw-r--r--tests/manual/manual.pro2
878 files changed, 6886 insertions, 8757 deletions
diff --git a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp
index a4eb2936b5..2c5a5c96a6 100644
--- a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp
+++ b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp
@@ -30,6 +30,8 @@
#include <QString>
#include <QtTest/QtTest>
+#include <atomic>
+
using namespace QtConcurrent;
class tst_QtConcurrentRun: public QObject
@@ -50,6 +52,8 @@ private slots:
#endif
void functor();
void lambda();
+ void nullThreadPool();
+ void nullThreadPoolNoLeak();
};
void light()
@@ -422,10 +426,10 @@ void tst_QtConcurrentRun::implicitConvertibleTypes()
{
QThreadPool pool;
- double d;
+ double d = 0.0;
run(doubleFunction, d).waitForFinished();
run(&pool, doubleFunction, d).waitForFinished();
- int i;
+ int i = 0;
run(doubleFunction, d).waitForFinished();
run(&pool, doubleFunction, d).waitForFinished();
run(doubleFunction, i).waitForFinished();
@@ -732,5 +736,38 @@ void tst_QtConcurrentRun::lambda()
}
}
+// QTBUG-98901
+void tst_QtConcurrentRun::nullThreadPool()
+{
+ QThreadPool *pool = nullptr;
+ std::atomic<bool> isInvoked(false);
+ auto future = run(pool, [&] { isInvoked = true; });
+ future.waitForFinished();
+ QVERIFY(future.isCanceled());
+ QVERIFY(!isInvoked);
+}
+
+struct LifetimeChecker
+{
+ LifetimeChecker() { ++count; }
+ LifetimeChecker(const LifetimeChecker &) { ++count; }
+ ~LifetimeChecker() { --count; }
+
+ void operator()() { }
+
+ static std::atomic<int> count;
+};
+std::atomic<int> LifetimeChecker::count{ 0 };
+
+void tst_QtConcurrentRun::nullThreadPoolNoLeak()
+{
+ {
+ QThreadPool *pool = nullptr;
+ auto future = run(pool, LifetimeChecker());
+ future.waitForFinished();
+ }
+ QCOMPARE(LifetimeChecker::count, 0);
+}
+
QTEST_MAIN(tst_QtConcurrentRun)
#include "tst_qtconcurrentrun.moc"
diff --git a/tests/auto/concurrent/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp b/tests/auto/concurrent/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp
index d4c669cddc..81bc64c8d9 100644
--- a/tests/auto/concurrent/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp
+++ b/tests/auto/concurrent/qtconcurrentthreadengine/tst_qtconcurrentthreadengine.cpp
@@ -266,8 +266,6 @@ public:
void tst_QtConcurrentThreadEngine::threadCount()
{
- //QTBUG-23333: This test is unstable
-
const int repeats = 10;
for (int i = 0; i < repeats; ++i) {
ThreadCountUser t;
@@ -300,6 +298,7 @@ void tst_QtConcurrentThreadEngine::threadCount()
if (count != 1)
QEXPECT_FAIL("", "QTBUG-23333", Abort);
QCOMPARE(count, 1);
+ QVERIFY(!threads.contains(QThread::currentThread()));
}
}
diff --git a/tests/auto/corelib/animation/qanimationgroup/tst_qanimationgroup.cpp b/tests/auto/corelib/animation/qanimationgroup/tst_qanimationgroup.cpp
index 2b7de50971..d72370d182 100644
--- a/tests/auto/corelib/animation/qanimationgroup/tst_qanimationgroup.cpp
+++ b/tests/auto/corelib/animation/qanimationgroup/tst_qanimationgroup.cpp
@@ -286,7 +286,8 @@ void tst_QAnimationGroup::setParentAutoAdd()
void tst_QAnimationGroup::beginNestedGroup()
{
- QAnimationGroup *parent = new QParallelAnimationGroup();
+ QParallelAnimationGroup group;
+ QAnimationGroup *parent = &group;
for (int i = 0; i < 10; ++i) {
if (i & 1) {
@@ -343,7 +344,8 @@ void tst_QAnimationGroup::addChildTwice()
void tst_QAnimationGroup::loopWithoutStartValue()
{
- QAnimationGroup *parent = new QSequentialAnimationGroup();
+ QSequentialAnimationGroup group;
+ QAnimationGroup *parent = &group;
QObject o;
o.setProperty("ole", 0);
QCOMPARE(o.property("ole").toInt(), 0);
diff --git a/tests/auto/corelib/animation/qpropertyanimation/tst_qpropertyanimation.cpp b/tests/auto/corelib/animation/qpropertyanimation/tst_qpropertyanimation.cpp
index 41a051a719..b3f72e3b49 100644
--- a/tests/auto/corelib/animation/qpropertyanimation/tst_qpropertyanimation.cpp
+++ b/tests/auto/corelib/animation/qpropertyanimation/tst_qpropertyanimation.cpp
@@ -286,16 +286,16 @@ void tst_QPropertyAnimation::statesAndSignals_data()
void tst_QPropertyAnimation::statesAndSignals()
{
QFETCH(bool, uncontrolled);
- QPropertyAnimation *anim;
+ std::unique_ptr<QPropertyAnimation> anim;
if (uncontrolled)
- anim = new UncontrolledAnimation;
+ anim.reset(new UncontrolledAnimation);
else
- anim = new DummyPropertyAnimation;
+ anim.reset(new DummyPropertyAnimation);
anim->setDuration(100);
- QSignalSpy finishedSpy(anim, &QPropertyAnimation::finished);
- QSignalSpy runningSpy(anim, &QPropertyAnimation::stateChanged);
- QSignalSpy currentLoopSpy(anim, &QPropertyAnimation::currentLoopChanged);
+ QSignalSpy finishedSpy(anim.get(), &QPropertyAnimation::finished);
+ QSignalSpy runningSpy(anim.get(), &QPropertyAnimation::stateChanged);
+ QSignalSpy currentLoopSpy(anim.get(), &QPropertyAnimation::currentLoopChanged);
QVERIFY(finishedSpy.isValid());
QVERIFY(runningSpy.isValid());
@@ -366,8 +366,6 @@ void tst_QPropertyAnimation::statesAndSignals()
QCOMPARE(runningSpy.count(), 1); // anim has stopped
QCOMPARE(finishedSpy.count(), 2);
QCOMPARE(anim->currentLoopTime(), 100);
-
- delete anim;
}
}
@@ -416,9 +414,10 @@ void tst_QPropertyAnimation::deletion1()
void tst_QPropertyAnimation::deletion2()
{
TestAnimationDriver timeDriver;
- //test that the animation get deleted if the object is deleted
+ // test that the animation does not get deleted if the object is deleted
QObject *object = new QWidget;
QPointer<QPropertyAnimation> anim = new QPropertyAnimation(object,"minimumWidth");
+ QVERIFY(anim->parent() != object);
anim->setStartValue(10);
anim->setEndValue(20);
anim->setDuration(200);
@@ -445,14 +444,18 @@ void tst_QPropertyAnimation::deletion2()
QTimer::singleShot(0, object, SLOT(deleteLater()));
timeDriver.wait(50);
+ QVERIFY(anim);
QVERIFY(!anim->targetObject());
+
+ delete anim;
}
void tst_QPropertyAnimation::deletion3()
{
//test that the stopped signal is emit when the animation is destroyed
TestAnimationDriver timeDriver;
- QObject *object = new QWidget;
+ QWidget w;
+ QObject *object = &w;
QPropertyAnimation *anim = new QPropertyAnimation(object,"minimumWidth");
anim->setStartValue(10);
anim->setEndValue(20);
@@ -1327,8 +1330,8 @@ void tst_QPropertyAnimation::totalDuration()
void tst_QPropertyAnimation::zeroLoopCount()
{
- DummyPropertyAnimation* anim;
- anim = new DummyPropertyAnimation;
+ DummyPropertyAnimation animation;
+ auto *anim = &animation;
anim->setStartValue(0);
anim->setDuration(20);
anim->setLoopCount(0);
diff --git a/tests/auto/corelib/codecs/qtextcodec/test.pro b/tests/auto/corelib/codecs/qtextcodec/test.pro
index 7505c5ad51..07c1e4e2bd 100644
--- a/tests/auto/corelib/codecs/qtextcodec/test.pro
+++ b/tests/auto/corelib/codecs/qtextcodec/test.pro
@@ -1,5 +1,5 @@
CONFIG += testcase
-QT = core testlib
+QT = core-private testlib
SOURCES = tst_qtextcodec.cpp
TARGET = tst_qtextcodec
diff --git a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
index 78b6449a69..f975b7300b 100644
--- a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
@@ -38,6 +38,11 @@
#endif
#include <QThreadPool>
+#include <private/qglobal_p.h> // for the icu feature test
+#if QT_CONFIG(icu)
+# include <unicode/uvernum.h>
+#endif
+
class tst_QTextCodec : public QObject
{
Q_OBJECT
@@ -96,6 +101,9 @@ private slots:
void shiftJis();
void userCodec();
+
+ void canEncode();
+ void canEncode_data();
};
void tst_QTextCodec::toUnicode_data()
@@ -2091,6 +2099,15 @@ void tst_QTextCodec::toLocal8Bit()
#if !QT_CONFIG(process)
QSKIP("No qprocess support", SkipAll);
#else
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
QProcess process;
process.start("echo_helper");
QString string(QChar(0x410));
@@ -2455,6 +2472,67 @@ void tst_QTextCodec::userCodec()
QCOMPARE(pcodec, nullptr);
}
+void tst_QTextCodec::canEncode()
+{
+ QFETCH(QString, codecName);
+ QFETCH(QString, inputString);
+ QFETCH(QByteArray, expectedData);
+ QFETCH(bool, canEncode);
+
+ QTextCodec *codec = QTextCodec::codecForName(codecName.toLatin1());
+ QVERIFY(codec != nullptr);
+
+ QCOMPARE(codec->canEncode(inputString), canEncode);
+ QByteArray encoded = codec->fromUnicode(inputString);
+ QCOMPARE(encoded, expectedData);
+}
+
+void tst_QTextCodec::canEncode_data()
+{
+ QTest::addColumn<QString>("codecName");
+ QTest::addColumn<QString>("inputString");
+ QTest::addColumn<QByteArray>("expectedData");
+ QTest::addColumn<bool>("canEncode");
+
+ QTest::newRow("English ISO-8859-1") << "ISO-8859-1" << "Hello World"
+ << QByteArray("Hello World") << true;
+ QTest::newRow("English big5") << "Big5" << "Hello World" << QByteArray("Hello World") << true;
+
+ QTest::newRow("Greek win1252")
+ << "Windows-1252"
+ << QString("\u03c0\u03bf\u03bb\u03cd\u03c4\u03c1\u03bf\u03c0\u03bf\u03bd")
+ << QByteArray("??????????") << false;
+ QTest::newRow("Greek win1253")
+ << "Windows-1253"
+ << QString("\u03c0\u03bf\u03bb\u03cd\u03c4\u03c1\u03bf\u03c0\u03bf\u03bd")
+ << QByteArray("\xF0\xEF\xEB\xFD\xF4\xF1\xEF\xF0\xEF\xED") << true;
+
+ QTest::newRow("Russian win1252")
+ << "Windows-1252" << QString("\u041f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0440")
+ << QByteArray("?????? ???") << false;
+ QTest::newRow("Russian win1251")
+ << "Windows-1251" << QString("\u041f\u0440\u0438\u0432\u0435\u0442 \u043c\u0438\u0440")
+ << QByteArray("\xCF\xF0\xE8\xE2\xE5\xF2 \xEC\xE8\xF0") << true;
+
+ QTest::newRow("English from ucs4")
+ << "ISO-8859-1" << QString("\u0048\u0065\u006c\u006c\u006f\u0021")
+ << QByteArray("Hello!") << true;
+
+ // ICU on Linux RHEL 7.6 seems to be old, and does not handle NULL
+ // characters properly. It returns 0x01 instead of 0x00 for it, so
+ // we just skip the test.
+#if !QT_CONFIG(icu) || (U_ICU_VERSION_MAJOR_NUM > 56)
+ QTest::newRow("With null") << "ISO-8859-1" << QString::fromUcs4(U"Hello\u0000World", 11)
+ << QByteArray("Hello\x00World", 11) << true;
+#endif
+
+ QTest::newRow("With special chars")
+ << "ISO-8859-1" << QString("\u0001\u0002\u0003\u0008\u0009\u000a\u000b\u000d")
+ << QByteArray("\x01\x02\x03\b\t\n\x0B\r") << true;
+
+ QTest::newRow("Pencil icon") << "ISO-8859-1" << QString("\u270f") << QByteArray("?") << false;
+}
+
struct DontCrashAtExit {
~DontCrashAtExit() {
QTextCodec *c = QTextCodec::codecForName("utf8");
diff --git a/tests/auto/corelib/global/qflags/tst_qflags.cpp b/tests/auto/corelib/global/qflags/tst_qflags.cpp
index c679fbd8e3..d6f203a3e9 100644
--- a/tests/auto/corelib/global/qflags/tst_qflags.cpp
+++ b/tests/auto/corelib/global/qflags/tst_qflags.cpp
@@ -31,6 +31,9 @@ class tst_QFlags: public QObject
{
Q_OBJECT
private slots:
+ void boolCasts() const;
+ void operators() const;
+ void mixingDifferentEnums() const;
void testFlag() const;
void testFlagZeroFlag() const;
void testFlagMultiBits() const;
@@ -42,6 +45,107 @@ private slots:
void adl();
};
+void tst_QFlags::boolCasts() const
+{
+ // This tests that the operator overloading is sufficient so that common
+ // idioms involving flags -> bool casts work as expected:
+
+ const Qt::Alignment nonNull = Qt::AlignCenter;
+ const Qt::Alignment null = {};
+
+ // basic premiss:
+ QVERIFY(bool(nonNull));
+ QVERIFY(!bool(null));
+
+ // The rest is just checking that stuff compiles:
+
+ // QVERIFY should compile:
+ QVERIFY(nonNull);
+ QVERIFY(!null);
+
+ // ifs should compile:
+ if (null) QFAIL("Can't contextually convert QFlags to bool!");
+ if (!nonNull) QFAIL("Missing operator! on QFlags (shouldn't be necessary).");
+
+ // ternary should compile:
+ QVERIFY(nonNull ? true : false);
+ QVERIFY(!null ? true : false);
+
+ // logical operators should compile:
+ QVERIFY(nonNull && true);
+ QVERIFY(nonNull || false);
+ QVERIFY(!null && true);
+ QVERIFY(!null || false);
+
+ // ... in both directions:
+ QVERIFY(true && nonNull);
+ QVERIFY(false || nonNull);
+ QVERIFY(true && !null);
+ QVERIFY(false || !null);
+
+ // ... and mixed:
+ QVERIFY(null || nonNull);
+ QVERIFY(!(null && nonNull));
+}
+
+void tst_QFlags::operators() const
+{
+#define CHECK(op, LHS, RHS, RES) \
+ do { \
+ using LFlags = QFlags<decltype(LHS)>; \
+ using RFlags = QFlags<decltype(RHS)>; \
+ QCOMPARE((LHS op RHS), (RES)); \
+ QCOMPARE((LFlags(LHS) op RHS), (RES)); \
+ QCOMPARE((LHS op RFlags(RHS)), (RES)); \
+ QCOMPARE((LFlags(LHS) op RFlags(RHS)), (RES)); \
+ QCOMPARE((LFlags(LHS) op ## = RHS), (RES)); \
+ QCOMPARE((LFlags(LHS) op ## = RFlags(RHS)), (RES)); \
+ } while (false)
+
+ CHECK(|, Qt::AlignHCenter, Qt::AlignVCenter, Qt::AlignCenter);
+ CHECK(|, Qt::AlignHCenter, Qt::AlignHCenter, Qt::AlignHCenter);
+ CHECK(&, Qt::AlignHCenter, Qt::AlignVCenter, Qt::Alignment());
+ CHECK(&, Qt::AlignHCenter, Qt::AlignHCenter, Qt::AlignHCenter);
+ CHECK(^, Qt::AlignHCenter, Qt::AlignVCenter, Qt::AlignCenter);
+ CHECK(^, Qt::AlignHCenter, Qt::AlignHCenter, Qt::Alignment());
+#undef CHECK
+}
+
+void tst_QFlags::mixingDifferentEnums() const
+{
+#define CHECK(op, LHS, RHS, RES) \
+ /* LHS must be QFlags'able */ \
+ do { \
+ QCOMPARE((LHS op RHS), (RES)); \
+ QCOMPARE((RHS op LHS), (RES)); \
+ /*QCOMPARE(( / *CTAD* / QFlags(LHS) op RHS), (RES));*/ \
+ /*QCOMPARE((QFlags(LHS) op ## = RHS), (RES));*/ \
+ } while (false)
+
+ // AlignmentFlags <-> TextFlags
+ {
+ CHECK(|, Qt::AlignCenter, Qt::TextSingleLine, 0x0184);
+ CHECK(&, Qt::AlignCenter, Qt::TextSingleLine, 0x0000);
+ CHECK(^, Qt::AlignCenter, Qt::TextSingleLine, 0x0184);
+ }
+ // QFlags<AlignmentFlags> <-> TextFlags
+ {
+#ifndef QT_TYPESAFE_FLAGS // QTBUG-101344
+ Qt::Alignment MyAlignCenter = Qt::AlignCenter; // convert enum to QFlags
+ CHECK(|, MyAlignCenter, Qt::TextSingleLine, 0x0184U); // yes, unsigned!
+ CHECK(&, MyAlignCenter, Qt::TextSingleLine, 0x0000U); // yes, unsigned!
+ CHECK(^, MyAlignCenter, Qt::TextSingleLine, 0x0184U); // yes, unsigned!
+#endif
+ }
+ // TextElideMode <-> TextFlags
+ {
+ CHECK(|, Qt::ElideNone, Qt::TextSingleLine, 0x0103);
+ CHECK(&, Qt::ElideNone, Qt::TextSingleLine, 0x0000);
+ CHECK(^, Qt::ElideNone, Qt::TextSingleLine, 0x0103);
+ }
+#undef CHECK
+}
+
void tst_QFlags::testFlag() const
{
Qt::MouseButtons btn = Qt::LeftButton | Qt::RightButton;
diff --git a/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp b/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp
index 544cb1bf07..3dfc93a334 100644
--- a/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp
+++ b/tests/auto/corelib/global/qgetputenv/tst_qgetputenv.cpp
@@ -85,7 +85,11 @@ void tst_QGetPutEnv::getSetCheck()
QCOMPARE(sresult, QString());
#endif
- QVERIFY(qputenv(varName, QByteArray("supervalue")));
+ constexpr char varValueFullString[] = "supervalue123";
+ const auto varValueQBA = QByteArray::fromRawData(varValueFullString, sizeof varValueFullString - 4);
+ QCOMPARE(varValueQBA, "supervalue");
+
+ QVERIFY(qputenv(varName, varValueQBA));
QVERIFY(qEnvironmentVariableIsSet(varName));
QVERIFY(!qEnvironmentVariableIsEmpty(varName));
diff --git a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
index 3af637d13a..084f8dc037 100644
--- a/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
+++ b/tests/auto/corelib/global/qlogging/tst_qlogging.cpp
@@ -34,6 +34,8 @@
#endif
#include <QtTest/QTest>
+#include <QtCore/QScopeGuard>
+
class tst_qmessagehandler : public QObject
{
Q_OBJECT
@@ -56,6 +58,8 @@ private slots:
#ifdef QT_BUILD_INTERNAL
void cleanupFuncinfo_data();
void cleanupFuncinfo();
+ void cleanupFuncinfoBad_data();
+ void cleanupFuncinfoBad();
#endif
void qMessagePattern_data();
@@ -670,6 +674,26 @@ void tst_qmessagehandler::cleanupFuncinfo_data()
<< "int TestClass1::operator>(int)"
<< "TestClass1::operator>";
+ QTest::newRow("gcc_40")
+ << "Polymorphic<void (*)(int)>::~Polymorphic()"
+ << "Polymorphic::~Polymorphic";
+
+ QTest::newRow("gcc_41")
+ << "function<void (int*)>()::S::f()"
+ << "function()::S::f";
+
+ QTest::newRow("msvc_41")
+ << "void `void function<void __cdecl(int *)>(void)'::`2'::S::f(void)"
+ << "function(void)'::`2'::S::f";
+
+ QTest::newRow("gcc_42")
+ << "function<Polymorphic<void (int*)> >()::S::f(Polymorphic<void (int*)>*)"
+ << "function()::S::f";
+
+ QTest::newRow("msvc_42")
+ << "void `void function<Polymorphic<void __cdecl(int *)> >(void)'::`2'::S::f(Polymorphic<void __cdecl(int *)> *)"
+ << "function(void)'::`2'::S::f";
+
QTest::newRow("objc_1")
<< "-[SomeClass someMethod:withArguments:]"
<< "-[SomeClass someMethod:withArguments:]";
@@ -685,6 +709,14 @@ void tst_qmessagehandler::cleanupFuncinfo_data()
QTest::newRow("objc_4")
<< "__31-[SomeClass someMethodSchedulingBlock]_block_invoke"
<< "__31-[SomeClass someMethodSchedulingBlock]_block_invoke";
+
+ QTest::newRow("thunk-1")
+ << "non-virtual thunk to QFutureWatcherBasePrivate::postCallOutEvent(QFutureCallOutEvent const&)"
+ << "QFutureWatcherBasePrivate::postCallOutEvent";
+
+ QTest::newRow("thunk-2")
+ << "virtual thunk to std::basic_iostream<char, std::char_traits<char> >::~basic_iostream()"
+ << "std::basic_iostream::~basic_iostream";
}
#endif
@@ -705,6 +737,41 @@ void tst_qmessagehandler::cleanupFuncinfo()
QEXPECT_FAIL("TestClass1::nested_struct_const", "Nested function processing is broken", Continue);
QTEST(QString::fromLatin1(result), "expected");
}
+
+void tst_qmessagehandler::cleanupFuncinfoBad_data()
+{
+ QTest::addColumn<QByteArray>("funcinfo");
+
+ auto addBadFrame = [i = 0](const char *symbol) mutable {
+ QTest::addRow("%d", ++i) << QByteArray(symbol);
+ };
+ addBadFrame("typeinfo for QEventLoop");
+ addBadFrame("typeinfo name for QtPrivate::ResultStoreBase");
+ addBadFrame("typeinfo name for ._anon_476");
+ addBadFrame("typeinfo name for std::__1::__function::__base<bool (void*, void*)>");
+ addBadFrame("vtable for BezierEase");
+ addBadFrame("vtable for Polymorphic<void ()>");
+ addBadFrame("vtable for Polymorphic<void (*)(int)>");
+ addBadFrame("TLS wrapper function for (anonymous namespace)::jitStacks");
+ addBadFrame("lcCheckIndex()::category");
+ addBadFrame("guard variable for lcEPDetach()::category");
+ addBadFrame("guard variable for QImageReader::read(QImage*)::disableNxImageLoading");
+ addBadFrame("VTT for std::__1::ostrstream");
+ addBadFrame("qIsRelocatable<(anonymous namespace)::Data>");
+ addBadFrame("qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQNonContiguousByteDeviceIoDeviceImplENDCLASS_t, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, true> > >");
+ addBadFrame("f()::i");
+}
+
+void tst_qmessagehandler::cleanupFuncinfoBad()
+{
+ QFETCH(QByteArray, funcinfo);
+
+ // A corrupted stack trace may find non-sensical symbols that aren't
+ // functions. The result doesn't matter, so long as we don't crash or hang.
+
+ QByteArray result = qCleanupFuncinfo(funcinfo);
+ qDebug() << "Decode of" << funcinfo << "produced" << result;
+}
#endif
void tst_qmessagehandler::qMessagePattern_data()
@@ -819,7 +886,17 @@ void tst_qmessagehandler::qMessagePattern()
QFETCH(QList<QByteArray>, expected);
QProcess process;
-#ifndef Q_OS_ANDROID
+
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
+#if !defined(Q_OS_ANDROID)
const QString appExe(QLatin1String("helper"));
#else
const QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/libhelper.so"));
@@ -869,8 +946,12 @@ void tst_qmessagehandler::setMessagePattern()
//
QProcess process;
-#ifndef Q_OS_ANDROID
+#ifdef Q_OS_WIN
+ // On Windows the CWD is not the same directory as the helper, so we cannot use "./"
+ // Instead we rely on CreateProcess to find the executable.
const QString appExe(QLatin1String("helper"));
+#elif !defined(Q_OS_ANDROID)
+ const QString appExe(QLatin1String("./helper"));
#else
const QString appExe(QCoreApplication::applicationDirPath() + QLatin1String("/libhelper.so"));
#endif
diff --git a/tests/auto/corelib/global/qtendian/tst_qtendian.cpp b/tests/auto/corelib/global/qtendian/tst_qtendian.cpp
index 2345bb39c1..b70dcd4a3b 100644
--- a/tests/auto/corelib/global/qtendian/tst_qtendian.cpp
+++ b/tests/auto/corelib/global/qtendian/tst_qtendian.cpp
@@ -30,11 +30,17 @@
#include <QtTest/QtTest>
#include <QtCore/qendian.h>
#include <QtCore/private/qendian_p.h>
-
+#include <QtCore/qsysinfo.h>
class tst_QtEndian: public QObject
{
Q_OBJECT
+public:
+ enum Signedness {
+ Unsigned,
+ Signed
+ };
+ Q_ENUM(Signedness);
private slots:
void fromBigEndian();
@@ -55,6 +61,9 @@ private slots:
void endianIntegers();
void endianBitfields();
+
+ void endianBitfieldUnions_data();
+ void endianBitfieldUnions();
};
struct TestData
@@ -383,5 +392,103 @@ void tst_QtEndian::endianBitfields()
QCOMPARE(u.bottom, -8);
}
+template<template<typename... Accessors> class Union, template<int, int, typename> class Member>
+void testBitfieldUnion()
+{
+ using upper = Member<21, 11, uint>;
+ using lower = Member<10, 11, uint>;
+ using bottom = Member<0, 10, int>;
+
+ using UnionType = Union<upper, lower, bottom>;
+ UnionType u;
+
+ u.template set<upper>(200);
+ QCOMPARE(u.template get<upper>(), 200U);
+ u.template set<lower>(1000);
+ u.template set<bottom>(-8);
+ QCOMPARE(u.template get<lower>(), 1000U);
+ QCOMPARE(u.template get<upper>(), 200U);
+
+ u.template set<lower>(u.template get<lower>() + u.template get<upper>());
+ QCOMPARE(u.template get<upper>(), 200U);
+ QCOMPARE(u.template get<lower>(), 1200U);
+
+ u.template set<upper>(65536 + 7);
+ u.template set<lower>(65535);
+ QCOMPARE(u.template get<lower>(), 65535U & ((1<<11) - 1));
+ QCOMPARE(u.template get<upper>(), 7U);
+
+ QCOMPARE(u.template get<bottom>(), -8);
+
+ UnionType u2(QSpecialIntegerBitfieldZero);
+ QCOMPARE(u2.data(), 0U);
+
+ UnionType u3(42U);
+ QCOMPARE(u3.data(), 42U);
+
+// We'd need if constexpr to test this:
+//
+// using BEUintAccessor = QSpecialIntegerAccessor<QBigEndianStorageType<uint>, 21, 11>;
+// using LEUintAccessor = QSpecialIntegerAccessor<QLittleEndianStorageType<uint>, 21, 11>;
+// using BEIntAccessor = QSpecialIntegerAccessor<QBigEndianStorageType<int>, 0, 10>;
+// using LEIntAccessor = QSpecialIntegerAccessor<QLittleEndianStorageType<int>, 0, 10>;
+
+// if constexpr (std::is_same<BEUintAccessor, upper>::value) {
+// QCOMPARE(u.template get<BEUintAccessor>(), 7U);
+// } else if constexpr (std::is_same<LEUintAccessor, upper>::value) {
+// QCOMPARE(u.template get<LEUintAccessor>(), 7U);
+// } else if constexpr (std::is_same<BEIntAccessor, bottom>::value) {
+// QCOMPARE(u.template get<BEIntAccessor>(), -8);
+// } else if constexpr (std::is_same<LEIntAccessor, bottom>::value) {
+// QCOMPARE(u.template get<LEIntAccessor>(), -8);
+// } else {
+// QFAIL("none of the manually defined accessors match");
+// }
+}
+
+Q_DECLARE_METATYPE(QSysInfo::Endian)
+void tst_QtEndian::endianBitfieldUnions_data()
+{
+ QTest::addColumn<QSysInfo::Endian>("byteOrder");
+ QTest::addColumn<Signedness>("signedness");
+
+ QTest::addRow("little endian unsigned") << QSysInfo::LittleEndian << Unsigned;
+ QTest::addRow("little endian signed") << QSysInfo::LittleEndian << Signed;
+ QTest::addRow("big endian unsigned") << QSysInfo::BigEndian << Unsigned;
+ QTest::addRow("big endian signed") << QSysInfo::BigEndian << Signed;
+}
+
+void tst_QtEndian::endianBitfieldUnions()
+{
+ QFETCH(QSysInfo::Endian, byteOrder);
+ QFETCH(Signedness, signedness);
+
+ switch (byteOrder) {
+ case QSysInfo::LittleEndian:
+ switch (signedness) {
+ case Unsigned:
+ testBitfieldUnion<quint32_le_bitfield_union, quint32_le_bitfield_member>();
+ return;
+ case Signed:
+ testBitfieldUnion<qint32_le_bitfield_union, qint32_le_bitfield_member>();
+ return;
+ }
+ Q_UNREACHABLE();
+ return;
+ case QSysInfo::BigEndian:
+ switch (signedness) {
+ case Unsigned:
+ testBitfieldUnion<quint32_be_bitfield_union, quint32_be_bitfield_member>();
+ return;
+ case Signed:
+ testBitfieldUnion<qint32_be_bitfield_union, qint32_be_bitfield_member>();
+ return;
+ }
+ Q_UNREACHABLE();
+ return;
+ }
+}
+
+
QTEST_MAIN(tst_QtEndian)
#include "tst_qtendian.moc"
diff --git a/tests/auto/corelib/io/qbuffer/tst_qbuffer.cpp b/tests/auto/corelib/io/qbuffer/tst_qbuffer.cpp
index 4968742110..b02400e349 100644
--- a/tests/auto/corelib/io/qbuffer/tst_qbuffer.cpp
+++ b/tests/auto/corelib/io/qbuffer/tst_qbuffer.cpp
@@ -36,12 +36,14 @@ class tst_QBuffer : public QObject
Q_OBJECT
private slots:
void open();
+ void openWriteOnlyDoesNotTruncate();
void getSetCheck();
void readBlock();
void readBlockPastEnd();
void writeBlock_data();
void writeBlock();
void seek();
+ void invalidSeeks();
void seekTest_data();
void seekTest();
void read_rawdata();
@@ -130,6 +132,29 @@ void tst_QBuffer::open()
b.close();
}
+void tst_QBuffer::openWriteOnlyDoesNotTruncate()
+{
+ QBuffer b;
+ const auto data = QByteArrayLiteral("Hey, presto!");
+
+ {
+ QVERIFY(b.open(QIODevice::WriteOnly));
+ b.write(data);
+ b.close();
+ }
+ {
+ QVERIFY(b.open(QIODevice::ReadOnly));
+ QCOMPARE(b.readAll(), data);
+ b.close();
+ }
+ {
+ QVERIFY(b.open(QIODevice::WriteOnly));
+ QCOMPARE(b.size(), data.size());
+ QCOMPARE(b.pos(), 0);
+ b.close();
+ }
+}
+
// some status() tests, too
void tst_QBuffer::readBlock()
{
@@ -286,6 +311,29 @@ void tst_QBuffer::seek()
QCOMPARE(buffer.size(), pos);
}
+void tst_QBuffer::invalidSeeks()
+{
+ if (sizeof(qsizetype) == sizeof(qint64)) {
+ // sizeof(qsizetype) == sizeof(qint64), so +1 would overflow
+ QSKIP("This is a 32-bit-only test.");
+ } else {
+ QBuffer buffer;
+ buffer.open(QIODevice::WriteOnly);
+ QCOMPARE(buffer.buffer().size(), qsizetype(0));
+ QCOMPARE(buffer.pos(), qint64(0));
+ constexpr qint64 MaxQByteArrayCapacity = (std::numeric_limits<qsizetype>::max)();
+ // this should fail fast, not after trying to allocate nearly 2 GiB of data,
+ // potentially crashing in the process:
+ QVERIFY(!buffer.seek(2 * MaxQByteArrayCapacity - 1));
+ QCOMPARE(buffer.buffer().size(), qsizetype(0));
+ QCOMPARE(buffer.pos(), qint64(0));
+ // ditto:
+ QVERIFY(!buffer.seek(MaxQByteArrayCapacity + 1));
+ QCOMPARE(buffer.buffer().size(), qsizetype(0));
+ QCOMPARE(buffer.pos(), qint64(0));
+ }
+}
+
void tst_QBuffer::seekTest_data()
{
writeBlock_data();
diff --git a/tests/auto/corelib/io/qdataurl/tst_qdataurl.cpp b/tests/auto/corelib/io/qdataurl/tst_qdataurl.cpp
index 66720d28e0..011af527b4 100644
--- a/tests/auto/corelib/io/qdataurl/tst_qdataurl.cpp
+++ b/tests/auto/corelib/io/qdataurl/tst_qdataurl.cpp
@@ -35,43 +35,45 @@ class tst_QDataUrl : public QObject
Q_OBJECT
private slots:
- void nonData();
- void emptyData();
- void alreadyPercentageEncoded();
+ void decode_data();
+ void decode();
};
-void tst_QDataUrl::nonData()
+void tst_QDataUrl::decode_data()
{
- QLatin1String data("http://test.com");
- QUrl url(data);
- QString mimeType;
- QByteArray payload;
- bool result = qDecodeDataUrl(url, mimeType, payload);
- QVERIFY(!result);
-}
+ QTest::addColumn<QString>("input");
+ QTest::addColumn<bool>("result");
+ QTest::addColumn<QString>("mimeType");
+ QTest::addColumn<QByteArray>("payload");
-void tst_QDataUrl::emptyData()
-{
- QLatin1String data("data:text/plain");
- QUrl url(data);
- QString mimeType;
- QByteArray payload;
- bool result = qDecodeDataUrl(url, mimeType, payload);
- QVERIFY(result);
- QCOMPARE(mimeType, QLatin1String("text/plain;charset=US-ASCII"));
- QVERIFY(payload.isNull());
+ auto row = [](const char *tag, const char *url, bool success, QString mimeType = {}, QByteArray payload = {}) {
+ QTest::newRow(tag) << url << success <<mimeType << payload;
+ };
+
+ row("nonData", "http://test.com", false);
+ row("emptyData", "data:text/plain", true,
+ QLatin1String("text/plain;charset=US-ASCII"));
+ row("alreadyPercentageEncoded", "data:text/plain,%E2%88%9A", true,
+ QLatin1String("text/plain"), QByteArray::fromPercentEncoding("%E2%88%9A"));
}
-void tst_QDataUrl::alreadyPercentageEncoded()
+void tst_QDataUrl::decode()
{
- QLatin1String data("data:text/plain,%E2%88%9A");
- QUrl url(data);
- QString mimeType;
- QByteArray payload;
- bool result = qDecodeDataUrl(url, mimeType, payload);
- QVERIFY(result);
- QCOMPARE(mimeType, QLatin1String("text/plain"));
- QCOMPARE(payload, QByteArray::fromPercentEncoding("%E2%88%9A"));
+ QFETCH(const QString, input);
+ QFETCH(const bool, result);
+ QFETCH(const QString, mimeType);
+ QFETCH(const QByteArray, payload);
+
+ QString actualMimeType;
+ QByteArray actualPayload;
+
+ QUrl url(input);
+ const bool actualResult = qDecodeDataUrl(url, actualMimeType, actualPayload);
+
+ QCOMPARE(actualResult, result);
+ QCOMPARE(actualMimeType, mimeType);
+ QCOMPARE(actualPayload, payload);
+ QCOMPARE(actualPayload.isNull(), payload.isNull()); // assume nullness is significant
}
QTEST_MAIN(tst_QDataUrl)
diff --git a/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST b/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST
index 457499591d..90b714758a 100644
--- a/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST
+++ b/tests/auto/corelib/io/qfilesystemwatcher/BLACKLIST
@@ -1,7 +1,6 @@
# QTBUG-33574 QTBUG-30943
[signalsEmittedAfterFileMoved]
-windows-7sp1
-windows-10
+windows
[watchFileAndItsDirectory:native backend-testfile]
osx
windows
diff --git a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
index da5327594c..4a04e0f7c6 100644
--- a/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
+++ b/tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp
@@ -561,7 +561,8 @@ protected:
qint64 readData(char *data, qint64 maxSize) override
{
maxSize = qMin(maxSize, qint64(buf->size() - offset));
- memcpy(data, buf->constData() + offset, maxSize);
+ if (maxSize > 0)
+ memcpy(data, buf->constData() + offset, maxSize);
offset += maxSize;
return maxSize;
}
@@ -604,13 +605,15 @@ protected:
qint64 readData(char *data, qint64 maxSize) override
{
maxSize = qMin(maxSize, qint64(buf.size() - pos()));
- memcpy(data, buf.constData() + pos(), maxSize);
+ if (maxSize > 0)
+ memcpy(data, buf.constData() + pos(), maxSize);
return maxSize;
}
qint64 writeData(const char *data, qint64 maxSize) override
{
maxSize = qMin(maxSize, qint64(buf.size() - pos()));
- memcpy(buf.data() + pos(), data, maxSize);
+ if (maxSize > 0)
+ memcpy(buf.data() + pos(), data, maxSize);
return maxSize;
}
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
index bc9df3f1f3..ac3b998218 100644
--- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
+++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Copyright (C) 2020 Intel Corporation.
+** Copyright (C) 2021 The Qt Company Ltd.
+** Copyright (C) 2022 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -39,6 +39,7 @@
#include <QtCore/QRegExp>
#include <QtCore/QDebug>
#include <QtCore/QMetaType>
+#include <QtCore/QScopeGuard>
#include <QtNetwork/QHostInfo>
#include <qplatformdefs.h>
@@ -149,6 +150,8 @@ private slots:
void startStopStartStopBuffers();
void processEventsInAReadyReadSlot_data();
void processEventsInAReadyReadSlot();
+ void startFromCurrentWorkingDir_data();
+ void startFromCurrentWorkingDir();
// keep these at the end, since they use lots of processes and sometimes
// caused obscure failures to occur in tests that followed them (esp. on the Mac)
@@ -1271,17 +1274,15 @@ void tst_QProcess::processesInMultipleThreads()
threadCount = qMax(threadCount, QThread::idealThreadCount() + 2);
QVector<TestThread *> threads(threadCount);
+ auto cleanup = qScopeGuard([&threads]() { qDeleteAll(threads); });
for (int j = 0; j < threadCount; ++j)
threads[j] = new TestThread;
for (int j = 0; j < threadCount; ++j)
threads[j]->start();
- for (int j = 0; j < threadCount; ++j) {
+ for (int j = 0; j < threadCount; ++j)
QVERIFY(threads[j]->wait(10000));
- }
- for (int j = 0; j < threadCount; ++j) {
+ for (int j = 0; j < threadCount; ++j)
QCOMPARE(threads[j]->code(), 0);
- }
- qDeleteAll(threads);
}
}
@@ -2732,5 +2733,94 @@ void tst_QProcess::finishProcessBeforeReadingDone_deprecated()
#endif
+enum class ChdirMode {
+ None = 0,
+ InParent,
+ InChild
+};
+Q_DECLARE_METATYPE(ChdirMode)
+
+void tst_QProcess::startFromCurrentWorkingDir_data()
+{
+ qRegisterMetaType<ChdirMode>();
+ QTest::addColumn<QString>("programPrefix");
+ QTest::addColumn<ChdirMode>("chdirMode");
+ QTest::addColumn<bool>("success");
+
+ constexpr bool IsWindows = true
+#ifdef Q_OS_UNIX
+ && false
+#endif
+ ;
+
+ // baseline: trying to execute the directory, this can't possibly succeed!
+ QTest::newRow("plain-same-cwd") << QString() << ChdirMode::None << false;
+
+ // cross-platform behavior: neither OS searches the setWorkingDirectory()
+ // dir without "./"
+ QTest::newRow("plain-child-chdir") << QString() << ChdirMode::InChild << false;
+
+ // cross-platform behavior: both OSes search the parent's CWD with "./"
+ QTest::newRow("prefixed-parent-chdir") << "./" << ChdirMode::InParent << true;
+
+ // opposite behaviors: Windows searches the parent's CWD and Unix searches
+ // the child's with "./"
+ QTest::newRow("prefixed-child-chdir") << "./" << ChdirMode::InChild << !IsWindows;
+
+ // Windows searches the parent's CWD without "./"
+ QTest::newRow("plain-parent-chdir") << QString() << ChdirMode::InParent << IsWindows;
+}
+
+void tst_QProcess::startFromCurrentWorkingDir()
+{
+ QFETCH(QString, programPrefix);
+ QFETCH(ChdirMode, chdirMode);
+ QFETCH(bool, success);
+
+ QProcess process;
+ qRegisterMetaType<QProcess::ProcessError>();
+ QSignalSpy errorSpy(&process, &QProcess::errorOccurred);
+ QVERIFY(errorSpy.isValid());
+
+ // both the dir name and the executable name
+ const QString target = QStringLiteral("testProcessNormal");
+ process.setProgram(programPrefix + target);
+
+#ifdef Q_OS_UNIX
+ // Reset PATH, to be sure it doesn't contain . or the empty path.
+ // We can't do this on Windows because DLLs are searched in PATH
+ // and Windows always searches "." anyway.
+ auto restoreEnv = qScopeGuard([old = qgetenv("PATH")] {
+ qputenv("PATH", old);
+ });
+ qputenv("PATH", "/");
+#endif
+
+ switch (chdirMode) {
+ case ChdirMode::InParent: {
+ auto restoreCwd = qScopeGuard([old = QDir::currentPath()] {
+ QDir::setCurrent(old);
+ });
+ QVERIFY(QDir::setCurrent(target));
+ process.start();
+ break;
+ }
+ case ChdirMode::InChild:
+ process.setWorkingDirectory(target);
+ Q_FALLTHROUGH();
+ case ChdirMode::None:
+ process.start();
+ break;
+ }
+
+ QCOMPARE(process.waitForStarted(), success);
+ QCOMPARE(errorSpy.count(), int(!success));
+ if (success) {
+ QVERIFY(process.waitForFinished());
+ } else {
+ QCOMPARE(process.error(), QProcess::FailedToStart);
+ }
+}
+
QTEST_MAIN(tst_QProcess)
#include "tst_qprocess.moc"
diff --git a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
index 84f4a47585..7c69f5f4b5 100644
--- a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
+++ b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
@@ -742,6 +742,10 @@ void tst_QSettings::embeddedZeroByte_data()
QTest::newRow("@bytearray\\0") << QVariant(bytes);
QTest::newRow("@string\\0") << QVariant(QString::fromLatin1(bytes.data(), bytes.size()));
+
+ bytes = QByteArray("@\xdd\x7d", 3);
+ QTest::newRow("@-prefixed data") << QVariant(bytes);
+ QTest::newRow("@-prefixed data as string") << QVariant(QString::fromLatin1(bytes.data(), bytes.size()));
}
void tst_QSettings::embeddedZeroByte()
diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp
index 5687a63314..c527f1ce3a 100644
--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp
+++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp
@@ -3470,12 +3470,10 @@ void tst_QUrl::effectiveTLDs_data()
QTest::newRow("yes0") << QUrl::fromEncoded("http://test.co.uk") << ".co.uk";
QTest::newRow("yes1") << QUrl::fromEncoded("http://test.com") << ".com";
QTest::newRow("yes2") << QUrl::fromEncoded("http://www.test.de") << ".de";
- QTest::newRow("yes3") << QUrl::fromEncoded("http://test.ulm.museum") << ".ulm.museum";
QTest::newRow("yes4") << QUrl::fromEncoded("http://www.com.krodsherad.no") << ".krodsherad.no";
QTest::newRow("yes5") << QUrl::fromEncoded("http://www.co.uk.1.bg") << ".1.bg";
QTest::newRow("yes6") << QUrl::fromEncoded("http://www.com.com.cn") << ".com.cn";
QTest::newRow("yes7") << QUrl::fromEncoded("http://www.test.org.ws") << ".org.ws";
- QTest::newRow("yes9") << QUrl::fromEncoded("http://www.com.co.uk.wallonie.museum") << ".wallonie.museum";
QTest::newRow("yes10") << QUrl::fromEncoded("http://www.com.evje-og-hornnes.no") << ".evje-og-hornnes.no";
QTest::newRow("yes11") << QUrl::fromEncoded("http://www.bla.kamijima.ehime.jp") << ".kamijima.ehime.jp";
QTest::newRow("yes12") << QUrl::fromEncoded("http://www.bla.kakuda.miyagi.jp") << ".kakuda.miyagi.jp";
@@ -3497,7 +3495,7 @@ void tst_QUrl::effectiveTLDs_data()
<< ".app.os.stg.fedoraproject.org";
QTest::newRow("development.run") << QUrl::fromEncoded("http://test.development.run") << ".development.run";
QTest::newRow("crafting.xyz") << QUrl::fromEncoded("http://test.crafting.xyz") << ".crafting.xyz";
- QTest::newRow("nym.ie") << QUrl::fromEncoded("http://shamus.nym.ie") << ".nym.ie";
+ QTest::newRow("nym.ie") << QUrl::fromEncoded("http://shamus.nym.ie") << ".ie";
QTest::newRow("vapor.cloud") << QUrl::fromEncoded("http://test.vapor.cloud") << ".vapor.cloud";
QTest::newRow("official.academy") << QUrl::fromEncoded("http://acredited.official.academy") << ".official.academy";
}
diff --git a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
index d61d45bc52..084cd68e0f 100644
--- a/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
+++ b/tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
@@ -145,14 +145,14 @@ QAbstractItemModel *ModelsToTest::createModel(const QString &modelType)
if (modelType == "QSortFilterProxyModelEmpty") {
QSortFilterProxyModel *model = new QSortFilterProxyModel;
- QStandardItemModel *standardItemModel = new QStandardItemModel;
+ QStandardItemModel *standardItemModel = new QStandardItemModel(model);
model->setSourceModel(standardItemModel);
return model;
}
if (modelType == "QSortFilterProxyModelRegExp") {
QSortFilterProxyModel *model = new QSortFilterProxyModel;
- QStandardItemModel *standardItemModel = new QStandardItemModel;
+ QStandardItemModel *standardItemModel = new QStandardItemModel(model);
model->setSourceModel(standardItemModel);
populateTestArea(model);
model->setFilterRegularExpression(QRegularExpression("(^$|I.*)"));
@@ -161,7 +161,7 @@ QAbstractItemModel *ModelsToTest::createModel(const QString &modelType)
if (modelType == "QSortFilterProxyModel") {
QSortFilterProxyModel *model = new QSortFilterProxyModel;
- QStandardItemModel *standardItemModel = new QStandardItemModel;
+ QStandardItemModel *standardItemModel = new QStandardItemModel(model);
model->setSourceModel(standardItemModel);
populateTestArea(model);
return model;
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
index 6f608854ae..a6e1f49be2 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp
@@ -2220,6 +2220,40 @@ void tst_QSortFilterProxyModel::changeSourceDataProxySendDataChanged_qtbug87781(
QCOMPARE(afterDataChangedSpy.size(), 1);
}
+void tst_QSortFilterProxyModel::changeSourceDataTreeModel()
+{
+ QStandardItemModel treeModel;
+ QSortFilterProxyModel treeProxyModelBefore;
+ QSortFilterProxyModel treeProxyModelAfter;
+
+ QSignalSpy treeBaseDataChangedSpy(&treeModel, &QStandardItemModel::dataChanged);
+ QSignalSpy treeBeforeDataChangedSpy(&treeProxyModelBefore, &QSortFilterProxyModel::dataChanged);
+ QSignalSpy treeAfterDataChangedSpy(&treeProxyModelAfter, &QSortFilterProxyModel::dataChanged);
+
+ QVERIFY(treeBaseDataChangedSpy.isValid());
+ QVERIFY(treeBeforeDataChangedSpy.isValid());
+ QVERIFY(treeAfterDataChangedSpy.isValid());
+
+ treeProxyModelBefore.setSourceModel(&treeModel);
+ QStandardItem treeNode1("data1");
+ QStandardItem treeNode11("data11");
+ QStandardItem treeNode111("data111");
+
+ treeNode1.appendRow(&treeNode11);
+ treeNode11.appendRow(&treeNode111);
+ treeModel.appendRow(&treeNode1);
+ treeProxyModelAfter.setSourceModel(&treeModel);
+
+ QCOMPARE(treeBaseDataChangedSpy.size(), 0);
+ QCOMPARE(treeBeforeDataChangedSpy.size(), 0);
+ QCOMPARE(treeAfterDataChangedSpy.size(), 0);
+
+ treeNode111.setData(QStringLiteral("new data"), Qt::DisplayRole);
+ QCOMPARE(treeBaseDataChangedSpy.size(), 1);
+ QCOMPARE(treeBeforeDataChangedSpy.size(), 1);
+ QCOMPARE(treeAfterDataChangedSpy.size(), 1);
+}
+
void tst_QSortFilterProxyModel::changeSourceDataProxyFilterSingleColumn()
{
enum modelRow { Row0, Row1, RowCount };
diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h
index 7bf87a86c2..97862e804b 100644
--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h
+++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h
@@ -91,6 +91,7 @@ private slots:
void changeSourceDataKeepsStableSorting_qtbug1548();
void changeSourceDataForwardsRoles_qtbug35440();
void changeSourceDataProxySendDataChanged_qtbug87781();
+ void changeSourceDataTreeModel();
void changeSourceDataProxyFilterSingleColumn();
void changeSourceDataProxyFilterMultipleColumns();
void resortingDoesNotBreakTreeModels();
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index 19b3289390..2e2209ac5d 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -369,7 +369,7 @@ protected:
const char *nm = name.constData();
int tp = qRegisterMetaType<Bar>(nm);
#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
- pthread_yield();
+ sched_yield();
#endif
QMetaType info(tp);
if (!info.isValid()) {
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index 9bd66c0835..471d73e512 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -158,6 +158,7 @@ private slots:
void nullReceiver();
void functorReferencesConnection();
void disconnectDisconnects();
+ void declarativeData();
};
struct QObjectCreatedOnShutdown
@@ -3024,6 +3025,16 @@ void tst_QObject::recursiveSignalEmission()
QSKIP("No qprocess support", SkipAll);
#else
QProcess proc;
+
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ QByteArray pathEnv = qgetenv("PATH");
+ qputenv("PATH",
+ pathEnv + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", pathEnv); });
+
// signalbug helper app should always be next to this test binary
const QString path = QStringLiteral("signalbug_helper");
proc.start(path);
@@ -7679,5 +7690,77 @@ void tst_QObject::disconnectDisconnects()
Q_STATIC_ASSERT(QtPrivate::HasQ_OBJECT_Macro<tst_QObject>::Value);
Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro<SiblingDeleter>::Value);
+#ifdef QT_BUILD_INTERNAL
+/*
+ Since QObjectPrivate stores the declarativeData pointer in a union with the pointer
+ to the currently destroyed child, calls to the QtDeclarative handlers need to be
+ correctly guarded. QTBUG-105286
+*/
+namespace QtDeclarative {
+static QAbstractDeclarativeData *theData;
+
+static void destroyed(QAbstractDeclarativeData *data, QObject *)
+{
+ QCOMPARE(data, theData);
+}
+static void signalEmitted(QAbstractDeclarativeData *data, QObject *, int, void **)
+{
+ QCOMPARE(data, theData);
+}
+// we can't use QCOMPARE in the next two functions, as they don't return void
+static int receivers(QAbstractDeclarativeData *data, const QObject *, int)
+{
+ QTest::qCompare(data, theData, "data", "theData", __FILE__, __LINE__);
+ return 0;
+}
+static bool isSignalConnected(QAbstractDeclarativeData *data, const QObject *, int)
+{
+ QTest::qCompare(data, theData, "data", "theData", __FILE__, __LINE__);
+ return true;
+}
+
+class Object : public QObject
+{
+ Q_OBJECT
+public:
+ using QObject::QObject;
+ ~Object()
+ {
+ if (Object *p = static_cast<Object *>(parent()))
+ p->emitSignal();
+ }
+
+ void emitSignal()
+ {
+ emit theSignal();
+ }
+
+signals:
+ void theSignal();
+};
+
+}
+#endif
+
+void tst_QObject::declarativeData()
+{
+#ifdef QT_BUILD_INTERNAL
+ QAbstractDeclarativeData::destroyed = QtDeclarative::destroyed;
+ QAbstractDeclarativeData::signalEmitted = QtDeclarative::signalEmitted;
+ QAbstractDeclarativeData::receivers = QtDeclarative::receivers;
+ QAbstractDeclarativeData::isSignalConnected = QtDeclarative::isSignalConnected;
+
+ QtDeclarative::Object p;
+ QObjectPrivate *priv = QObjectPrivate::get(&p);
+ priv->declarativeData = QtDeclarative::theData = new QAbstractDeclarativeData;
+
+ connect(&p, &QtDeclarative::Object::theSignal, &p, []{
+ });
+
+ QtDeclarative::Object *child = new QtDeclarative::Object;
+ child->setParent(&p);
+#endif
+}
+
QTEST_MAIN(tst_QObject)
#include "tst_qobject.moc"
diff --git a/tests/auto/corelib/kernel/qsharedmemory/tst_qsharedmemory.cpp b/tests/auto/corelib/kernel/qsharedmemory/tst_qsharedmemory.cpp
index fa2d5e3723..6be2744f3e 100644
--- a/tests/auto/corelib/kernel/qsharedmemory/tst_qsharedmemory.cpp
+++ b/tests/auto/corelib/kernel/qsharedmemory/tst_qsharedmemory.cpp
@@ -35,6 +35,7 @@
#include <QTest>
#include <QThread>
#include <QElapsedTimer>
+#include <QScopeGuard>
#define EXISTING_SHARE "existing"
#define EXISTING_SIZE 1024
@@ -444,8 +445,20 @@ void tst_QSharedMemory::readOnly()
QSKIP("No qprocess support", SkipAll);
#elif defined(Q_OS_MACOS)
QSKIP("QTBUG-59936: Times out on macOS", SkipAll);
+#elif defined(__SANITIZE_ADDRESS__) || __has_feature(address_sanitizer)
+ QSKIP("ASan prevents the crash this test is looking for.", SkipAll);
#else
rememberKey("readonly_segfault");
+
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
// ### on windows disable the popup somehow
QProcess p;
p.start(m_helperBinary, QStringList("readonly_segfault"));
@@ -747,6 +760,15 @@ void tst_QSharedMemory::simpleProcessProducerConsumer()
rememberKey("market");
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
QProcess producer;
producer.start(m_helperBinary, QStringList("producer"));
QVERIFY2(producer.waitForStarted(), "Could not start helper binary");
diff --git a/tests/auto/corelib/kernel/qsystemsemaphore/tst_qsystemsemaphore.cpp b/tests/auto/corelib/kernel/qsystemsemaphore/tst_qsystemsemaphore.cpp
index 5f010ae3d1..a73d806067 100644
--- a/tests/auto/corelib/kernel/qsystemsemaphore/tst_qsystemsemaphore.cpp
+++ b/tests/auto/corelib/kernel/qsystemsemaphore/tst_qsystemsemaphore.cpp
@@ -70,7 +70,14 @@ private:
};
tst_QSystemSemaphore::tst_QSystemSemaphore()
- : m_helperBinary("acquirerelease_helper")
+ :
+#ifdef Q_OS_WIN
+ // On windows the CWD is not the same as the test binary, so we cannot use the ./ path.
+ m_helperBinary("acquirerelease_helper")
+#else
+ // But on Unix we *must*
+ m_helperBinary("./acquirerelease_helper")
+#endif
{
}
diff --git a/tests/auto/corelib/kernel/qtimer/BLACKLIST b/tests/auto/corelib/kernel/qtimer/BLACKLIST
new file mode 100644
index 0000000000..2af0df9432
--- /dev/null
+++ b/tests/auto/corelib/kernel/qtimer/BLACKLIST
@@ -0,0 +1,3 @@
+[zeroTimer]
+ubuntu-20.04
+
diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
index 1bd27cd0ce..3c0adda5de 100644
--- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
+++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
@@ -135,24 +135,53 @@ void tst_QTimer::timeout()
void tst_QTimer::remainingTime()
{
- QTimer timer;
- QSignalSpy timeoutSpy(&timer, &QTimer::timeout);
- timer.setTimerType(Qt::PreciseTimer);
- timer.start(200);
-
- QCOMPARE(timeoutSpy.count(), 0);
- QTest::qWait(50);
- QCOMPARE(timeoutSpy.count(), 0);
-
- int remainingTime = timer.remainingTime();
- QVERIFY2(remainingTime >= 50 && remainingTime <= 200, qPrintable(QString::number(remainingTime)));
-
- QVERIFY(timeoutSpy.wait());
- QCOMPARE(timeoutSpy.count(), 1);
-
- // the timer is still active, so it should have a non-zero remaining time
- remainingTime = timer.remainingTime();
- QVERIFY2(remainingTime >= 50, qPrintable(QString::number(remainingTime)));
+ QTimer tested;
+ tested.setTimerType(Qt::PreciseTimer);
+
+ QTimer tester;
+ tester.setTimerType(Qt::PreciseTimer);
+ tester.setSingleShot(true);
+
+ const int testedInterval = 200;
+ const int testerInterval = 50;
+ const int expectedRemainingTime = testedInterval - testerInterval;
+
+ int testIteration = 0;
+ const int desiredTestCount = 2;
+
+ auto connection = QObject::connect(&tested, &QTimer::timeout, [&tester]() {
+ // We let tested (which isn't a single-shot) run repeatedly, to verify
+ // it *does* repeat, and check that the single-shot tester, starting
+ // at the same time, does finish first each time, by about the right duration.
+ tester.start(); // Start tester again.
+ });
+
+ QObject::connect(&tester, &QTimer::timeout, [&]() {
+ const int remainingTime = tested.remainingTime();
+ // We expect that remainingTime is at most 150 and not overdue.
+ const bool remainingTimeInRange = remainingTime > 0
+ && remainingTime <= expectedRemainingTime;
+ if (remainingTimeInRange)
+ ++testIteration;
+ else
+ testIteration = desiredTestCount; // We are going to fail on QVERIFY2()
+ // below, so we don't want to iterate
+ // anymore and quickly exit the QTRY_...()
+ // with this failure.
+ if (testIteration == desiredTestCount)
+ QObject::disconnect(connection); // Last iteration, don't start tester again.
+ QVERIFY2(remainingTimeInRange, qPrintable("Remaining time "
+ + QByteArray::number(remainingTime) + "ms outside expected range (0ms, "
+ + QByteArray::number(expectedRemainingTime) + "ms]"));
+ });
+
+ tested.start(testedInterval);
+ tester.start(testerInterval); // Start tester for the 1st time.
+
+ // Test it desiredTestCount times, give it reasonable amount of time
+ // (twice as much as needed).
+ QTRY_COMPARE_WITH_TIMEOUT(testIteration, desiredTestCount,
+ testedInterval * desiredTestCount * 2);
}
void tst_QTimer::remainingTimeInitial_data()
diff --git a/tests/auto/corelib/kernel/qtranslator/android_testdata.qrc b/tests/auto/corelib/kernel/qtranslator/android_testdata.qrc
deleted file mode 100644
index 39b85db664..0000000000
--- a/tests/auto/corelib/kernel/qtranslator/android_testdata.qrc
+++ /dev/null
@@ -1,8 +0,0 @@
-<RCC>
- <qresource prefix="/android_testdata">
- <file>hellotr_la.qm</file>
- <file>hellotr_empty.qm</file>
- <file>msgfmt_from_po.qm</file>
- <file>dependencies_la.qm</file>
- </qresource>
-</RCC>
diff --git a/tests/auto/corelib/kernel/qtranslator/qtranslator.qrc b/tests/auto/corelib/kernel/qtranslator/qtranslator.qrc
index cb82c6cc95..6c99335215 100644
--- a/tests/auto/corelib/kernel/qtranslator/qtranslator.qrc
+++ b/tests/auto/corelib/kernel/qtranslator/qtranslator.qrc
@@ -1,6 +1,8 @@
<RCC>
<qresource prefix="/tst_qtranslator">
+ <file>dependencies_la.qm</file>
<file>hellotr_la.qm</file>
<file>hellotr_empty.qm</file>
+ <file>msgfmt_from_po.qm</file>
</qresource>
</RCC>
diff --git a/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp b/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp
index 4a4fd89987..9f4e1773c8 100644
--- a/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp
+++ b/tests/auto/corelib/kernel/qtranslator/tst_qtranslator.cpp
@@ -41,6 +41,7 @@ protected:
bool eventFilter(QObject *obj, QEvent *event);
private slots:
void initTestCase();
+ void init();
void load_data();
void load();
@@ -66,38 +67,14 @@ tst_QTranslator::tst_QTranslator()
void tst_QTranslator::initTestCase()
{
-#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED)
- QString sourceDir(":/android_testdata/");
- QDirIterator it(sourceDir, QDirIterator::Subdirectories);
- while (it.hasNext()) {
- it.next();
-
- QFileInfo sourceFileInfo = it.fileInfo();
- if (!sourceFileInfo.isDir()) {
- QFileInfo destinationFileInfo(QStandardPaths::writableLocation(QStandardPaths::CacheLocation) + QLatin1Char('/') + sourceFileInfo.filePath().mid(sourceDir.length()));
-
- if (!destinationFileInfo.exists()) {
- QVERIFY(QDir().mkpath(destinationFileInfo.path()));
- QVERIFY(QFile::copy(sourceFileInfo.filePath(), destinationFileInfo.filePath()));
- }
- }
- }
-
- QDir::setCurrent(QStandardPaths::writableLocation(QStandardPaths::CacheLocation));
-#endif
-
- // chdir into the directory containing our testdata,
- // to make the code simpler (load testdata via relative paths)
-#ifdef Q_OS_WINRT
- // ### TODO: Use this for all platforms in 5.7
- dataDir = QEXTRACTTESTDATA(QStringLiteral("/"));
+ dataDir = QEXTRACTTESTDATA(QStringLiteral("/tst_qtranslator"));
QVERIFY2(!dataDir.isNull(), qPrintable("Could not extract test data"));
- QVERIFY2(QDir::setCurrent(dataDir->path()), qPrintable("Could not chdir to " + dataDir->path()));
-#else // !Q_OS_WINRT
- QString testdata_dir = QFileInfo(QFINDTESTDATA("hellotr_la.qm")).absolutePath();
- QVERIFY2(QDir::setCurrent(testdata_dir), qPrintable("Could not chdir to " + testdata_dir));
-#endif // !Q_OS_WINRT
+}
+void tst_QTranslator::init()
+{
+ QVERIFY2(QDir::setCurrent(dataDir->path()),
+ qPrintable("Could not chdir to " + dataDir->path()));
}
bool tst_QTranslator::eventFilter(QObject *, QEvent *event)
@@ -376,6 +353,15 @@ void tst_QTranslator::dependencies()
QVERIFY(!tor.isEmpty());
QCOMPARE(tor.translate("QPushButton", "Hello world!"), QLatin1String("Hallo Welt!"));
}
+
+ {
+ // Test resolution of paths relative to main file
+ const QString absoluteFile = QFileInfo("dependencies_la").absoluteFilePath();
+ QDir::setCurrent(QDir::tempPath());
+ QTranslator tor;
+ QVERIFY(tor.load(absoluteFile));
+ QVERIFY(!tor.isEmpty());
+ }
}
struct TranslateThread : public QThread
@@ -415,9 +401,9 @@ void tst_QTranslator::translationInThreadWhileInstallingTranslator()
thread.runningCondition.wait(&thread.startupLock);
- QTranslator *tor = new QTranslator;
- tor->load("hellotr_la");
- QCoreApplication::installTranslator(tor);
+ QTranslator tor;
+ tor.load("hellotr_la");
+ QCoreApplication::installTranslator(&tor);
++thread.terminate;
diff --git a/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp b/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp
index aa85a7c35b..0ad0fc7076 100644
--- a/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp
+++ b/tests/auto/corelib/plugin/qplugin/tst_qplugin.cpp
@@ -228,6 +228,9 @@ static qsizetype locateMetadata(const uchar *data, qsizetype len)
void tst_QPlugin::scanInvalidPlugin()
{
+#if defined(Q_OS_MACOS) && defined(Q_PROCESSOR_ARM)
+ QSKIP("This test crashes on ARM macOS");
+#endif
const auto fileNames = dir.entryList({"*invalid*"}, QDir::Files);
QString invalidPluginName;
if (fileNames.isEmpty())
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro
index 795dd89895..7cfb7920c0 100644
--- a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest.pro
@@ -1,15 +1,11 @@
TEMPLATE = subdirs
SUBDIRS = \
- machtest_i386.pro \
+ machtest_arm64.pro \
machtest_x86_64.pro \
- machtest_ppc64.pro \
machtest_fat.pro
machtest_fat-pro.depends = \
- machtest_i386.pro \
- machtest_x86_64.pro \
- machtest_ppc64.pro
-
-machtest_ppc64-pro.depends = \
+ machtest_arm64.pro \
machtest_x86_64.pro
+
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_arm64.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_arm64.pro
new file mode 100644
index 0000000000..c2856a8af0
--- /dev/null
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_arm64.pro
@@ -0,0 +1,3 @@
+QMAKE_APPLE_DEVICE_ARCHS = arm64
+include(machtest.pri)
+
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro
index 9c34a873bc..57c6654984 100644
--- a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro
+++ b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_fat.pro
@@ -7,41 +7,42 @@ load(qt)
# Generate a fat binary with three architectures
fat_all.target = good.fat.all.dylib
fat_all.commands = lipo -create -output $@ \
- -arch ppc64 good.ppc64.dylib \
- -arch i386 good.i386.dylib \
+ -arch arm64 good.arm64.dylib \
-arch x86_64 good.x86_64.dylib
-fat_all.depends += good.i386.dylib good.x86_64.dylib good.ppc64.dylib
+fat_all.depends += good.arm64.dylib good.x86_64.dylib
-fat_no_i386.target = good.fat.no-i386.dylib
-fat_no_i386.commands = lipo -create -output $@ -arch x86_64 good.x86_64.dylib -arch ppc64 good.ppc64.dylib
-fat_no_i386.depends += good.x86_64.dylib good.ppc64.dylib
+fat_no_arm64.target = good.fat.no-arm64.dylib
+fat_no_arm64.commands = lipo -create -output $@ -arch x86_64 good.x86_64.dylib
+fat_no_arm64.depends += good.x86_64.dylib
fat_no_x86_64.target = good.fat.no-x86_64.dylib
-fat_no_x86_64.commands = lipo -create -output $@ -arch i386 good.i386.dylib -arch ppc64 good.ppc64.dylib
-fat_no_x86_64.depends += good.i386.dylib good.ppc64.dylib
+fat_no_x86_64.commands = lipo -create -output $@ -arch arm64 good.arm64.dylib
+fat_no_x86_64.depends += good.arm64.dylib
-stub_i386.commands = $$QMAKE_CXX -shared -arch i386 -o stub.i386.dylib $$PWD/stub.cpp
-stub_i386.depends += $$PWD/stub.cpp
+stub_flags = -L$$system(xcrun --show-sdk-path)/usr/lib/ -stdlib=libc++
-stub_x86_64.commands = $$QMAKE_CXX -shared -arch x86_64 -o stub.x86_64.dylib $$PWD/stub.cpp
+stub_arm64.commands = $$QMAKE_CXX $$stub_flags -shared -arch arm64 -o stub.arm64.dylib $$PWD/stub.cpp
+stub_arm64.depends += $$PWD/stub.cpp
+
+stub_x86_64.commands = $$QMAKE_CXX $$stub_flags -shared -arch x86_64 -o stub.x86_64.dylib $$PWD/stub.cpp
stub_x86_64.depends += $$PWD/stub.cpp
-fat_stub_i386.target = good.fat.stub-i386.dylib
-fat_stub_i386.commands = lipo -create -output $@ -arch ppc64 good.ppc64.dylib -arch i386 stub.i386.dylib
-fat_stub_i386.depends += stub_i386 good.x86_64.dylib good.ppc64.dylib
+fat_stub_arm64.target = good.fat.stub-arm64.dylib
+fat_stub_arm64.commands = lipo -create -output $@ -arch arm64 stub.arm64.dylib
+fat_stub_arm64.depends += stub_arm64 good.x86_64.dylib
fat_stub_x86_64.target = good.fat.stub-x86_64.dylib
-fat_stub_x86_64.commands = lipo -create -output $@ -arch ppc64 good.ppc64.dylib -arch x86_64 stub.x86_64.dylib
-fat_stub_x86_64.depends += stub_x86_64 good.i386.dylib good.ppc64.dylib
+fat_stub_x86_64.commands = lipo -create -output $@ -arch x86_64 stub.x86_64.dylib
+fat_stub_x86_64.depends += stub_x86_64 good.arm64.dylib
bad.commands = $$PWD/generate-bad.pl
bad.depends += $$PWD/generate-bad.pl
-MYTARGETS = $$fat_all.depends fat_all fat_no_x86_64 fat_no_i386 \
- fat_stub_i386 fat_stub_x86_64 bad stub_i386 stub_x86_64
+MYTARGETS = $$fat_all.depends fat_all fat_no_x86_64 fat_no_arm64 \
+ fat_stub_arm64 fat_stub_x86_64 bad stub_arm64 stub_x86_64
all.depends += $$MYTARGETS
QMAKE_EXTRA_TARGETS += $$MYTARGETS all
-QMAKE_CLEAN += $$fat_all.target $$fat_no_i386.target $$fat_no_x86_64.target \
- $$fat_stub_i386.target $$fat_stub_x86_64.target \
+QMAKE_CLEAN += $$fat_all.target $$fat_no_arm64.target $$fat_no_x86_64.target \
+ $$fat_stub_arm64.target $$fat_stub_x86_64.target \
"bad*.dylib"
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro
deleted file mode 100644
index bfb2e0930c..0000000000
--- a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_i386.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-QMAKE_APPLE_DEVICE_ARCHS = i386
-include(machtest.pri)
-
diff --git a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro b/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro
deleted file mode 100644
index a73f97ccc6..0000000000
--- a/tests/auto/corelib/plugin/qpluginloader/machtest/machtest_ppc64.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-QMAKE_APPLE_DEVICE_ARCHS = ppc64
-include(machtest.pri)
-
-OTHER_FILES += ppcconverter.pl
-
-# Current macOS toolchains have no compiler for PPC anymore
-# So we fake it by converting an x86-64 binary to (little-endian!) PPC64
-goodlib.commands = $$PWD/ppcconverter.pl $< $@
-goodlib.depends = good.x86_64.dylib $$PWD/ppcconverter.pl
diff --git a/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp b/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp
index 8d548f5260..ce8057372c 100644
--- a/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp
+++ b/tests/auto/corelib/plugin/qpluginloader/tst_qpluginloader.cpp
@@ -341,22 +341,19 @@ void tst_QPluginLoader::loadMachO_data()
# ifdef Q_PROCESSOR_X86_64
QTest::newRow("machtest/good.x86_64.dylib") << int(QMachOParser::QtMetaDataSection);
- QTest::newRow("machtest/good.i386.dylib") << int(QMachOParser::NotSuitable);
+ QTest::newRow("machtest/good.arm64.dylib") << int(QMachOParser::NotSuitable);
QTest::newRow("machtest/good.fat.no-x86_64.dylib") << int(QMachOParser::NotSuitable);
- QTest::newRow("machtest/good.fat.no-i386.dylib") << int(QMachOParser::QtMetaDataSection);
-# elif defined(Q_PROCESSOR_X86_32)
- QTest::newRow("machtest/good.i386.dylib") << int(QMachOParser::QtMetaDataSection);
+ QTest::newRow("machtest/good.fat.no-arm64.dylib") << int(QMachOParser::QtMetaDataSection);
+# elif defined(Q_PROCESSOR_ARM)
+ QTest::newRow("machtest/good.arm64.dylib") << int(QMachOParser::QtMetaDataSection);
QTest::newRow("machtest/good.x86_64.dylib") << int(QMachOParser::NotSuitable);
- QTest::newRow("machtest/good.fat.no-i386.dylib") << int(QMachOParser::NotSuitable);
+ QTest::newRow("machtest/good.fat.no-arm64.dylib") << int(QMachOParser::NotSuitable);
QTest::newRow("machtest/good.fat.no-x86_64.dylib") << int(QMachOParser::QtMetaDataSection);
# endif
-# ifndef Q_PROCESSOR_POWER_64
- QTest::newRow("machtest/good.ppc64.dylib") << int(QMachOParser::NotSuitable);
-# endif
QTest::newRow("machtest/good.fat.all.dylib") << int(QMachOParser::QtMetaDataSection);
QTest::newRow("machtest/good.fat.stub-x86_64.dylib") << int(QMachOParser::NotSuitable);
- QTest::newRow("machtest/good.fat.stub-i386.dylib") << int(QMachOParser::NotSuitable);
+ QTest::newRow("machtest/good.fat.stub-arm64.dylib") << int(QMachOParser::NotSuitable);
QDir d(QFINDTESTDATA("machtest"));
QStringList badlist = d.entryList(QStringList() << "bad*.dylib");
diff --git a/tests/auto/corelib/serialization/json/json.pro b/tests/auto/corelib/serialization/json/json.pro
index 8fa17c5c38..390a674f7a 100644
--- a/tests/auto/corelib/serialization/json/json.pro
+++ b/tests/auto/corelib/serialization/json/json.pro
@@ -1,6 +1,7 @@
TARGET = tst_json
QT = core-private testlib
CONFIG += testcase
+contains(QT_CONFIG, c++2a):CONFIG *= c++2a
!android:TESTDATA += bom.json test.json test.bjson test3.json test2.json
else:RESOURCES += json.qrc
diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp
index 3e58dd03cc..fbf0eacbd5 100644
--- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp
+++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp
@@ -68,6 +68,7 @@ private Q_SLOTS:
void testObjectNestedEmpty();
void testValueRef();
+ void testValueRefComparison();
void testObjectIteration();
void testArrayIteration();
@@ -176,6 +177,8 @@ private Q_SLOTS:
void fromToVariantConversions_data();
void fromToVariantConversions();
+ void noLeakOnNameClash();
+
private:
QString testDataDir;
};
@@ -729,15 +732,20 @@ void tst_QtJson::testValueObject()
void tst_QtJson::testValueArray()
{
QJsonArray array;
+ QJsonArray otherArray = {"wrong value"};
+ QJsonValue value(array);
+ QCOMPARE(value.toArray(), array);
+ QCOMPARE(value.toArray(otherArray), array);
+
array.append(999.);
array.append(QLatin1String("test"));
array.append(true);
-
- QJsonValue value(array);
+ value = array;
// if we don't modify the original JsonArray, toArray()
// on the JsonValue should return the same object (non-detached).
QCOMPARE(value.toArray(), array);
+ QCOMPARE(value.toArray(otherArray), array);
// if we modify the original array, it should detach
array.append(QLatin1String("test"));
@@ -747,14 +755,23 @@ void tst_QtJson::testValueArray()
void tst_QtJson::testObjectNested()
{
QJsonObject inner, outer;
+ QJsonObject otherObject = {{"wrong key", "wrong value"}};
+ QJsonValue v = inner;
+ QCOMPARE(v.toObject(), inner);
+ QCOMPARE(v.toObject(otherObject), inner);
+
inner.insert("number", 999.);
outer.insert("nested", inner);
// if we don't modify the original JsonObject, value()
// should return the same object (non-detached).
QJsonObject value = outer.value("nested").toObject();
+ v = value;
QCOMPARE(value, inner);
QCOMPARE(value.value("number").toDouble(), 999.);
+ QCOMPARE(v.toObject(), inner);
+ QCOMPARE(v.toObject(otherObject), inner);
+ QCOMPARE(v["number"].toDouble(), 999.);
// if we modify the original object, it should detach and not
// affect the nested object
@@ -908,6 +925,57 @@ void tst_QtJson::testValueRef()
QCOMPARE(object.value(QLatin1String("key")), QJsonValue(42));
}
+void tst_QtJson::testValueRefComparison()
+{
+ QJsonValue a0 = 42.;
+ QJsonValue a1 = QStringLiteral("142");
+
+#define CHECK_IMPL(lhs, rhs, ineq) \
+ QCOMPARE(lhs, rhs); \
+ QVERIFY(!(lhs != rhs)); \
+ QVERIFY(lhs != ineq); \
+ QVERIFY(!(lhs == ineq)); \
+ QVERIFY(ineq != rhs); \
+ QVERIFY(!(ineq == rhs)); \
+ /* end */
+
+#define CHECK(lhs, rhs, ineq) \
+ do { \
+ CHECK_IMPL(lhs, rhs, ineq) \
+ CHECK_IMPL(qAsConst(lhs), rhs, ineq) \
+ CHECK_IMPL(lhs, qAsConst(rhs), ineq) \
+ CHECK_IMPL(qAsConst(lhs), qAsConst(rhs), ineq) \
+ } while (0)
+
+ // check that the (in)equality operators aren't ambiguous in C++20:
+ QJsonArray a = {a0, a1};
+
+ Q_STATIC_ASSERT((std::is_same<decltype(a[0]), QJsonValueRef>::value));
+
+ auto r0 = a.begin()[0];
+ auto r1 = a.begin()[1];
+ auto c0 = qAsConst(a).begin()[0];
+ // ref <> ref
+ CHECK(r0, r0, r1);
+ // cref <> ref
+ CHECK(c0, r0, r1);
+ // ref <> cref
+ CHECK(r0, c0, r1);
+ // ref <> val
+ CHECK(r0, a0, r1);
+ // cref <> val
+ CHECK(c0, a0, r1);
+ // val <> ref
+ CHECK(a0, r0, a1);
+ // val <> cref
+ CHECK(a0, c0, a1);
+ // val <> val
+ CHECK(a0, a0, a1);
+
+#undef CHECK
+#undef CHECK_IMPL
+}
+
void tst_QtJson::testObjectIteration()
{
QJsonObject object;
@@ -3685,5 +3753,23 @@ void tst_QtJson::fromToVariantConversions()
}
}
+void tst_QtJson::noLeakOnNameClash()
+{
+ QJsonDocument doc = QJsonDocument::fromJson("{\"\":{\"\":0},\"\":0}");
+ QVERIFY(!doc.isNull());
+ const QJsonObject obj = doc.object();
+
+ // Removed the duplicate key.
+ QCOMPARE(obj.length(), 1);
+
+ // Retained the last of the duplicates.
+ const QJsonValue val = obj.begin().value();
+ QVERIFY(val.isDouble());
+ QCOMPARE(val.toDouble(), 0.0);
+
+ // It should not leak.
+ // In particular it should not forget to deref the container for the inner object.
+}
+
QTEST_MAIN(tst_QtJson)
#include "tst_qtjson.moc"
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest.zip b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest.zip
new file mode 100644
index 0000000000..14ec3c5988
--- /dev/null
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest.zip
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Entries
deleted file mode 100644
index 56dc3e5713..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Entries
+++ /dev/null
@@ -1,6 +0,0 @@
-/canonxml.html/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/readme.html/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/xmltest.xml/1.11/Wed Apr 13 19:30:48 2005//
-D/invalid////
-D/not-wf////
-D/valid////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Repository
deleted file mode 100644
index e4b881877e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/canonxml.html b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/canonxml.html
deleted file mode 100644
index 2ba0edf6c6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/canonxml.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<HTML>
-<TITLE>Canonical XML</TITLE>
-<BODY>
-<H1>Canonical XML</H1>
-<P>
-This document defines a subset of XML called canonical XML.
-The intended use of canonical XML is in testing XML processors,
-as a representation of the result of parsing an XML document.
-<P>
-Every well-formed XML document has a unique structurally equivalent
-canonical XML document. Two structurally equivalent XML
-documents have a byte-for-byte identical canonical XML document.
-Canonicalizing an XML document requires only information that an XML
-processor is required to make available to an application.
-<P>
-A canonical XML document conforms to the following grammar:
-<PRE>
-CanonXML ::= Pi* element Pi*
-element ::= Stag (Datachar | Pi | element)* Etag
-Stag ::= '&lt;' Name Atts '&gt;'
-Etag ::= '&lt;/' Name '&gt;'
-Pi ::= '&lt;?' Name ' ' (((Char - S) Char*)? - (Char* '?&gt;' Char*)) '?&gt;'
-Atts ::= (' ' Name '=' '"' Datachar* '"')*
-Datachar ::= '&amp;amp;' | '&amp;lt;' | '&amp;gt;' | '&amp;quot;'
- | '&amp;#9;'| '&amp;#10;'| '&amp;#13;'
- | (Char - ('&amp;' | '&lt;' | '&gt;' | '"' | #x9 | #xA | #xD))
-Name ::= (see XML spec)
-Char ::= (see XML spec)
-S ::= (see XML spec)
-</PRE>
-<P>
-Attributes are in lexicographical order (in Unicode bit order).
-<P>
-A canonical XML document is encoded in UTF-8.
-<P>
-Ignorable white space is considered significant and is treated equivalently
-to data.
-<P>
-<ADDRESS>
-<A HREF="mailto:jjc@jclark.com">James Clark</A>
-</ADDRESS>
-
-</BODY>
-</HTML> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.ent
deleted file mode 100644
index 4cb848b438..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY % e "(#PCDATA">
-<!ELEMENT doc %e;)>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.xml
deleted file mode 100644
index 5a3a96d1ab..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/002.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "002.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.ent
deleted file mode 100644
index 85e16474a6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY % e ">">
-<!ELEMENT doc (#PCDATA) %e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.xml
deleted file mode 100644
index 383553d24f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/005.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "005.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.ent
deleted file mode 100644
index 116ca79657..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY % e "(#PCDATA)>">
-<!ELEMENT doc %e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.xml
deleted file mode 100644
index 2f14e839e2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/006.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "006.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Entries
deleted file mode 100644
index 04159c511f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Entries
+++ /dev/null
@@ -1,7 +0,0 @@
-/002.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D/not-sa////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Repository
deleted file mode 100644
index 3df0ffe37c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/invalid
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.ent
deleted file mode 100644
index 26f2d8beb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ENTITY % e "INCLUDE[">
-<!ELEMENT doc (#PCDATA)>
-<![ %e; <!ATTLIST doc a1 CDATA "v1"> ]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.xml
deleted file mode 100644
index b639f2551c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/022.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "022.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Entries
deleted file mode 100644
index 104a6d8a5a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Entries
+++ /dev/null
@@ -1,3 +0,0 @@
-/022.ent/1.1/Tue Feb 26 18:02:12 2002//
-/022.xml/1.1/Tue Feb 26 18:02:12 2002//
-D/out////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Repository
deleted file mode 100644
index f86b20a1d9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/022.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/022.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/022.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Entries
deleted file mode 100644
index 9692ca4b59..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Entries
+++ /dev/null
@@ -1,2 +0,0 @@
-/022.xml/1.1/Tue Feb 26 18:03:20 2002//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Repository
deleted file mode 100644
index 54370965bc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/invalid/not-sa/out/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries
deleted file mode 100644
index 1784810501..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries
+++ /dev/null
@@ -1 +0,0 @@
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries.Log b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries.Log
deleted file mode 100644
index 818f7c93e6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Entries.Log
+++ /dev/null
@@ -1,3 +0,0 @@
-A D/ext-sa////
-A D/not-sa////
-A D/sa////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Repository
deleted file mode 100644
index 18854d8755..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/not-wf
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.ent
deleted file mode 100644
index 378a2074b7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.ent
+++ /dev/null
@@ -1 +0,0 @@
-&e; \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.xml
deleted file mode 100644
index aa624cbe71..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/001.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e SYSTEM "001.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.ent
deleted file mode 100644
index 2cd184a213..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-data
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.xml
deleted file mode 100644
index 9eaf91724f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/002.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "002.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.ent
deleted file mode 100644
index ac292ee2f3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?>
-data
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.xml
deleted file mode 100644
index bb60b663ef..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/003.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "003.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Entries
deleted file mode 100644
index 85dc74e395..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Entries
+++ /dev/null
@@ -1,7 +0,0 @@
-/001.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.ent/1.2/Fri Feb 22 18:52:54 2002//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Repository
deleted file mode 100644
index 702914cf3a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/ext-sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.ent
deleted file mode 100644
index 00096e572e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<![ INCLUDE [
-<!ELEMENT doc (#PCDATA)>
-]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.xml
deleted file mode 100644
index 36188451ae..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/001.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "001.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/002.xml
deleted file mode 100644
index dd73174135..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/002.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "<?xml version='1.0' encoding='UTF-8'?>">
-%e;
-]>
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.ent
deleted file mode 100644
index abf1b1a35e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![ IGNORE [
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.xml
deleted file mode 100644
index dd01f41126..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/003.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "003.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.ent
deleted file mode 100644
index 552e4f520a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![ INCLUDE [
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.xml
deleted file mode 100644
index 20cdf6d0e5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/004.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "004.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.ent
deleted file mode 100644
index 9a369cef12..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-%e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.xml
deleted file mode 100644
index 383553d24f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/005.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "005.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.ent
deleted file mode 100644
index 771daf1915..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<![INCLUDE
-<!ELEMENT doc (#PCDATA)>
-]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.xml
deleted file mode 100644
index 2f14e839e2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/006.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "006.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.ent
deleted file mode 100644
index 9e9866d2ad..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.xml
deleted file mode 100644
index 38897e34ea..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/007.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "007.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.ent
deleted file mode 100644
index f8b1cd3dad..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc ANY>
-<!ENTITY e "100%">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.xml
deleted file mode 100644
index 54351009cd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/008.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "008.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.ent
deleted file mode 100644
index f70eaea9c4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc EMPTY>
-<!ENTITY % e "<!--">
-%e; -->
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.xml
deleted file mode 100644
index 9aa72898c2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/009.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "009.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.ent
deleted file mode 100644
index 54f3c821b8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY % e "<!ELEMENT ">
-%e; doc (#PCDATA)>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.xml
deleted file mode 100644
index 963e4c2f75..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/010.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "010.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.ent
deleted file mode 100644
index aae4cc2929..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ENTITY % e1 "<!ELEMENT ">
-<!ENTITY % e2 ">">
-%e1; doc (#PCDATA) %e2;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.xml
deleted file mode 100644
index dd40c958c3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/011.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "011.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Entries
deleted file mode 100644
index bfc0687397..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Entries
+++ /dev/null
@@ -1,22 +0,0 @@
-/001.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.ent/1.1/Mon Mar 25 18:59:43 2002//
-/009.xml/1.1/Mon Mar 25 18:59:17 2002//
-/010.ent/1.1/Mon Mar 25 18:34:47 2002//
-/010.xml/1.1/Mon Mar 25 18:33:57 2002//
-/011.ent/1.1/Mon Mar 25 19:08:52 2002//
-/011.xml/1.1/Mon Mar 25 19:08:40 2002//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Repository
deleted file mode 100644
index 031f3dedd2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/not-sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/001.xml
deleted file mode 100644
index d33ec68dcd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/001.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<doc>
-<doc
-?
-<a</a>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/002.xml
deleted file mode 100644
index 0a64d52428..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/002.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<doc>
-<.doc></.doc>
-</doc>
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/003.xml
deleted file mode 100644
index e0b8bae4a4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/003.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><? ?></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/004.xml
deleted file mode 100644
index e85bc96e56..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/004.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><?target some data></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/005.xml
deleted file mode 100644
index 7cd44ef10c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/005.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><?target some data?</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/006.xml
deleted file mode 100644
index 8594c35cc7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/006.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><!-- a comment -- another --></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/007.xml
deleted file mode 100644
index 286756fdd5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/007.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&amp no refc</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/008.xml
deleted file mode 100644
index 29ef40306b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/008.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&.entity;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/009.xml
deleted file mode 100644
index 8e3ff7de10..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/009.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#RE;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/010.xml
deleted file mode 100644
index a6790846c9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/010.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>A & B</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/011.xml
deleted file mode 100644
index 57eaf9fc48..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/011.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/012.xml
deleted file mode 100644
index 1b2539ffa6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/012.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1=v1></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/013.xml
deleted file mode 100644
index 3540df9143..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/013.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1'></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/014.xml
deleted file mode 100644
index a613115609..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/014.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="<foo>"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/015.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/015.xml
deleted file mode 100644
index f2baf947b5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/015.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1=></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/016.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/016.xml
deleted file mode 100644
index 22d4b2e265..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/016.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1" "v2"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/017.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/017.xml
deleted file mode 100644
index a76f5929e9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/017.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><![CDATA[</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/018.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/018.xml
deleted file mode 100644
index 66e204acc4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/018.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><![CDATA [ stuff]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/019.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/019.xml
deleted file mode 100644
index b835c2d752..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/019.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/020.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/020.xml
deleted file mode 100644
index b30cfcfc10..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/020.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="A & B"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/021.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/021.xml
deleted file mode 100644
index 1bfa84aa64..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/021.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="a&b"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/022.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/022.xml
deleted file mode 100644
index 44c803bf1b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/022.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="&#123:"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/023.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/023.xml
deleted file mode 100644
index b877ae2a6b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/023.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc 12="34"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/024.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/024.xml
deleted file mode 100644
index cf68f2c073..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/024.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<123></123>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/025.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/025.xml
deleted file mode 100644
index 6cba95cd78..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/025.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/026.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/026.xml
deleted file mode 100644
index 347984fa73..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/026.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>]]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/027.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/027.xml
deleted file mode 100644
index cfafaf0d70..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/027.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<!-- abc
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/028.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/028.xml
deleted file mode 100644
index 522714993a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/028.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<doc>
-<?a pi that is not closed
-</doc>
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/029.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/029.xml
deleted file mode 100644
index 9a8008bc9f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/029.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>abc]]]>def</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/030.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/030.xml
deleted file mode 100644
index 25861fa19b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/030.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>A form feed ( ) is not legal in data</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/031.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/031.xml
deleted file mode 100644
index f946536f39..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/031.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><?pi a form feed ( ) is not allowed in a pi?></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/032.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/032.xml
deleted file mode 100644
index 75952017ca..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/032.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><!-- a form feed ( ) is not allowed in a comment --></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/033.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/033.xml
deleted file mode 100644
index afd2328402..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/033.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>abcdef</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/034.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/034.xml
deleted file mode 100644
index d74a77719b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/034.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc >A form-feed is not white space or a name character</doc >
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/035.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/035.xml
deleted file mode 100644
index e1fc920522..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/035.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>1 < 2 but not in XML</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/036.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/036.xml
deleted file mode 100644
index b8ecb21ba1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/036.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc></doc>
-Illegal data
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/037.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/037.xml
deleted file mode 100644
index 2e02662926..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/037.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc></doc>
-&#32;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/038.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/038.xml
deleted file mode 100644
index 68b2803f82..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/038.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc x="foo" y="bar" x="baz"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/039.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/039.xml
deleted file mode 100644
index 80429e3e40..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/039.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><a></aa></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/040.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/040.xml
deleted file mode 100644
index dc8ba5a434..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/040.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc></doc>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/041.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/041.xml
deleted file mode 100644
index 30bcdd6bfe..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/041.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc/>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/042.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/042.xml
deleted file mode 100644
index 4ae50efc7b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/042.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc/></doc/>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/043.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/043.xml
deleted file mode 100644
index 41824eee4b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/043.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc/>
-Illegal data
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/044.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/044.xml
deleted file mode 100644
index 3fc232dc37..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/044.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc/><doc/>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/045.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/045.xml
deleted file mode 100644
index 00c10f00bf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/045.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<doc>
-<a/
-</doc>
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/046.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/046.xml
deleted file mode 100644
index 265cb15301..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/046.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<a/</a>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/047.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/047.xml
deleted file mode 100644
index d18a4a4440..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/047.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<a / >
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/048.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/048.xml
deleted file mode 100644
index 67419c1ed5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/048.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-</doc>
-<![CDATA[]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/049.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/049.xml
deleted file mode 100644
index 3cf0e79422..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/049.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<doc>
-<a><![CDATA[xyz]]]></a>
-<![CDATA[]]></a>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/050.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/050.xml
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/050.xml
+++ /dev/null
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/051.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/051.xml
deleted file mode 100644
index b52df12cc4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/051.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- a comment -->
-<![CDATA[]]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/052.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/052.xml
deleted file mode 100644
index 8283895990..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/052.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- a comment -->
-&#32;
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/053.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/053.xml
deleted file mode 100644
index 9d7f36920f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/053.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></DOC>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/054.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/054.xml
deleted file mode 100644
index eda553c6d3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/054.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY foo PUBLIC "some public id">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/055.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/055.xml
deleted file mode 100644
index cbb3683a9d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/055.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc [
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/056.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/056.xml
deleted file mode 100644
index a681684c58..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/056.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc -- a comment -- []>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/057.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/057.xml
deleted file mode 100644
index 848d347120..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/057.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "whatever" -- a comment -->
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/058.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/058.xml
deleted file mode 100644
index daba266af2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/058.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 (foo,bar) #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/059.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/059.xml
deleted file mode 100644
index 316083dc25..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/059.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 NMTOKEN v1>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/060.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/060.xml
deleted file mode 100644
index 9a610fd38f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/060.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 NAME #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/061.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/061.xml
deleted file mode 100644
index 59181e706f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/061.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e PUBLIC "whatever""e.ent">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/062.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/062.xml
deleted file mode 100644
index e62e9cd370..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/062.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY foo"some text">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/063.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/063.xml
deleted file mode 100644
index 98675b9040..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/063.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<![INCLUDE[ ]]>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/064.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/064.xml
deleted file mode 100644
index 3888c46b8b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/064.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST e a1 CDATA"foo">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/065.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/065.xml
deleted file mode 100644
index da9cafd137..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/065.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1(foo|bar) #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/066.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/066.xml
deleted file mode 100644
index 9c09eb4e5d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/066.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 (foo|bar)#IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/067.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/067.xml
deleted file mode 100644
index 7e0809bd34..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/067.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 (foo)"foo">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/068.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/068.xml
deleted file mode 100644
index 53a80a83a8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/068.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 NOTATION(foo) #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/069.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/069.xml
deleted file mode 100644
index 6f891dd5e1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/069.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!NOTATION eps SYSTEM "eps.exe">
-<!-- missing space before NDATA -->
-<!ENTITY foo SYSTEM "foo.eps"NDATA eps>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/070.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/070.xml
deleted file mode 100644
index faf4b0ae4c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/070.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!-- a comment ending with three dashes --->
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/071.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/071.xml
deleted file mode 100644
index 5bd3908968..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/071.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e1 "&e2;">
-<!ENTITY e2 "&e3;">
-<!ENTITY e3 "&e1;">
-]>
-<doc>&e1;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/072.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/072.xml
deleted file mode 100644
index 743ba79429..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/072.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&foo;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/073.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/073.xml
deleted file mode 100644
index 2578af42ec..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/073.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "whatever">
-]>
-<doc>&f;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/074.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/074.xml
deleted file mode 100644
index f8abaeb22c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/074.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "</foo><foo>">
-]>
-<doc>
-<foo>&e;</foo>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/075.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/075.xml
deleted file mode 100644
index d3dbf50ed6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/075.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e1 "&e2;">
-<!ENTITY e2 "&e3;">
-<!ENTITY e3 "&e1;">
-]>
-<doc a="&e1;"></doc>
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/076.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/076.xml
deleted file mode 100644
index 60546720e7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/076.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="&foo;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/077.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/077.xml
deleted file mode 100644
index f8ac23a5a2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/077.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY foo "&bar;">
-]>
-<doc a="&foo;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/078.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/078.xml
deleted file mode 100644
index 446cd85ef9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/078.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA "&foo;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/079.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/079.xml
deleted file mode 100644
index da016fd3b2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/079.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e1 "&e2;">
-<!ENTITY e2 "&e3;">
-<!ENTITY e3 "&e1;">
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA "&e1;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/080.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/080.xml
deleted file mode 100644
index fa4b9e428d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/080.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e1 "&e2;">
-<!ENTITY e2 "&e3;">
-<!ENTITY e3 "&e1;">
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #FIXED "&e1;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/081.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/081.xml
deleted file mode 100644
index d676100e8a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/081.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e SYSTEM "nul">
-]>
-<doc a="&e;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/082.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/082.xml
deleted file mode 100644
index 3217d6f8b4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/082.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e SYSTEM "nul">
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA "&e;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/083.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/083.xml
deleted file mode 100644
index 469d43fd42..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/083.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e SYSTEM "nul" NDATA n>
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/084.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/084.xml
deleted file mode 100644
index abbbcdea69..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/084.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e SYSTEM "nul" NDATA n>
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA "&e;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/085.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/085.xml
deleted file mode 100644
index ac0aeca3e4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/085.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc PUBLIC "[" "null.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/086.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/086.xml
deleted file mode 100644
index df6adfd884..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/086.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY foo PUBLIC "[" "null.xml">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/087.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/087.xml
deleted file mode 100644
index ed49492a7a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/087.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!NOTATION foo PUBLIC "[" "null.ent">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/088.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/088.xml
deleted file mode 100644
index da0a68c401..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/088.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-<!ENTITY e '"'>
-]>
-<doc a="&e;></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/089.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/089.xml
deleted file mode 100644
index 0c6cf404c2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/089.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % foo SYSTEM "foo.xml" NDATA bar>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/090.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/090.xml
deleted file mode 100644
index 3fb72f3cc0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/090.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<foo a='&#60;'></foo>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/091.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/091.xml
deleted file mode 100644
index a61d0914f8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/091.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!NOTATION n SYSTEM "n">
-<!ENTITY % foo SYSTEM "foo.xml" NDATA n>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/092.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/092.xml
deleted file mode 100644
index be5266dada..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/092.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<foo a='&#38;'></foo>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/093.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/093.xml
deleted file mode 100644
index 4af61bc645..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/093.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#X58;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/094.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/094.xml
deleted file mode 100644
index bdec7a4660..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/094.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml VERSION="1.0"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/095.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/095.xml
deleted file mode 100644
index 090b8b4eec..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/095.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml encoding="UTF-8" version="1.0"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/096.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/096.xml
deleted file mode 100644
index d806c3b952..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/096.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0"encoding="UTF-8" ?>
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/097.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/097.xml
deleted file mode 100644
index d4def544b0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/097.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0' encoding="UTF-8" ?>
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/098.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/098.xml
deleted file mode 100644
index 9798496aa3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/098.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" version="1.0"?>
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/099.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/099.xml
deleted file mode 100644
index d5be08eff0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/099.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" valid="no" ?>
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/100.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/100.xml
deleted file mode 100644
index 51e06231c2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/100.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" standalone="YES" ?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/101.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/101.xml
deleted file mode 100644
index afa5a455fc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/101.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding=" UTF-8"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/102.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/102.xml
deleted file mode 100644
index 8734adaa6e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/102.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0 " ?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/103.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/103.xml
deleted file mode 100644
index 6c4716798f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/103.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#60;foo>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/104.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/104.xml
deleted file mode 100644
index dd57396239..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/104.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<foo>">
-]>
-<doc>&e;</foo></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/105.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/105.xml
deleted file mode 100644
index 809e705870..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/105.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?pi stuff?>
-<![CDATA[]]>
-<doc>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/106.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/106.xml
deleted file mode 100644
index d32319ef09..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/106.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?pi data?>
-&#32;<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/107.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/107.xml
deleted file mode 100644
index 3dfd8200e2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/107.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<![CDATA[]]>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/108.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/108.xml
deleted file mode 100644
index af5cf50d48..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/108.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<![CDATA [ ]]>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/109.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/109.xml
deleted file mode 100644
index 5afc03e8db..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/109.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<doc></doc>">
-]>
-&e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/110.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/110.xml
deleted file mode 100644
index cf54ebe5c0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/110.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "">
-]>
-<doc></doc>
-&e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/111.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/111.xml
deleted file mode 100644
index 84a469f5d1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/111.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "foo='bar'">
-]>
-<doc &e;></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/112.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/112.xml
deleted file mode 100644
index 0c5c1a4341..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/112.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<![cdata[data]]>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/113.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/113.xml
deleted file mode 100644
index 04fc9d2318..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/113.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % foo "&">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/114.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/114.xml
deleted file mode 100644
index 1261ee49e1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/114.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY foo "&">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/115.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/115.xml
deleted file mode 100644
index f111dbe153..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/115.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#38;">
-]>
-<doc a="&e;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/116.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/116.xml
deleted file mode 100644
index 84bb762fdf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/116.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#38;#9">
-]>
-<doc>&e;7;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/117.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/117.xml
deleted file mode 100644
index e4a5e572ef..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/117.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#38;">
-]>
-<doc>&e;#97;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/118.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/118.xml
deleted file mode 100644
index 494d53d208..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/118.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "#">
-]>
-<doc>&&e;97;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/119.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/119.xml
deleted file mode 100644
index aefaa44a1c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/119.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#38;">
-]>
-<doc>
-&e;#38;
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/120.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/120.xml
deleted file mode 100644
index b7d6ff9ce9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/120.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#38;">
-]>
-<doc>
-&e;
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/121.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/121.xml
deleted file mode 100644
index 2b4adcc6b4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/121.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY #DEFAULT "default">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/122.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/122.xml
deleted file mode 100644
index ef0b057cee..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/122.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a, (b) | c)?>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/123.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/123.xml
deleted file mode 100644
index 06d65f045b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/123.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc ((doc?)))>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/124.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/124.xml
deleted file mode 100644
index 3bbe0f91a6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/124.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (doc|#PCDATA)*>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/125.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/125.xml
deleted file mode 100644
index 5f9c22c0c6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/125.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc ((#PCDATA))>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/126.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/126.xml
deleted file mode 100644
index 13e74d6d5e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/126.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)+>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/127.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/127.xml
deleted file mode 100644
index a379b9e539..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/127.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)?>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/128.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/128.xml
deleted file mode 100644
index dd706bb21f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/128.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc CDATA>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/129.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/129.xml
deleted file mode 100644
index d4e4461a6d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/129.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc - - (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/130.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/130.xml
deleted file mode 100644
index fa7be641f1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/130.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (doc?) +(foo)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/131.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/131.xml
deleted file mode 100644
index f34ed453b5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/131.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (doc?) -(foo)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/132.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/132.xml
deleted file mode 100644
index ab6cc416e9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/132.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a, (b, c), (d, (e, f) | g))?>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/133.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/133.xml
deleted file mode 100644
index d2aa604e9f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/133.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a *)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/134.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/134.xml
deleted file mode 100644
index c8919c5ef8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/134.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a) *>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/135.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/135.xml
deleted file mode 100644
index e639e8b6ea..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/135.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a & b)?>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/136.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/136.xml
deleted file mode 100644
index 499e68bcea..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/136.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc O O (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/137.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/137.xml
deleted file mode 100644
index 723b77f776..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/137.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc(#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/138.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/138.xml
deleted file mode 100644
index 16934cc88e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/138.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (doc*?)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/139.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/139.xml
deleted file mode 100644
index 34df52ed93..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/139.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc ()>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/140.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/140.xml
deleted file mode 100644
index 467d5ed301..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/140.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<&#x309a;></&#x309a;>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/141.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/141.xml
deleted file mode 100644
index 409d0a7568..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/141.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<X&#xe5c;></X&#xe5c;>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/142.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/142.xml
deleted file mode 100644
index 20e88f88b3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/142.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#0;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/143.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/143.xml
deleted file mode 100644
index 0ee1c614f8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/143.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#31;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/144.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/144.xml
deleted file mode 100644
index 437548c0ba..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/144.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#xFFFF;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/145.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/145.xml
deleted file mode 100644
index 71b187a933..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/145.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#xD800;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/146.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/146.xml
deleted file mode 100644
index d0bfbca723..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/146.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#x110000;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/147.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/147.xml
deleted file mode 100644
index 3b6145615f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/147.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-<?xml version="1.0"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/148.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/148.xml
deleted file mode 100644
index 774dce18fd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/148.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- -->
-<?xml version="1.0"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/149.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/149.xml
deleted file mode 100644
index 725eea0dec..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/149.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<?xml version="1.0"?>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/150.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/150.xml
deleted file mode 100644
index 44f6b6df92..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/150.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<?xml version="1.0"?>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/151.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/151.xml
deleted file mode 100644
index fecc4f24e3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/151.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-</doc>
-<?xml version="1.0"?>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/152.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/152.xml
deleted file mode 100644
index b5c5cb26ae..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/152.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml encoding="UTF-8"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/153.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/153.xml
deleted file mode 100644
index 5e2973707e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/153.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "<?xml encoding='UTF-8'?>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/154.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/154.xml
deleted file mode 100644
index 96e01d63f5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/154.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?XML version="1.0"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/155.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/155.xml
deleted file mode 100644
index 4f16d0f163..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/155.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xmL version="1.0"?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/156.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/156.xml
deleted file mode 100644
index c6d93fd312..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/156.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<?xMl version="1.0"?>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/157.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/157.xml
deleted file mode 100644
index 2f058dac3e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/157.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<doc>
-<?xmL?>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/158.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/158.xml
deleted file mode 100644
index 32b90b722d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/158.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!NOTATION gif PUBLIC "image/gif" "">
-<!ATTLIST #NOTATION gif a1 CDATA #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/159.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/159.xml
deleted file mode 100644
index 066244cb91..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/159.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "<![CDATA[Tim & Michael]]>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/160.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/160.xml
deleted file mode 100644
index 85424acb1b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/160.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "">
-<!ENTITY foo "%e;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/161.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/161.xml
deleted file mode 100644
index 4f8a5b7b6b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/161.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e "#PCDATA">
-<!ELEMENT doc (%e;)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/162.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/162.xml
deleted file mode 100644
index efae4b190e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/162.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e1 "">
-<!ENTITY % e2 "%e1;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/163.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/163.xml
deleted file mode 100644
index e14fb76c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/163.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "">
-]>
-%e;
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/164.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/164.xml
deleted file mode 100644
index 98dd267c21..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/164.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "">
-] %e; >
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/165.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/165.xml
deleted file mode 100644
index 36c04618ef..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/165.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY% e "">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/166.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/166.xml
deleted file mode 100644
index ee2ce28630..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/166.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>ï¿¿</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/167.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/167.xml
deleted file mode 100644
index 9bdc6c1278..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/167.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>￾</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/168.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/168.xml
deleted file mode 100644
index f83221a3ad..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/168.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>í €</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/169.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/169.xml
deleted file mode 100644
index 310029b976..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/169.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>í°€</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/170.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/170.xml
deleted file mode 100644
index cfa0aee155..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/170.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>÷€€€</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/171.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/171.xml
deleted file mode 100644
index 48b5c7d3bc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/171.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!-- ï¿¿ -->
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/172.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/172.xml
deleted file mode 100644
index 6651d4d299..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/172.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<?pi ï¿¿?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/173.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/173.xml
deleted file mode 100644
index f9f9f42023..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/173.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="ï¿¿"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/174.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/174.xml
deleted file mode 100644
index 42bef861c6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/174.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><![CDATA[ï¿¿]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/175.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/175.xml
deleted file mode 100644
index 69912f36d2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/175.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "ï¿¿">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/176.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/176.xml
deleted file mode 100644
index 9c8e2e47d1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/176.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/177.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/177.xml
deleted file mode 100644
index 6bc8228879..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/177.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>Aï¿¿</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/178.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/178.xml
deleted file mode 100644
index e8f2d18eed..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/178.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="&#34;></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/179.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/179.xml
deleted file mode 100644
index e8f1f419db..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/179.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#34;>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/180.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/180.xml
deleted file mode 100644
index 569d553a8c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/180.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA "&e;">
-<!ENTITY e "v">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/181.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/181.xml
deleted file mode 100644
index 4341d99ee2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/181.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#60;![CDATA[">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&e;]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/182.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/182.xml
deleted file mode 100644
index 920f431666..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/182.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#60;!--">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&e;--></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/183.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/183.xml
deleted file mode 100644
index 7a5677de54..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/183.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA | foo*)* >
-<!ELEMENT foo EMPTY>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/184.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/184.xml
deleted file mode 100644
index 103384a06e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/184.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA | (foo))* >
-<!ELEMENT foo EMPTY>
-]>
-<doc></doc>
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.ent
deleted file mode 100644
index e557426454..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.ent
+++ /dev/null
@@ -1 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.xml
deleted file mode 100644
index 81d5ef4bcd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/185.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<!DOCTYPE doc SYSTEM "185.ent">
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/186.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/186.xml
deleted file mode 100644
index 85b26ec0a2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/186.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE a [
-<!ELEMENT a EMPTY>
-<!ATTLIST a b CDATA #IMPLIED d CDATA #IMPLIED>
-]>
-<a b="c"d="e"/>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Entries
deleted file mode 100644
index aef1bd67df..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Entries
+++ /dev/null
@@ -1,189 +0,0 @@
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/015.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/016.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/017.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/018.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/019.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/020.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/021.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/022.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/023.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/024.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/025.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/026.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/027.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/028.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/029.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/030.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/032.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/033.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/034.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/035.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/036.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/037.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/038.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/039.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/040.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/041.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/042.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/043.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/044.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/045.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/046.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/047.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/048.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/049.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/050.xml/1.1/Mon Feb 11 18:42:19 2002//
-/051.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/052.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/053.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/054.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/055.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/056.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/057.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/058.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/059.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/060.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/061.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/062.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/063.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/064.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/065.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/066.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/067.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/068.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/069.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/070.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/071.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/072.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/073.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/074.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/075.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/076.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/077.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/078.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/079.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/080.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/081.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/082.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/083.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/084.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/085.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/086.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/087.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/088.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/089.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/090.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/091.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/092.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/093.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/094.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/095.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/096.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/097.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/098.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/099.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/100.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/101.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/102.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/103.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/104.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/105.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/106.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/107.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/108.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/109.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/110.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/111.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/112.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/113.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/114.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/115.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/116.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/117.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/118.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/119.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/120.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/121.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/122.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/123.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/124.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/125.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/126.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/127.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/128.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/129.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/130.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/131.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/132.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/133.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/134.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/135.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/136.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/137.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/138.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/139.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/140.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/141.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/142.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/143.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/144.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/145.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/146.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/147.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/148.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/149.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/150.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/151.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/152.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/153.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/154.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/155.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/156.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/157.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/158.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/159.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/160.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/161.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/162.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/163.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/164.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/165.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/166.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/167.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/168.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/169.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/170.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/171.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/172.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/173.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/174.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/175.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/176.xml/1.2/Mon Apr 22 13:20:31 2002//
-/177.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/178.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/179.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/180.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/181.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/182.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/183.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/184.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/185.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/185.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/186.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/null.ent/1.1/Mon Feb 11 18:43:34 2002//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Repository
deleted file mode 100644
index ede48b429c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/not-wf/sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/null.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/null.ent
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/not-wf/sa/null.ent
+++ /dev/null
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/readme.html b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/readme.html
deleted file mode 100644
index fc7310c68e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/readme.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<HTML>
-<TITLE>XML Test Cases</TITLE>
-<BODY>
-<H1>XML Test Cases version 1998-11-18</H1>
-<P>
-Copyright (C) 1998 James Clark. All rights reserved. Permission is
-granted to copy and modify this collection in any way for internal use
-within a company or organization. Permission is granted to
-redistribute the file <code>xmltest.zip</code> containing this
-collection to third parties provided that no modifications of any kind
-are made to this file. Note that permission to distribute the
-collection in any other form is not granted.
-<P>
-The collection is structured into three directories:
-<DL>
-<DT><CODE>not-wf</CODE>
-<DD>this contains cases that are not well-formed XML documents
-<DT><CODE>valid</CODE>
-<DD>this contains cases that are valid XML documents
-<DT><CODE>invalid</CODE>
-<DD>this contains cases that are well-formed XML documents
-but are not valid XML documents
-</DL>
-<P>
-The <CODE>not-wf</CODE> and <CODE>valid</CODE> directories each have
-three subdirectories:
-<DL>
-<DT>
-<CODE>sa</CODE>
-<DD>
-this contains cases that are standalone (as defined in XML) and do not
-have references to external general entities
-<DT>
-<CODE>ext-sa</CODE>
-<DD>
-this contains case that are standalone and have references to external
-general entities
-<DT>
-<CODE>not-sa</CODE>
-<DD>
-this contains cases that are not standalone
-</DL>
-<P>
-In each directory, files with a <CODE>.xml</CODE> extension are the
-XML document test cases, and files with a <CODE>.ent</CODE> extension
-are external entities referenced by the test cases.
-<P>
-Within the <CODE>valid</CODE> directory, each of these three
-subdirectories has an <CODE>out</CODE> subdirectory which contains an
-equivalent <A HREF="canonxml.html">canonical XML</A> document for each
-of the cases.
-<P>
-<P>
-Bug reports and contributions of new test cases are welcome.
-<P>
-<ADDRESS>
-<A HREF="mailto:jjc@jclark.com">James Clark</A>
-</ADDRESS>
-</BODY>
-</HTML>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries
deleted file mode 100644
index 1784810501..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries
+++ /dev/null
@@ -1 +0,0 @@
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries.Log b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries.Log
deleted file mode 100644
index 818f7c93e6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Entries.Log
+++ /dev/null
@@ -1,3 +0,0 @@
-A D/ext-sa////
-A D/not-sa////
-A D/sa////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Repository
deleted file mode 100644
index 48324028e6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.ent
deleted file mode 100644
index 1cff3fd44f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.ent
+++ /dev/null
@@ -1 +0,0 @@
-Data
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.xml
deleted file mode 100644
index 147d70d2d1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/001.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "001.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.ent
deleted file mode 100644
index 45f6d8e74e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.ent
+++ /dev/null
@@ -1 +0,0 @@
-Data \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.xml
deleted file mode 100644
index 9eaf91724f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/002.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "002.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.ent
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.ent
+++ /dev/null
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.xml
deleted file mode 100644
index bb60b663ef..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/003.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "003.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.ent
deleted file mode 100644
index 3436f20001..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.ent
+++ /dev/null
@@ -1 +0,0 @@
-Data \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.xml
deleted file mode 100644
index 074498ce19..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/004.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "004.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.ent
deleted file mode 100644
index c6e97f821f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.ent
+++ /dev/null
@@ -1 +0,0 @@
-<e/><e/><e/> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.xml
deleted file mode 100644
index 82a6228205..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/005.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (e*)>
-<!ELEMENT e EMPTY>
-<!ENTITY e SYSTEM "005.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.ent
deleted file mode 100644
index 4df2f0c2ac..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.ent
+++ /dev/null
@@ -1,4 +0,0 @@
-Data
-<e/>
-More data
-<e/>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.xml
deleted file mode 100644
index 0b326cad4c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/006.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA|e)*>
-<!ELEMENT e EMPTY>
-<!ENTITY e SYSTEM "006.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.ent
deleted file mode 100644
index ab1d696dd7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.ent
+++ /dev/null
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.xml
deleted file mode 100644
index 825e3b286a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/007.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "007.ent">
-]>
-<doc>X&e;Z</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.ent
deleted file mode 100644
index c6ca61f9c8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.ent
+++ /dev/null
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.xml
deleted file mode 100644
index 3c001b6cb3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/008.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "008.ent">
-]>
-<doc>X&e;Z</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.ent
deleted file mode 100644
index 67c3297611..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.ent
+++ /dev/null
@@ -1 +0,0 @@
- \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.xml
deleted file mode 100644
index a5866e5a77..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/009.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "009.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.ent
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.ent
+++ /dev/null
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.xml
deleted file mode 100644
index 418e9b0141..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/010.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "010.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.ent
deleted file mode 100644
index b19be3a497..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.ent
+++ /dev/null
@@ -1 +0,0 @@
-xyzzy
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.xml
deleted file mode 100644
index 2ceefa1d21..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/011.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e PUBLIC "a not very interesting file" "011.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.ent
deleted file mode 100644
index 8eb1fb9c41..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.ent
+++ /dev/null
@@ -1 +0,0 @@
-&e4; \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.xml
deleted file mode 100644
index 5a8f009b4a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/012.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e1 "&e2;">
-<!ENTITY e2 "&e3;">
-<!ENTITY e3 SYSTEM "012.ent">
-<!ENTITY e4 "&e5;">
-<!ENTITY e5 "(e5)">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&e1;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.ent
deleted file mode 100644
index 7f25c502dd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.ent
+++ /dev/null
@@ -1 +0,0 @@
-<e/> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.xml
deleted file mode 100644
index 7717c97afe..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/013.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (e)>
-<!ELEMENT e (#PCDATA)>
-<!ATTLIST e
- a1 CDATA "a1 default"
- a2 NMTOKENS "a2 default"
->
-<!ENTITY x SYSTEM "013.ent">
-]>
-<doc>&x;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.ent
deleted file mode 100644
index 470fd6fe44..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.ent
+++ /dev/null
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.xml
deleted file mode 100644
index 816fd1e796..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/014.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e SYSTEM "014.ent">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Entries
deleted file mode 100644
index 33a4a0da95..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Entries
+++ /dev/null
@@ -1,29 +0,0 @@
-/001.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D/out////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Repository
deleted file mode 100644
index 3753e3a5c9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/001.xml
deleted file mode 100644
index 0a7acf8ebe..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/001.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>Data&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/002.xml
deleted file mode 100644
index d4a445e555..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/002.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>Data</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/003.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/003.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/004.xml
deleted file mode 100644
index 0a7acf8ebe..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/004.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>Data&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/005.xml
deleted file mode 100644
index 6e293aa70e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/005.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><e></e><e></e><e></e></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/006.xml
deleted file mode 100644
index 04b6fc82ee..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/006.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>Data&#10;<e></e>&#10;More data&#10;<e></e>&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/007.xml
deleted file mode 100644
index ab2a74c9d1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/007.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>XYZ</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/008.xml
deleted file mode 100644
index ab2a74c9d1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/008.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>XYZ</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/009.xml
deleted file mode 100644
index a79dff65fd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/009.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/010.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/010.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/011.xml
deleted file mode 100644
index bf275adb2b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/011.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>xyzzy&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/012.xml
deleted file mode 100644
index 81a251cb4b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/012.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>(e5)</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/013.xml
deleted file mode 100644
index 524d94ee6b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/013.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><e a1="a1 default" a2="a2 default"></e></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/014.xml
deleted file mode 100644
index 71c6dc3e8e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/014.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>data</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Entries
deleted file mode 100644
index 577936756f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Entries
+++ /dev/null
@@ -1,15 +0,0 @@
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Repository
deleted file mode 100644
index 889051e1ae..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/ext-sa/out/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.ent
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.ent
+++ /dev/null
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.xml
deleted file mode 100644
index 2d6f41a137..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/001.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "001.ent" [
-<!ELEMENT doc EMPTY>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.ent
deleted file mode 100644
index 67c3297611..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.ent
+++ /dev/null
@@ -1 +0,0 @@
- \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.xml
deleted file mode 100644
index 023fce8499..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/002.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "002.ent" [
-<!ELEMENT doc EMPTY>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-1.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-1.ent
deleted file mode 100644
index 931f3ad6d8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-1.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc EMPTY>
-<!ENTITY % e SYSTEM "003-2.ent">
-<!ATTLIST doc a1 CDATA %e; "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-2.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-2.ent
deleted file mode 100644
index e69de29bb2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003-2.ent
+++ /dev/null
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003.xml
deleted file mode 100644
index 63a5e8bdfc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/003.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "003-1.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-1.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-1.ent
deleted file mode 100644
index 40f7ff58a2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-1.ent
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ELEMENT doc EMPTY>
-<!ENTITY % e1 SYSTEM "004-2.ent">
-<!ENTITY % e2 "%e1;">
-%e1;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-2.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-2.ent
deleted file mode 100644
index 61def75cb7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004-2.ent
+++ /dev/null
@@ -1 +0,0 @@
-<!ATTLIST doc a1 CDATA "value">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004.xml
deleted file mode 100644
index adc9201496..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/004.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "004-1.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-1.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-1.ent
deleted file mode 100644
index ade9599032..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-1.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc EMPTY>
-<!ENTITY % e SYSTEM "005-2.ent">
-%e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-2.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-2.ent
deleted file mode 100644
index bef50b1f38..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005-2.ent
+++ /dev/null
@@ -1 +0,0 @@
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005.xml
deleted file mode 100644
index 6bd44cfee0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/005.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "005-1.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.ent
deleted file mode 100644
index 8f305a82bd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc EMPTY>
-<!ATTLIST doc a1 CDATA "w1" a2 CDATA "w2">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.xml
deleted file mode 100644
index eb80bb7409..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/006.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "006.ent" [
-<!ATTLIST doc a1 CDATA "v1">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.ent
deleted file mode 100644
index fbf4ca4947..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.xml
deleted file mode 100644
index 38897e34ea..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/007.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "007.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.ent
deleted file mode 100644
index fbf4ca4947..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.xml
deleted file mode 100644
index bf777a7ff2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/008.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc PUBLIC "whatever" "008.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.ent
deleted file mode 100644
index fbf4ca4947..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.xml
deleted file mode 100644
index c17562fe68..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/009.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc PUBLIC "whatever" "009.ent" [
-<!ATTLIST doc a2 CDATA "v2">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.ent
deleted file mode 100644
index 52a28f5deb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v2">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.xml
deleted file mode 100644
index 2786b328f3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/010.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "010.ent" [
-<!ATTLIST doc a1 CDATA "v1">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.ent
deleted file mode 100644
index fbf4ca4947..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.xml
deleted file mode 100644
index 03b482bbb6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/011.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e SYSTEM "011.ent">
-%e;
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.ent
deleted file mode 100644
index 7e372e65e9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.xml
deleted file mode 100644
index 1967edbba7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/012.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e SYSTEM "012.ent">
-%e;
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.ent
deleted file mode 100644
index a3691d9f08..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.ent
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![ INCLUDE [
-<!ATTLIST doc a1 CDATA "v1">
-]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.xml
deleted file mode 100644
index cf44f2600a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/013.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "013.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.ent
deleted file mode 100644
index 6eaf779329..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.ent
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![ %e; [
-<!ATTLIST doc a1 CDATA "v1">
-]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.xml
deleted file mode 100644
index bd08502489..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/014.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "014.ent" [
-<!ENTITY % e "INCLUDE">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.ent
deleted file mode 100644
index 00d2f30e1d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.ent
+++ /dev/null
@@ -1,5 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![ %e; [
-<!ATTLIST doc a1 CDATA "v1">
-]]>
-<!ATTLIST doc a2 CDATA "v2">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.xml
deleted file mode 100644
index e04e75ffca..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/015.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "015.ent" [
-<!ENTITY % e "IGNORE">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.ent
deleted file mode 100644
index bf77ef8336..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.ent
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![%e;[
-<!ATTLIST doc a1 CDATA "v1">
-]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.xml
deleted file mode 100644
index 4ccf4af350..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/016.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc SYSTEM "016.ent" [
-<!ENTITY % e "INCLUDE">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.ent
deleted file mode 100644
index ffd9adde61..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "<!ATTLIST doc a1 CDATA 'v1'>">
-%e;
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.xml
deleted file mode 100644
index 7fe18f4c7a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/017.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "017.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.ent
deleted file mode 100644
index 2d46f76fc3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "'v1'">
-<!ATTLIST doc a1 CDATA %e;>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.xml
deleted file mode 100644
index 31e90f2405..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/018.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "018.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.ent
deleted file mode 100644
index d18201a98b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "'v1'">
-<!ATTLIST doc a1 CDATA%e;>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.xml
deleted file mode 100644
index b7a18faba0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/019.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "019.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.ent
deleted file mode 100644
index 815291c6d2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ENTITY % e "doc">
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST%e;a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.xml
deleted file mode 100644
index d70892f7ad..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/020.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "020.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.ent
deleted file mode 100644
index 9f8f2afd2b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ENTITY % e "doc a1 CDATA">
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST %e; "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.xml
deleted file mode 100644
index 70c28730db..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/021.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "021.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.ent
deleted file mode 100644
index e3268819f7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.ent
+++ /dev/null
@@ -1,5 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e1 "do">
-<!ENTITY % e2 "c">
-<!ENTITY % e3 "%e1;%e2;">
-<!ATTLIST %e3; a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.xml
deleted file mode 100644
index 1c2484b70b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/023.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "023.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.ent
deleted file mode 100644
index aa6d0eccac..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.ent
+++ /dev/null
@@ -1,4 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e1 "'v1'">
-<!ENTITY % e2 'a1 CDATA %e1;'>
-<!ATTLIST doc %e2;>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.xml
deleted file mode 100644
index 96e1ecb61b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/024.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "024.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.ent
deleted file mode 100644
index 389d259eb1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.ent
+++ /dev/null
@@ -1,5 +0,0 @@
-<!ELEMENT doc EMPTY>
-<!ENTITY % e "x">
-<!ENTITY % e "y">
-<!ENTITY % v "'%e;'">
-<!ATTLIST doc a1 CDATA %v;>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.xml
deleted file mode 100644
index 8fdbc14c47..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/025.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "025.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.ent
deleted file mode 100644
index bdc93af639..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.ent
+++ /dev/null
@@ -1 +0,0 @@
-<!ATTLIST doc a1 CDATA "w1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.xml
deleted file mode 100644
index 7b109c0913..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/026.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc ANY>
-<!ENTITY % e SYSTEM "026.ent">
-%e;
-<!ATTLIST doc a1 CDATA "x1" a2 CDATA "x2">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.ent
deleted file mode 100644
index 712cce3700..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY % e "">
-<!ELEMENT doc (#PCDATA %e;)>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.xml
deleted file mode 100644
index d0c8c7abb5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/027.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "027.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.ent
deleted file mode 100644
index ac249d7b2c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.ent
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![INCLUDE[<!ATTLIST doc a1 CDATA "v1">]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.xml
deleted file mode 100644
index 50e5248cbf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/028.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "028.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.ent
deleted file mode 100644
index df94df5560..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![IGNORE[<!ATTLIST doc a1 CDATA "v1">]]>
-<!ATTLIST doc a1 CDATA "v2">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.xml
deleted file mode 100644
index 07e226c1d7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/029.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "029.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.ent
deleted file mode 100644
index e3864460df..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<![IGNORE[]]>
-<![INCLUDE[]]>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.xml
deleted file mode 100644
index 01fc2be4ca..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/030.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "030.ent">
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-1.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-1.ent
deleted file mode 100644
index f7f94ab152..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-1.ent
+++ /dev/null
@@ -1,3 +0,0 @@
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e SYSTEM "031-2.ent">
-<!ENTITY e "<![CDATA[%e;]]>">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-2.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-2.ent
deleted file mode 100644
index bef50b1f38..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031-2.ent
+++ /dev/null
@@ -1 +0,0 @@
-<!ATTLIST doc a1 CDATA "v1">
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031.xml
deleted file mode 100644
index c3fe5fca71..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/031.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<!DOCTYPE doc SYSTEM "031-1.ent">
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Entries
deleted file mode 100644
index 65ee741d6c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Entries
+++ /dev/null
@@ -1,65 +0,0 @@
-/001.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003-1.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003-2.ent/1.1/Mon Feb 11 18:45:43 2002//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004-1.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004-2.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005-1.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005-2.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/015.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/015.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/016.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/016.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/017.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/017.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/018.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/018.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/019.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/019.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/020.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/020.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/021.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/021.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/023.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/023.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/024.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/024.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/025.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/025.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/026.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/026.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/027.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/027.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/028.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/028.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/029.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/029.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/030.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/030.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031-1.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031-2.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D/out////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Repository
deleted file mode 100644
index b16565a893..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid/not-sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/001.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/001.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/002.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/002.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/003.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/003.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/004.xml
deleted file mode 100644
index bdc39e2224..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/004.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="value"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/005.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/005.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/006.xml
deleted file mode 100644
index d07627d7a3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/006.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1" a2="w2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/007.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/007.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/008.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/008.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/009.xml
deleted file mode 100644
index 7293fb63dc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/009.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1" a2="v2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/010.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/010.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/011.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/011.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/012.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/012.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/013.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/013.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/014.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/014.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/015.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/015.xml
deleted file mode 100644
index 131a32fe69..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/015.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a2="v2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/016.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/016.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/016.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/017.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/017.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/017.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/018.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/018.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/018.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/019.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/019.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/019.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/020.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/020.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/020.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/021.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/021.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/021.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/022.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/022.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/022.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/023.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/023.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/023.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/024.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/024.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/024.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/025.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/025.xml
deleted file mode 100644
index eb3f9674e8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/025.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="x"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/026.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/026.xml
deleted file mode 100644
index 71c02026e4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/026.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="w1" a2="x2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/027.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/027.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/027.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/028.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/028.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/028.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/029.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/029.xml
deleted file mode 100644
index 7ac8b2b89d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/029.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/030.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/030.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/030.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/031.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/031.xml
deleted file mode 100644
index 03a6c3f9cd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/031.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&lt;!ATTLIST doc a1 CDATA &quot;v1&quot;&gt;&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Entries
deleted file mode 100644
index 5c3b4ac876..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Entries
+++ /dev/null
@@ -1,32 +0,0 @@
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/015.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/016.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/017.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/018.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/019.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/020.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/021.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/022.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/023.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/024.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/025.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/026.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/027.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/028.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/029.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/030.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Repository
deleted file mode 100644
index 221d7aeedf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/not-sa/out/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/001.xml
deleted file mode 100644
index 7fbef49502..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/001.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/002.xml
deleted file mode 100644
index 2e3f1d81dd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/002.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc ></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/003.xml
deleted file mode 100644
index c841b81784..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/003.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc >
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/004.xml
deleted file mode 100644
index a9c5756933..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/004.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-]>
-<doc a1="v1"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/005.xml
deleted file mode 100644
index b069efe727..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/005.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-]>
-<doc a1 = "v1"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/006.xml
deleted file mode 100644
index 39a346342f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/006.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-]>
-<doc a1='v1'></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/007.xml
deleted file mode 100644
index cc3dc53166..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/007.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#32;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/008.xml
deleted file mode 100644
index b3370eb1cc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/008.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&amp;&lt;&gt;&quot;&apos;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/009.xml
deleted file mode 100644
index 0fa183eccf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/009.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#x20;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/010.xml
deleted file mode 100644
index eb64d18590..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/010.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-]>
-<doc a1="v1" ></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/011.xml
deleted file mode 100644
index 4cac44b4e4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/011.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED a2 CDATA #IMPLIED>
-]>
-<doc a1="v1" a2="v2"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/012.xml
deleted file mode 100644
index 6ce2a3eae2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/012.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc : CDATA #IMPLIED>
-]>
-<doc :="v1"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/013.xml
deleted file mode 100644
index 2f4aae4e28..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/013.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc _.-0123456789 CDATA #IMPLIED>
-]>
-<doc _.-0123456789="v1"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/014.xml
deleted file mode 100644
index 47f1f723e3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/014.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc abcdefghijklmnopqrstuvwxyz CDATA #IMPLIED>
-]>
-<doc abcdefghijklmnopqrstuvwxyz="v1"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/015.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/015.xml
deleted file mode 100644
index 861df8a610..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/015.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc ABCDEFGHIJKLMNOPQRSTUVWXYZ CDATA #IMPLIED>
-]>
-<doc ABCDEFGHIJKLMNOPQRSTUVWXYZ="v1"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/016.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/016.xml
deleted file mode 100644
index 66b1973c5d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/016.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><?pi?></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/017.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/017.xml
deleted file mode 100644
index 827ba963bf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/017.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><?pi some data ? > <??></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/018.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/018.xml
deleted file mode 100644
index 4570903fee..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/018.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><![CDATA[<foo>]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/019.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/019.xml
deleted file mode 100644
index 3e6b74cbf2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/019.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><![CDATA[<&]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/020.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/020.xml
deleted file mode 100644
index f749551a1b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/020.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><![CDATA[<&]>]]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/021.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/021.xml
deleted file mode 100644
index 13dda8c8a5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/021.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><!-- a comment --></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/022.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/022.xml
deleted file mode 100644
index 41d300e950..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/022.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><!-- a comment ->--></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/023.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/023.xml
deleted file mode 100644
index 3837b831ad..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/023.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/024.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/024.xml
deleted file mode 100644
index b0655c634c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/024.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (foo)>
-<!ELEMENT foo (#PCDATA)>
-<!ENTITY e "&#60;foo></foo>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/025.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/025.xml
deleted file mode 100644
index ed01f36d89..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/025.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (foo*)>
-<!ELEMENT foo (#PCDATA)>
-]>
-<doc><foo/><foo></foo></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/026.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/026.xml
deleted file mode 100644
index 1ba033c1a7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/026.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (foo*)>
-<!ELEMENT foo EMPTY>
-]>
-<doc><foo/><foo></foo></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/027.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/027.xml
deleted file mode 100644
index ee02439051..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/027.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (foo*)>
-<!ELEMENT foo ANY>
-]>
-<doc><foo/><foo></foo></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/028.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/028.xml
deleted file mode 100644
index 3d95747913..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/028.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/029.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/029.xml
deleted file mode 100644
index 909f6ff712..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/029.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/030.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/030.xml
deleted file mode 100644
index 3a7ddaa716..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/030.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version = "1.0"?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/031.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/031.xml
deleted file mode 100644
index a58e05867f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/031.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/032.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/032.xml
deleted file mode 100644
index be55c8d721..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/032.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0' standalone='yes'?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/033.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/033.xml
deleted file mode 100644
index a3f9053868..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/033.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version='1.0' encoding="UTF-8" standalone='yes'?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/034.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/034.xml
deleted file mode 100644
index 7d52f31c0e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/034.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc/>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/035.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/035.xml
deleted file mode 100644
index f109a8b782..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/035.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc />
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/036.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/036.xml
deleted file mode 100644
index 8ab2b3fb16..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/036.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
-<?pi data?>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/037.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/037.xml
deleted file mode 100644
index f9b2113940..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/037.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
-<!-- comment -->
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/038.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/038.xml
deleted file mode 100644
index d14f41bfe2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/038.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!-- comment -->
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/039.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/039.xml
deleted file mode 100644
index 0897316e46..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/039.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?pi data?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/040.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/040.xml
deleted file mode 100644
index 12c419b65b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/040.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-]>
-<doc a1="&quot;&lt;&amp;&gt;&apos;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/041.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/041.xml
deleted file mode 100644
index a59f536277..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/041.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-]>
-<doc a1="&#65;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/042.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/042.xml
deleted file mode 100644
index 5d7c650944..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/042.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#00000000000000000000000000000000065;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/043.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/043.xml
deleted file mode 100644
index a8095dfe28..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/043.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ATTLIST doc a1 CDATA #IMPLIED>
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc a1="foo
-bar"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/044.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/044.xml
deleted file mode 100644
index bee1d23e1a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/044.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (e*)>
-<!ELEMENT e EMPTY>
-<!ATTLIST e a1 CDATA "v1" a2 CDATA "v2" a3 CDATA #IMPLIED>
-]>
-<doc>
-<e a3="v3"/>
-<e a1="w1"/>
-<e a2="w2" a3="v3"/>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/045.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/045.xml
deleted file mode 100644
index e2567f532d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/045.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
-<!ATTLIST doc a1 CDATA "z1">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/046.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/046.xml
deleted file mode 100644
index c50a2846f9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/046.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "v1">
-<!ATTLIST doc a2 CDATA "v2">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/047.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/047.xml
deleted file mode 100644
index a4c688cf1a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/047.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>X
-Y</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/048.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/048.xml
deleted file mode 100644
index c6b2dedbba..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/048.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>]</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/049.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/049.xml
deleted file mode 100644
index c3cc797b59..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/049.xml
+++ /dev/null
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/050.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/050.xml
deleted file mode 100644
index 12303b1af2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/050.xml
+++ /dev/null
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/051.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/051.xml
deleted file mode 100644
index 7ae8f6c73a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/051.xml
+++ /dev/null
Binary files differ
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/052.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/052.xml
deleted file mode 100644
index 3f33a4c760..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/052.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>ð€€ô¿½</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/053.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/053.xml
deleted file mode 100644
index 0d88f28718..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/053.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<e/>">
-<!ELEMENT doc (e)>
-<!ELEMENT e EMPTY>
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/054.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/054.xml
deleted file mode 100644
index 5d1c88b946..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/054.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-
-
-<doc
-></doc
->
-
-
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/055.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/055.xml
deleted file mode 100644
index da0292c5bc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/055.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<?pi data?>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/056.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/056.xml
deleted file mode 100644
index 144871b2a3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/056.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#x0000000000000000000000000000000000000041;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/057.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/057.xml
deleted file mode 100644
index c1ac849ed1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/057.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a*)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/058.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/058.xml
deleted file mode 100644
index 2ff23b233f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/058.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ATTLIST doc a1 NMTOKENS #IMPLIED>
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc a1=" 1 2 "></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/059.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/059.xml
deleted file mode 100644
index 2171480ecf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/059.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (e*)>
-<!ELEMENT e EMPTY>
-<!ATTLIST e a1 CDATA #IMPLIED a2 CDATA #IMPLIED a3 CDATA #IMPLIED>
-]>
-<doc>
-<e a1="v1" a2="v2" a3="v3"/>
-<e a1="w1" a2="v2"/>
-<e a1="v1" a2="w2" a3="v3"/>
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/060.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/060.xml
deleted file mode 100644
index 6cd6b4386b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/060.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>X&#10;Y</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/061.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/061.xml
deleted file mode 100644
index bbdc152492..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/061.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#163;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/062.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/062.xml
deleted file mode 100644
index f4ba53090a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/062.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#xe40;&#xe08;&#xe21;ส์</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/063.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/063.xml
deleted file mode 100644
index 9668f2da73..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/063.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE เจมส์ [
-<!ELEMENT เจมส์ (#PCDATA)>
-]>
-<เจมส์></เจมส์>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/064.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/064.xml
deleted file mode 100644
index 74a97aa431..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/064.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#x10000;&#x10FFFD;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/065.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/065.xml
deleted file mode 100644
index f708f2bc17..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/065.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#60;">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/066.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/066.xml
deleted file mode 100644
index a27340b9a7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/066.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA #IMPLIED>
-<!-- 34 is double quote -->
-<!ENTITY e1 "&#34;">
-]>
-<doc a1="&e1;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/067.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/067.xml
deleted file mode 100644
index a0ccf772a5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/067.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#13;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/068.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/068.xml
deleted file mode 100644
index 8ed806b9a3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/068.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "&#13;">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/069.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/069.xml
deleted file mode 100644
index 2437f60530..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/069.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!NOTATION n PUBLIC "whatever">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/070.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/070.xml
deleted file mode 100644
index eef097df76..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/070.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e "<!ELEMENT doc (#PCDATA)>">
-%e;
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/071.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/071.xml
deleted file mode 100644
index ebfba230a4..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/071.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a ID #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/072.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/072.xml
deleted file mode 100644
index 6ef39dc49e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/072.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a IDREF #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/073.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/073.xml
deleted file mode 100644
index 217476d9a9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/073.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a IDREFS #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/074.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/074.xml
deleted file mode 100644
index 8b2354ff73..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/074.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a ENTITY #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/075.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/075.xml
deleted file mode 100644
index 33c012441a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/075.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a ENTITIES #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/076.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/076.xml
deleted file mode 100644
index 65b731cf6d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/076.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a NOTATION (n1|n2) #IMPLIED>
-<!NOTATION n1 SYSTEM "http://www.w3.org/">
-<!NOTATION n2 SYSTEM "http://www.w3.org/">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/077.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/077.xml
deleted file mode 100644
index e5f301eac8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/077.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a (1|2) #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/078.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/078.xml
deleted file mode 100644
index b31f40f94e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/078.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #REQUIRED>
-]>
-<doc a="v"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/079.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/079.xml
deleted file mode 100644
index a3290d6cbb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/079.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #FIXED "v">
-]>
-<doc a="v"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/080.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/080.xml
deleted file mode 100644
index 3208fa9aa5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/080.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #FIXED "v">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/081.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/081.xml
deleted file mode 100644
index 51ee1a375c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/081.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a, b, c)>
-<!ELEMENT a (a?)>
-<!ELEMENT b (b*)>
-<!ELEMENT c (a | b)+>
-]>
-<doc><a/><b/><c><a/></c></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/082.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/082.xml
deleted file mode 100644
index d5245ac51a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/082.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e SYSTEM "e.dtd">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/083.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/083.xml
deleted file mode 100644
index 937cfc0bdd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/083.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e PUBLIC 'whatever' "e.dtd">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/084.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/084.xml
deleted file mode 100644
index 82760767aa..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/084.xml
+++ /dev/null
@@ -1 +0,0 @@
-<!DOCTYPE doc [<!ELEMENT doc (#PCDATA)>]><doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/085.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/085.xml
deleted file mode 100644
index cf5834f2a5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/085.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e "<foo>">
-<!ENTITY e "">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/086.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/086.xml
deleted file mode 100644
index bbc3080db6..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/086.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "">
-<!ENTITY e "<foo>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/087.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/087.xml
deleted file mode 100644
index 34797a67d7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/087.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "<foo/&#62;">
-<!ELEMENT doc (foo)>
-<!ELEMENT foo EMPTY>
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/088.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/088.xml
deleted file mode 100644
index f97d96848d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/088.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "&lt;foo>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml
deleted file mode 100644
index 42ffcb6782..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/089.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e "&#x10000;&#x10FFFD;">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/090.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/090.xml
deleted file mode 100644
index c392c96084..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/090.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ATTLIST e a NOTATION (n) #IMPLIED>
-<!ELEMENT doc (e)*>
-<!ELEMENT e (#PCDATA)>
-<!NOTATION n PUBLIC "whatever">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/091.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/091.xml
deleted file mode 100644
index 7343d0f795..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/091.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!NOTATION n SYSTEM "http://www.w3.org/">
-<!ENTITY e SYSTEM "http://www.w3.org/" NDATA n>
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a ENTITY "e">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/092.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/092.xml
deleted file mode 100644
index 627b74ecdf..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/092.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a)*>
-<!ELEMENT a EMPTY>
-]>
-<doc>
-<a/>
- <a/> <a/>
-
-
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/093.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/093.xml
deleted file mode 100644
index 300578eb5c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/093.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>
-
-
-</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/094.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/094.xml
deleted file mode 100644
index 5726e7db6f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/094.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY % e "foo">
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a1 CDATA "%e;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/095.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/095.xml
deleted file mode 100644
index 1fe69596da..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/095.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ATTLIST doc a1 CDATA #IMPLIED>
-<!ATTLIST doc a1 NMTOKENS #IMPLIED>
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc a1="1 2"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/096.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/096.xml
deleted file mode 100644
index a6f8f43620..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/096.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ATTLIST doc a1 NMTOKENS " 1 2 ">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.ent b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.ent
deleted file mode 100644
index e06554ace2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.ent
+++ /dev/null
@@ -1 +0,0 @@
-<!ATTLIST doc a2 CDATA #IMPLIED>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.xml
deleted file mode 100644
index c606afa97f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/097.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY % e SYSTEM "097.ent">
-<!ATTLIST doc a1 CDATA "v1">
-%e;
-<!ATTLIST doc a2 CDATA "v2">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/098.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/098.xml
deleted file mode 100644
index 33a64ce5ae..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/098.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><?pi x
-y?></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/099.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/099.xml
deleted file mode 100644
index 1b7214a137..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/099.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/100.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/100.xml
deleted file mode 100644
index 5b839e76bc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/100.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ENTITY e PUBLIC ";!*#@$_%" "100.xml">
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/101.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/101.xml
deleted file mode 100644
index f464484bf5..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/101.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "&#34;">
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/102.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/102.xml
deleted file mode 100644
index f239ff5fee..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/102.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="&#34;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/103.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/103.xml
deleted file mode 100644
index 1dbbd5bb7c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/103.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc>&#60;doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/104.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/104.xml
deleted file mode 100644
index 666f43de0f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/104.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="x y"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/105.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/105.xml
deleted file mode 100644
index 6b3af2b847..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/105.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="x&#9;y"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/106.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/106.xml
deleted file mode 100644
index 8757c0a5ae..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/106.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="x&#10;y"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/107.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/107.xml
deleted file mode 100644
index 3d2c2566a7..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/107.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="x&#13;y"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/108.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/108.xml
deleted file mode 100644
index e919bf229a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/108.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "
-">
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="x&e;y"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/109.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/109.xml
deleted file mode 100644
index 33fa38e13b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/109.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a=""></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/110.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/110.xml
deleted file mode 100644
index 0c61c65119..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/110.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "&#13;&#10;">
-<!ATTLIST doc a CDATA #IMPLIED>
-]>
-<doc a="x&e;y"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/111.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/111.xml
deleted file mode 100644
index cb56f264b0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/111.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST doc a NMTOKENS #IMPLIED>
-]>
-<doc a="&#32;x&#32;&#32;y&#32;"></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/112.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/112.xml
deleted file mode 100644
index 27b6a4c793..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/112.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (a | b)>
-<!ELEMENT a (#PCDATA)>
-]>
-<doc><a></a></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/113.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/113.xml
deleted file mode 100644
index d2edd0f01d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/113.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ATTLIST e a CDATA #IMPLIED>
-]>
-<doc></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/114.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/114.xml
deleted file mode 100644
index 52e207096d..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/114.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e "<![CDATA[&foo;]]>">
-]>
-<doc>&e;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/115.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/115.xml
deleted file mode 100644
index d939a67010..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/115.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY e1 "&e2;">
-<!ENTITY e2 "v">
-]>
-<doc>&e1;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/116.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/116.xml
deleted file mode 100644
index 55ab49620b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/116.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-]>
-<doc><![CDATA[
-]]></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/117.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/117.xml
deleted file mode 100644
index e4f02b14c8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/117.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY rsqb "]">
-]>
-<doc>&rsqb;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/118.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/118.xml
deleted file mode 100644
index fba6c44668..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/118.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc (#PCDATA)>
-<!ENTITY rsqb "]]">
-]>
-<doc>&rsqb;</doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/119.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/119.xml
deleted file mode 100644
index 876e74730c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/119.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<!DOCTYPE doc [
-<!ELEMENT doc ANY>
-]>
-<doc><!-- -á --></doc>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Entries
deleted file mode 100644
index 5d10c3447a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Entries
+++ /dev/null
@@ -1,121 +0,0 @@
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/015.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/016.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/017.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/018.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/019.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/020.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/021.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/022.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/023.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/024.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/025.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/026.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/027.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/028.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/029.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/030.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/032.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/033.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/034.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/035.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/036.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/037.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/038.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/039.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/040.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/041.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/042.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/043.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/044.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/045.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/046.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/047.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/048.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/049.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/050.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/051.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/052.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/053.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/054.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/055.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/056.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/057.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/058.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/059.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/060.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/061.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/062.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/063.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/064.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/065.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/066.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/067.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/068.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/069.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/070.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/071.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/072.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/073.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/074.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/075.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/076.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/077.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/078.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/079.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/080.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/081.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/082.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/083.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/084.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/085.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/086.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/087.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/088.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/089.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/090.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/091.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/092.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/093.xml/1.2/Mon Apr 22 13:27:36 2002//
-/094.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/095.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/096.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/097.ent/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/097.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/098.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/099.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/100.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/101.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/102.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/103.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/104.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/105.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/106.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/107.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/108.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/109.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/110.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/111.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/112.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/113.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/114.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/115.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/116.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/117.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/118.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/119.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D/out////
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Repository
deleted file mode 100644
index 7dcbee54f2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid/sa
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/001.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/001.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/001.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/002.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/002.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/002.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/003.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/003.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/003.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/004.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/004.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/004.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/005.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/005.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/005.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/006.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/006.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/006.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/007.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/007.xml
deleted file mode 100644
index 97cf3e3b86..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/007.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc> </doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/008.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/008.xml
deleted file mode 100644
index 3ea232c21a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/008.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&amp;&lt;&gt;&quot;'</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/009.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/009.xml
deleted file mode 100644
index 97cf3e3b86..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/009.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc> </doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/010.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/010.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/010.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/011.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/011.xml
deleted file mode 100644
index 7293fb63dc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/011.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1" a2="v2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/012.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/012.xml
deleted file mode 100644
index 5a0c9831ae..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/012.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc :="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/013.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/013.xml
deleted file mode 100644
index c9c7ec5da8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/013.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc _.-0123456789="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/014.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/014.xml
deleted file mode 100644
index ac6b28f97a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/014.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc abcdefghijklmnopqrstuvwxyz="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/015.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/015.xml
deleted file mode 100644
index 8e216eb99b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/015.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc ABCDEFGHIJKLMNOPQRSTUVWXYZ="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/016.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/016.xml
deleted file mode 100644
index 4fc76928b2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/016.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><?pi ?></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/017.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/017.xml
deleted file mode 100644
index 3b9a2f8d4e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/017.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><?pi some data ? > <??></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/018.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/018.xml
deleted file mode 100644
index a5471011df..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/018.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&lt;foo&gt;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/019.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/019.xml
deleted file mode 100644
index 05d4e2fcf9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/019.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&lt;&amp;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/020.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/020.xml
deleted file mode 100644
index 95ae08a12e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/020.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&lt;&amp;]&gt;]</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/021.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/021.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/021.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/022.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/022.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/022.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/023.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/023.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/023.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/024.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/024.xml
deleted file mode 100644
index a9aa2074ff..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/024.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><foo></foo></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/025.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/025.xml
deleted file mode 100644
index de0f566020..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/025.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><foo></foo><foo></foo></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/026.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/026.xml
deleted file mode 100644
index de0f566020..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/026.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><foo></foo><foo></foo></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/027.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/027.xml
deleted file mode 100644
index de0f566020..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/027.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><foo></foo><foo></foo></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/028.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/028.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/028.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/029.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/029.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/029.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/030.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/030.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/030.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/031.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/031.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/031.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/032.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/032.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/032.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/033.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/033.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/033.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/034.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/034.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/034.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/035.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/035.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/035.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/036.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/036.xml
deleted file mode 100644
index 2bcfb06cf1..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/036.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc><?pi data?> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/037.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/037.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/037.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/038.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/038.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/038.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/039.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/039.xml
deleted file mode 100644
index 82d117d492..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/039.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?pi data?><doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/040.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/040.xml
deleted file mode 100644
index d79cfe1493..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/040.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="&quot;&lt;&amp;&gt;'"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/041.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/041.xml
deleted file mode 100644
index 6f2cd5832e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/041.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="A"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/042.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/042.xml
deleted file mode 100644
index f683039a80..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/042.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>A</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/043.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/043.xml
deleted file mode 100644
index e162b76504..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/043.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="foo bar"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/044.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/044.xml
deleted file mode 100644
index 78028b704b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/044.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#10;<e a1="v1" a2="v2" a3="v3"></e>&#10;<e a1="w1" a2="v2"></e>&#10;<e a1="v1" a2="w2" a3="v3"></e>&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/045.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/045.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/045.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/046.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/046.xml
deleted file mode 100644
index 7293fb63dc..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/046.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1" a2="v2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/047.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/047.xml
deleted file mode 100644
index b327ebd67f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/047.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>X&#10;Y</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/048.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/048.xml
deleted file mode 100644
index ced7d02719..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/048.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>]</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/049.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/049.xml
deleted file mode 100644
index 7cc53f9ea0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/049.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>£</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/050.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/050.xml
deleted file mode 100644
index 33703c7925..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/050.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>เจมส์</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/051.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/051.xml
deleted file mode 100644
index cfeb5a5366..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/051.xml
+++ /dev/null
@@ -1 +0,0 @@
-<เจมส์></เจมส์> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/052.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/052.xml
deleted file mode 100644
index f5a0484791..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/052.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>ð€€ô¿½</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/053.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/053.xml
deleted file mode 100644
index c4083843d9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/053.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><e></e></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/054.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/054.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/054.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/055.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/055.xml
deleted file mode 100644
index 82d117d492..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/055.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?pi data?><doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/056.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/056.xml
deleted file mode 100644
index f683039a80..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/056.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>A</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/057.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/057.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/057.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/058.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/058.xml
deleted file mode 100644
index f898cc8c98..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/058.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="1 2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/059.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/059.xml
deleted file mode 100644
index 78028b704b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/059.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#10;<e a1="v1" a2="v2" a3="v3"></e>&#10;<e a1="w1" a2="v2"></e>&#10;<e a1="v1" a2="w2" a3="v3"></e>&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/060.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/060.xml
deleted file mode 100644
index b327ebd67f..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/060.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>X&#10;Y</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/061.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/061.xml
deleted file mode 100644
index 7cc53f9ea0..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/061.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>£</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/062.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/062.xml
deleted file mode 100644
index 33703c7925..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/062.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>เจมส์</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/063.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/063.xml
deleted file mode 100644
index cfeb5a5366..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/063.xml
+++ /dev/null
@@ -1 +0,0 @@
-<เจมส์></เจมส์> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/064.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/064.xml
deleted file mode 100644
index f5a0484791..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/064.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>ð€€ô¿½</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/065.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/065.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/065.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/066.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/066.xml
deleted file mode 100644
index 7597d31bf9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/066.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="&quot;"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/067.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/067.xml
deleted file mode 100644
index 4bbdad45ed..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/067.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#13;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/068.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/068.xml
deleted file mode 100644
index 4bbdad45ed..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/068.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#13;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/070.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/070.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/070.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/071.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/071.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/071.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/072.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/072.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/072.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/073.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/073.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/073.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/074.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/074.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/074.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/075.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/075.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/075.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/077.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/077.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/077.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/078.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/078.xml
deleted file mode 100644
index fcab0cd7ff..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/078.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="v"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/079.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/079.xml
deleted file mode 100644
index fcab0cd7ff..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/079.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="v"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/080.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/080.xml
deleted file mode 100644
index fcab0cd7ff..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/080.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="v"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/081.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/081.xml
deleted file mode 100644
index e356e7e4db..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/081.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><a></a><b></b><c><a></a></c></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/082.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/082.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/082.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/083.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/083.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/083.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/084.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/084.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/084.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/085.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/085.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/085.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/086.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/086.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/086.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/087.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/087.xml
deleted file mode 100644
index a9aa2074ff..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/087.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><foo></foo></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/088.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/088.xml
deleted file mode 100644
index a5471011df..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/088.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&lt;foo&gt;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml
deleted file mode 100644
index f5a0484791..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/089.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>ð€€ô¿½</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/092.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/092.xml
deleted file mode 100644
index 87269f79d9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/092.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#10;<a></a>&#10; <a></a>&#9;<a></a>&#10;&#10;&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/093.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/093.xml
deleted file mode 100644
index 631bfde91e..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/093.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#10;&#10;&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/094.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/094.xml
deleted file mode 100644
index 636ab4729a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/094.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="%e;"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/095.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/095.xml
deleted file mode 100644
index a20706ee01..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/095.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="1 2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/096.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/096.xml
deleted file mode 100644
index f898cc8c98..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/096.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="1 2"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/097.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/097.xml
deleted file mode 100644
index e05cfe6c31..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/097.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a1="v1"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/098.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/098.xml
deleted file mode 100644
index f6408de9b8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/098.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-<doc><?pi x
-y?></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/099.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/099.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/099.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/100.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/100.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/100.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/101.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/101.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/101.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/102.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/102.xml
deleted file mode 100644
index 6e66b8da21..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/102.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="&quot;"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/103.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/103.xml
deleted file mode 100644
index 96495d45c3..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/103.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&lt;doc&gt;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/104.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/104.xml
deleted file mode 100644
index cc3def3336..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/104.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/105.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/105.xml
deleted file mode 100644
index 5aed3d613b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/105.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x&#9;y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/106.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/106.xml
deleted file mode 100644
index 1197d2ff9c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/106.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x&#10;y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/107.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/107.xml
deleted file mode 100644
index 288f23cdf2..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/107.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x&#13;y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/108.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/108.xml
deleted file mode 100644
index cc3def3336..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/108.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/109.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/109.xml
deleted file mode 100644
index c43bdf9b9c..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/109.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a=""></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/110.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/110.xml
deleted file mode 100644
index a92237b4ec..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/110.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/111.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/111.xml
deleted file mode 100644
index cc3def3336..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/111.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc a="x y"></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/112.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/112.xml
deleted file mode 100644
index c82f47bca8..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/112.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc><a></a></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/113.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/113.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/113.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/114.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/114.xml
deleted file mode 100644
index 8e0722abad..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/114.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&amp;foo;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/115.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/115.xml
deleted file mode 100644
index 682b8140ec..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/115.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>v</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/116.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/116.xml
deleted file mode 100644
index a79dff65fd..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/116.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>&#10;</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/117.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/117.xml
deleted file mode 100644
index ced7d02719..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/117.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>]</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/118.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/118.xml
deleted file mode 100644
index 31e37a9398..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/118.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc>]]</doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/119.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/119.xml
deleted file mode 100644
index 7e8f183484..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/119.xml
+++ /dev/null
@@ -1 +0,0 @@
-<doc></doc> \ No newline at end of file
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Entries b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Entries
deleted file mode 100644
index 06b9ee385a..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Entries
+++ /dev/null
@@ -1,120 +0,0 @@
-/001.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/002.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/003.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/004.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/005.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/006.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/007.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/008.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/009.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/010.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/011.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/012.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/013.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/014.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/015.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/016.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/017.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/018.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/019.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/020.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/021.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/022.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/023.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/024.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/025.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/026.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/027.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/028.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/029.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/030.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/031.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/032.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/033.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/034.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/035.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/036.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/037.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/038.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/039.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/040.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/041.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/042.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/043.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/044.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/045.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/046.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/047.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/048.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/049.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/050.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/051.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/052.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/053.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/054.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/055.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/056.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/057.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/058.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/059.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/060.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/061.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/062.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/063.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/064.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/065.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/066.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/067.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/068.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/069.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/070.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/071.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/072.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/073.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/074.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/075.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/076.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/077.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/078.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/079.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/080.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/081.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/082.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/083.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/084.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/085.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/086.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/087.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/088.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/089.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/090.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/091.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/092.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/093.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/094.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/095.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/096.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/097.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/098.xml/1.2/Thu Feb 7 19:44:42 2002//
-/099.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/100.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/101.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/102.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/103.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/104.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/105.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/106.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/107.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/108.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/109.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/110.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/111.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/112.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/113.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/114.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/115.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/116.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/117.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/118.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-/119.xml/1.1.1.1/Wed Oct 17 09:52:58 2001//
-D
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Repository b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Repository
deleted file mode 100644
index 1e172d2e1b..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-2001/XML-Test-Suite/xmlconf/xmltest/valid/sa/out
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Root b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Root
deleted file mode 100644
index 3c7177e4bb..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:pserver:anonymous@dev.w3.org:/sources/public
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/xmltest.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/xmltest.xml
deleted file mode 100644
index bf81c88eb9..0000000000
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/xmltest.xml
+++ /dev/null
@@ -1,1433 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- @(#)xmltest.xml 1.12 99/02/12
- Copyright 1998-1999 by Sun Microsystems, Inc.
- All Rights Reserved.
--->
-
-<TESTCASES PROFILE="James Clark XMLTEST cases, 18-Nov-1998">
-
-<!-- Start: not-wf/sa -->
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-001"
- URI="not-wf/sa/001.xml" SECTIONS="3.1 [41]">
- Attribute values must start with attribute names, not "?". </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-002"
- URI="not-wf/sa/002.xml" SECTIONS="2.3 [4]">
- Names may not start with "."; it's not a Letter. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-003"
- URI="not-wf/sa/003.xml" SECTIONS="2.6 [16]">
- Processing Instruction target name is required.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-004"
- URI="not-wf/sa/004.xml" SECTIONS="2.6 [16]">
- SGML-ism: processing instructions end in '?&gt;' not '&gt;'. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-005"
- URI="not-wf/sa/005.xml" SECTIONS="2.6 [16]">
- Processing instructions end in '?&gt;' not '?'. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-006"
- URI="not-wf/sa/006.xml" SECTIONS="2.5 [16]">
- XML comments may not contain "--" </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-007"
- URI="not-wf/sa/007.xml" SECTIONS="4.1 [68]">
- General entity references have no whitespace after the
- entity name and before the semicolon. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-008"
- URI="not-wf/sa/008.xml" SECTIONS="2.3 [5]">
- Entity references must include names, which don't begin
- with '.' (it's not a Letter or other name start character). </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-009"
- URI="not-wf/sa/009.xml" SECTIONS="4.1 [66]">
- Character references may have only decimal or numeric strings.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-010"
- URI="not-wf/sa/010.xml" SECTIONS="4.1 [68]">
- Ampersand may only appear as part of a general entity reference.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-011"
- URI="not-wf/sa/011.xml" SECTIONS="3.1 [41]">
- SGML-ism: attribute values must be explicitly assigned a
- value, it can't act as a boolean toggle. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-012"
- URI="not-wf/sa/012.xml" SECTIONS="2.3 [10]">
- SGML-ism: attribute values must be quoted in all cases. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-013"
- URI="not-wf/sa/013.xml" SECTIONS="2.3 [10]">
- The quotes on both ends of an attribute value must match. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-014"
- URI="not-wf/sa/014.xml" SECTIONS="2.3 [10]">
- Attribute values may not contain literal '&lt;' characters. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-015"
- URI="not-wf/sa/015.xml" SECTIONS="3.1 [41]">
- Attribute values need a value, not just an equals sign. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-016"
- URI="not-wf/sa/016.xml" SECTIONS="3.1 [41]">
- Attribute values need an associated name.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-017"
- URI="not-wf/sa/017.xml" SECTIONS="2.7 [18]">
- CDATA sections need a terminating ']]&gt;'. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-018"
- URI="not-wf/sa/018.xml" SECTIONS="2.7 [19]">
- CDATA sections begin with a literal '&lt;![CDATA[', no space.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-019"
- URI="not-wf/sa/019.xml" SECTIONS="3.1 [42]">
- End tags may not be abbreviated as '&lt;/&gt;'.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-020"
- URI="not-wf/sa/020.xml" SECTIONS="2.3 [10]">
- Attribute values may not contain literal '&amp;'
- characters except as part of an entity reference. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-021"
- URI="not-wf/sa/021.xml" SECTIONS="2.3 [10]">
- Attribute values may not contain literal '&amp;'
- characters except as part of an entity reference. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-022"
- URI="not-wf/sa/022.xml" SECTIONS="4.1 [66]">
- Character references end with semicolons, always!</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-023"
- URI="not-wf/sa/023.xml" SECTIONS="2.3 [5]">
- Digits are not valid name start characters. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-024"
- URI="not-wf/sa/024.xml" SECTIONS="2.3 [5]">
- Digits are not valid name start characters. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-025"
- URI="not-wf/sa/025.xml" SECTIONS="2.4 [14]">
- Text may not contain a literal ']]&gt;' sequence. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-026"
- URI="not-wf/sa/026.xml" SECTIONS="2.4 [14]">
- Text may not contain a literal ']]&gt;' sequence. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-027"
- URI="not-wf/sa/027.xml" SECTIONS="2.5 [15]">
- Comments must be terminated with "--&gt;".</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-028"
- URI="not-wf/sa/028.xml" SECTIONS="2.6 [16]">
- Processing instructions must end with '?&gt;'. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-029"
- URI="not-wf/sa/029.xml" SECTIONS="2.4 [14]">
- Text may not contain a literal ']]&gt;' sequence. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-030"
- URI="not-wf/sa/030.xml" SECTIONS="2.2 [2]">
- A form feed is not a legal XML character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-031"
- URI="not-wf/sa/031.xml" SECTIONS="2.2 [2]">
- A form feed is not a legal XML character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-032"
- URI="not-wf/sa/032.xml" SECTIONS="2.2 [2]">
- A form feed is not a legal XML character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-033"
- URI="not-wf/sa/033.xml" SECTIONS="2.2 [2]">
- An ESC (octal 033) is not a legal XML character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-034"
- URI="not-wf/sa/034.xml" SECTIONS="2.2 [2]">
- A form feed is not a legal XML character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-035"
- URI="not-wf/sa/035.xml" SECTIONS="3.1 [43]">
- The '&lt;' character is a markup delimiter and must
- start an element, CDATA section, PI, or comment. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-036"
- URI="not-wf/sa/036.xml" SECTIONS="2.8 [27]">
- Text may not appear after the root element. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-037"
- URI="not-wf/sa/037.xml" SECTIONS="2.8 [27]">
- Character references may not appear after the root element. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-038"
- URI="not-wf/sa/038.xml" SECTIONS="3.1">
- Tests the "Unique Att Spec" WF constraint by providing
- multiple values for an attribute.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-039"
- URI="not-wf/sa/039.xml" SECTIONS="3">
- Tests the Element Type Match WFC - end tag name must
- match start tag name.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-040"
- URI="not-wf/sa/040.xml" SECTIONS="2.8 [27]">
- Provides two document elements.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-041"
- URI="not-wf/sa/041.xml" SECTIONS="2.8 [27]">
- Provides two document elements.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-042"
- URI="not-wf/sa/042.xml" SECTIONS="3.1 [42]">
- Invalid End Tag </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-043"
- URI="not-wf/sa/043.xml" SECTIONS="2.8 [27]">
- Provides #PCDATA text after the document element. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-044"
- URI="not-wf/sa/044.xml" SECTIONS="2.8 [27]">
- Provides two document elements.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-045"
- URI="not-wf/sa/045.xml" SECTIONS="3.1 [44]">
- Invalid Empty Element Tag </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-046"
- URI="not-wf/sa/046.xml" SECTIONS="3.1 [40]">
- This start (or empty element) tag was not terminated correctly. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-047"
- URI="not-wf/sa/047.xml" SECTIONS="3.1 [44]">
- Invalid empty element tag invalid whitespace </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-048"
- URI="not-wf/sa/048.xml" SECTIONS="2.8 [27]">
- Provides a CDATA section after the root element.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-049"
- URI="not-wf/sa/049.xml" SECTIONS="3.1 [40]">
- Missing start tag </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-050"
- URI="not-wf/sa/050.xml" SECTIONS="2.1 [1]">
- Empty document, with no root element. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-051"
- URI="not-wf/sa/051.xml" SECTIONS="2.7 [18]">
- CDATA is invalid at top level of document.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-052"
- URI="not-wf/sa/052.xml" SECTIONS="4.1 [66]">
- Invalid character reference. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-053"
- URI="not-wf/sa/053.xml" SECTIONS="3.1 [42]">
- End tag does not match start tag. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-054"
- URI="not-wf/sa/054.xml" SECTIONS="4.2.2 [75]">
- PUBLIC requires two literals.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-055"
- URI="not-wf/sa/055.xml" SECTIONS="2.8 [28]">
- Invalid Document Type Definition format. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-056"
- URI="not-wf/sa/056.xml" SECTIONS="2.8 [28]">
- Invalid Document Type Definition format - misplaced comment. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-057"
- URI="not-wf/sa/057.xml" SECTIONS="3.2 [45]">
- This isn't SGML; comments can't exist in declarations. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-058"
- URI="not-wf/sa/058.xml" SECTIONS="3.3.1 [54]">
- Invalid character , in ATTLIST enumeration </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-059"
- URI="not-wf/sa/059.xml" SECTIONS="3.3.1 [59]">
- String literal must be in quotes. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-060"
- URI="not-wf/sa/060.xml" SECTIONS="3.3.1 [56]">
- Invalid type NAME defined in ATTLIST.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-061"
- URI="not-wf/sa/061.xml" SECTIONS="4.2.2 [75]">
- External entity declarations require whitespace between public
- and system IDs.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-062"
- URI="not-wf/sa/062.xml" SECTIONS="4.2 [71]">
- Entity declarations need space after the entity name. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-063"
- URI="not-wf/sa/063.xml" SECTIONS="2.8 [29]">
- Conditional sections may only appear in the external
- DTD subset. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-064"
- URI="not-wf/sa/064.xml" SECTIONS="3.3 [53]">
- Space is required between attribute type and default values
- in &lt;!ATTLIST...&gt; declarations. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-065"
- URI="not-wf/sa/065.xml" SECTIONS="3.3 [53]">
- Space is required between attribute name and type
- in &lt;!ATTLIST...&gt; declarations. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-066"
- URI="not-wf/sa/066.xml" SECTIONS="3.3 [52]">
- Required whitespace is missing. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-067"
- URI="not-wf/sa/067.xml" SECTIONS="3.3 [53]">
- Space is required between attribute type and default values
- in &lt;!ATTLIST...&gt; declarations. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-068"
- URI="not-wf/sa/068.xml" SECTIONS="3.3.1 [58]">
- Space is required between NOTATION keyword and list of
- enumerated choices in &lt;!ATTLIST...&gt; declarations. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-069"
- URI="not-wf/sa/069.xml" SECTIONS="4.2.2 [76]">
- Space is required before an NDATA entity annotation.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-070"
- URI="not-wf/sa/070.xml" SECTIONS="2.5 [16]">
- XML comments may not contain "--" </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-071"
- URI="not-wf/sa/071.xml" SECTIONS="4.1 [68]">
- ENTITY can't reference itself directly or indirectly.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-072"
- URI="not-wf/sa/072.xml" SECTIONS="4.1 [68]">
- Undefined ENTITY foo. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-073"
- URI="not-wf/sa/073.xml" SECTIONS="4.1 [68]">
- Undefined ENTITY f. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-074"
- URI="not-wf/sa/074.xml" SECTIONS="4.3.2">
- Internal general parsed entities are only well formed if
- they match the "content" production. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-075"
- URI="not-wf/sa/075.xml" SECTIONS="4.1 [68]">
- ENTITY can't reference itself directly or indirectly. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-076"
- URI="not-wf/sa/076.xml" SECTIONS="4.1 [68]">
- Undefined ENTITY foo. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-077"
- URI="not-wf/sa/077.xml" SECTIONS="41. [68]">
- Undefined ENTITY bar. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-078"
- URI="not-wf/sa/078.xml" SECTIONS="4.1 [68]">
- Undefined ENTITY foo. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-079"
- URI="not-wf/sa/079.xml" SECTIONS="4.1 [68]">
- ENTITY can't reference itself directly or indirectly. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-080"
- URI="not-wf/sa/080.xml" SECTIONS="4.1 [68]">
- ENTITY can't reference itself directly or indirectly. </TEST>
-<TEST TYPE="not-wf" ENTITIES="general" ID="not-wf-sa-081"
- URI="not-wf/sa/081.xml" SECTIONS="3.1">
- This tests the <EM>No External Entity References</EM> WFC,
- since the entity is referred to within an attribute. </TEST>
-<TEST TYPE="not-wf" ENTITIES="general" ID="not-wf-sa-082"
- URI="not-wf/sa/082.xml" SECTIONS="3.1">
- This tests the <EM>No External Entity References</EM> WFC,
- since the entity is referred to within an attribute. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-083"
- URI="not-wf/sa/083.xml" SECTIONS="4.2.2 [76]">
- Undefined NOTATION n. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-084"
- URI="not-wf/sa/084.xml" SECTIONS="4.1">
- Tests the <EM>Parsed Entity</EM> WFC by referring to an
- unparsed entity. (This precedes the error of not declaring
- that entity's notation, which may be detected any time before
- the DTD parsing is completed.) </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-085"
- URI="not-wf/sa/085.xml" SECTIONS="2.3 [13]">
- Public IDs may not contain "[". </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-086"
- URI="not-wf/sa/086.xml" SECTIONS="2.3 [13]">
- Public IDs may not contain "[". </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-087"
- URI="not-wf/sa/087.xml" SECTIONS="2.3 [13]">
- Public IDs may not contain "[". </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-088"
- URI="not-wf/sa/088.xml" SECTIONS="2.3 [10]">
- Attribute values are terminated by literal quote characters,
- and any entity expansion is done afterwards. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-089"
- URI="not-wf/sa/089.xml" SECTIONS="4.2 [74]">
- Parameter entities "are" always parsed; NDATA annotations
- are not permitted.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-090"
- URI="not-wf/sa/090.xml" SECTIONS="2.3 [10]">
- Attributes may not contain a literal "&lt;" character;
- this one has one because of reference expansion. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-091"
- URI="not-wf/sa/091.xml" SECTIONS="4.2 [74]">
- Parameter entities "are" always parsed; NDATA annotations
- are not permitted.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-092"
- URI="not-wf/sa/092.xml" SECTIONS="4.5">
- The replacement text of this entity has an illegal reference,
- because the character reference is expanded immediately. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-093"
- URI="not-wf/sa/093.xml" SECTIONS="4.1 [66]">
- Hexadecimal character references may not use the uppercase 'X'.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-094"
- URI="not-wf/sa/094.xml" SECTIONS="2.8 [24]">
- Prolog VERSION must be lowercase. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-095"
- URI="not-wf/sa/095.xml" SECTIONS="2.8 [23]">
- VersionInfo must come before EncodingDecl. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-096"
- URI="not-wf/sa/096.xml" SECTIONS="2.9 [32]">
- Space is required before the standalone declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-097"
- URI="not-wf/sa/097.xml" SECTIONS="2.8 [24]">
- Both quotes surrounding VersionNum must be the same. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-098"
- URI="not-wf/sa/098.xml" SECTIONS="2.8 [23]">
- Only one "version=..." string may appear in an XML declaration.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-099"
- URI="not-wf/sa/099.xml" SECTIONS="2.8 [23]">
- Only three pseudo-attributes are in the XML declaration,
- and "valid=..." is not one of them. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-100"
- URI="not-wf/sa/100.xml" SECTIONS="2.9 [32]">
- Only "yes" and "no" are permitted as values of "standalone". </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-101"
- URI="not-wf/sa/101.xml" SECTIONS="4.3.3 [81]">
- Space is not permitted in an encoding name. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-102"
- URI="not-wf/sa/102.xml" SECTIONS="2.8 [26]">
- Provides an illegal XML version number; spaces are illegal.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-103"
- URI="not-wf/sa/103.xml" SECTIONS="4.3.2">
- End-tag required for element foo. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-104"
- URI="not-wf/sa/104.xml" SECTIONS="4.3.2">
- Internal general parsed entities are only well formed if
- they match the "content" production. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-105"
- URI="not-wf/sa/105.xml" SECTIONS="2.7 ">
- Invalid placement of CDATA section. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-106"
- URI="not-wf/sa/106.xml" SECTIONS="4.2">
- Invalid placement of entity declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-107"
- URI="not-wf/sa/107.xml" SECTIONS="2.8 [28]">
- Invalid document type declaration. CDATA alone is invalid.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-108"
- URI="not-wf/sa/108.xml" SECTIONS="2.7 [19]">
- No space in '&lt;![CDATA['.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-109"
- URI="not-wf/sa/109.xml" SECTIONS="4.2 [70]">
- Tags invalid within EntityDecl. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-110"
- URI="not-wf/sa/110.xml" SECTIONS="4.1 [68]">
- Entity reference must be in content of element. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-111"
- URI="not-wf/sa/111.xml" SECTIONS="3.1 [43]">
- Entiry reference must be in content of element not Start-tag. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-112"
- URI="not-wf/sa/112.xml" SECTIONS="2.7 [19]">
- CDATA sections start '&lt;![CDATA[', not '&lt;!cdata['.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-113"
- URI="not-wf/sa/113.xml" SECTIONS="2.3 [9]">
- Parameter entity values must use valid reference syntax;
- this reference is malformed.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-114"
- URI="not-wf/sa/114.xml" SECTIONS="2.3 [9]">
- General entity values must use valid reference syntax;
- this reference is malformed.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-115"
- URI="not-wf/sa/115.xml" SECTIONS="4.5">
- The replacement text of this entity is an illegal character
- reference, which must be rejected when it is parsed in the
- context of an attribute value.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-116"
- URI="not-wf/sa/116.xml" SECTIONS="4.3.2">
- Internal general parsed entities are only well formed if
- they match the "content" production. This is a partial
- character reference, not a full one. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-117"
- URI="not-wf/sa/117.xml" SECTIONS="4.3.2">
- Internal general parsed entities are only well formed if
- they match the "content" production. This is a partial
- character reference, not a full one. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-118"
- URI="not-wf/sa/118.xml" SECTIONS="4.1 [68]">
- Entity reference expansion is not recursive.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-119"
- URI="not-wf/sa/119.xml" SECTIONS="4.3.2">
- Internal general parsed entities are only well formed if
- they match the "content" production. This is a partial
- character reference, not a full one. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-120"
- URI="not-wf/sa/120.xml" SECTIONS="4.5">
- Character references are expanded in the replacement text of
- an internal entity, which is then parsed as usual. Accordingly,
- &amp; must be doubly quoted - encoded either as <EM>&amp;amp;</EM>
- or as <EM>&amp;#38;#38;</EM>. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-121"
- URI="not-wf/sa/121.xml" SECTIONS="4.1 [68]">
- A name of an ENTITY was started with an invalid character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-122"
- URI="not-wf/sa/122.xml" SECTIONS="3.2.1 [47]">
- Invalid syntax mixed connectors are used. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-123"
- URI="not-wf/sa/123.xml" SECTIONS="3.2.1 [48]">
- Invalid syntax mismatched parenthesis. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-124"
- URI="not-wf/sa/124.xml" SECTIONS="3.2.2 [51]">
- Invalid format of Mixed-content declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-125"
- URI="not-wf/sa/125.xml" SECTIONS="3.2.2 [51]">
- Invalid syntax extra set of parenthesis not necessary. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-126"
- URI="not-wf/sa/126.xml" SECTIONS="3.2.2 [51]">
- Invalid syntax Mixed-content must be defined as zero or more. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-127"
- URI="not-wf/sa/127.xml" SECTIONS="3.2.2 [51]">
- Invalid syntax Mixed-content must be defined as zero or more. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-128"
- URI="not-wf/sa/128.xml" SECTIONS="2.7 [18]">
- Invalid CDATA syntax. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-129"
- URI="not-wf/sa/129.xml" SECTIONS="3.2 [45]">
- Invalid syntax for Element Type Declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-130"
- URI="not-wf/sa/130.xml" SECTIONS="3.2 [45]">
- Invalid syntax for Element Type Declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-131"
- URI="not-wf/sa/131.xml" SECTIONS="3.2 [45]">
- Invalid syntax for Element Type Declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-132"
- URI="not-wf/sa/132.xml" SECTIONS="3.2.1 [50]">
- Invalid syntax mixed connectors used. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-133"
- URI="not-wf/sa/133.xml" SECTIONS="3.2.1">
- Illegal whitespace before optional character causes syntax error. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-134"
- URI="not-wf/sa/134.xml" SECTIONS="3.2.1">
- Illegal whitespace before optional character causes syntax error. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-135"
- URI="not-wf/sa/135.xml" SECTIONS="3.2.1 [47]">
- Invalid character used as connector. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-136"
- URI="not-wf/sa/136.xml" SECTIONS="3.2 [45]">
- Tag omission is invalid in XML. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-137"
- URI="not-wf/sa/137.xml" SECTIONS="3.2 [45]">
- Space is required before a content model. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-138"
- URI="not-wf/sa/138.xml" SECTIONS="3.2.1 [48]">
- Invalid syntax for content particle. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-139"
- URI="not-wf/sa/139.xml" SECTIONS="3.2.1 [46]">
- The element-content model should not be empty. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-140"
- URI="not-wf/sa/140.xml" SECTIONS="2.3 [4]">
- Character '&amp;#x309a;' is a CombiningChar, not a
- Letter, and so may not begin a name.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-141"
- URI="not-wf/sa/141.xml" SECTIONS="2.3 [5]">
- Character #x0E5C is not legal in XML names. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-142"
- URI="not-wf/sa/142.xml" SECTIONS="2.2 [2]">
- Character #x0000 is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-143"
- URI="not-wf/sa/143.xml" SECTIONS="2.2 [2]">
- Character #x001F is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-144"
- URI="not-wf/sa/144.xml" SECTIONS="2.2 [2]">
- Character #xFFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-145"
- URI="not-wf/sa/145.xml" SECTIONS="2.2 [2]">
- Character #xD800 is not legal anywhere in an XML document. (If it
- appeared in a UTF-16 surrogate pair, it'd represent half of a UCS-4
- character and so wouldn't really be in the document.) </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-146"
- URI="not-wf/sa/146.xml" SECTIONS="2.2 [2]">
- Character references must also refer to legal XML characters;
- #x00110000 is one more than the largest legal character.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-147"
- URI="not-wf/sa/147.xml" SECTIONS="2.8 [22]">
- XML Declaration may not be preceded by whitespace.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-148"
- URI="not-wf/sa/148.xml" SECTIONS="2.8 [22]">
- XML Declaration may not be preceded by comments or whitespace.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-149"
- URI="not-wf/sa/149.xml" SECTIONS="2.8 [28]">
- XML Declaration may not be within a DTD.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-150"
- URI="not-wf/sa/150.xml" SECTIONS="3.1 [43]">
- XML declarations may not be within element content. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-151"
- URI="not-wf/sa/151.xml" SECTIONS="2.8 [27]">
- XML declarations may not follow document content.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-152"
- URI="not-wf/sa/152.xml" SECTIONS="2.8 [22]">
- XML declarations must include the "version=..." string.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-153"
- URI="not-wf/sa/153.xml" SECTIONS="4.3.2">
- Text declarations may not begin internal parsed entities;
- they may only appear at the beginning of external parsed
- (parameter or general) entities. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-154"
- URI="not-wf/sa/154.xml" SECTIONS="2.8 2.6 [23, 17]">
- '&lt;?XML ...?&gt;' is neither an XML declaration
- nor a legal processing instruction target name. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-155"
- URI="not-wf/sa/155.xml" SECTIONS="2.8 2.6 [23, 17]">
- '&lt;?xmL ...?&gt;' is neither an XML declaration
- nor a legal processing instruction target name. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-156"
- URI="not-wf/sa/156.xml" SECTIONS="2.8 2.6 [23, 17]">
- '&lt;?xMl ...?&gt;' is neither an XML declaration
- nor a legal processing instruction target name. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-157"
- URI="not-wf/sa/157.xml" SECTIONS="2.6 [17]">
- '&lt;?xmL ...?&gt;' is not a legal processing instruction
- target name. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-158"
- URI="not-wf/sa/158.xml" SECTIONS="3.3 [52]">
- SGML-ism: "#NOTATION gif" can't have attributes. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-159"
- URI="not-wf/sa/159.xml" SECTIONS="2.3 [9]">
- Uses '&amp;' unquoted in an entity declaration,
- which is illegal syntax for an entity reference.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-160"
- URI="not-wf/sa/160.xml" SECTIONS="2.8">
- Violates the <EM>PEs in Internal Subset</EM> WFC
- by using a PE reference within a declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-161"
- URI="not-wf/sa/161.xml" SECTIONS="2.8">
- Violates the <EM>PEs in Internal Subset</EM> WFC
- by using a PE reference within a declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-162"
- URI="not-wf/sa/162.xml" SECTIONS="2.8">
- Violates the <EM>PEs in Internal Subset</EM> WFC
- by using a PE reference within a declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-163"
- URI="not-wf/sa/163.xml" SECTIONS="4.1 [69]">
- Invalid placement of Parameter entity reference. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-164"
- URI="not-wf/sa/164.xml" SECTIONS="4.1 [69]">
- Invalid placement of Parameter entity reference. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-165"
- URI="not-wf/sa/165.xml" SECTIONS="4.2 [72]">
- Parameter entity declarations must have a space before
- the '%'. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-166"
- URI="not-wf/sa/166.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-167"
- URI="not-wf/sa/167.xml" SECTIONS="2.2 [2]">
- Character FFFE is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-168"
- URI="not-wf/sa/168.xml" SECTIONS="2.2 [2]">
- An unpaired surrogate (D800) is not legal anywhere
- in an XML document.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-169"
- URI="not-wf/sa/169.xml" SECTIONS="2.2 [2]">
- An unpaired surrogate (DC00) is not legal anywhere
- in an XML document.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-170"
- URI="not-wf/sa/170.xml" SECTIONS="2.2 [2]">
- Four byte UTF-8 encodings can encode UCS-4 characters
- which are beyond the range of legal XML characters
- (and can't be expressed in Unicode surrogate pairs).
- This document holds such a character. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-171"
- URI="not-wf/sa/171.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-172"
- URI="not-wf/sa/172.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-173"
- URI="not-wf/sa/173.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-174"
- URI="not-wf/sa/174.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-175"
- URI="not-wf/sa/175.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-176"
- URI="not-wf/sa/176.xml" SECTIONS="3 [39]">
- Start tags must have matching end tags.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-177"
- URI="not-wf/sa/177.xml" SECTIONS="2.2 [2]">
- Character FFFF is not legal anywhere in an XML document. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-178"
- URI="not-wf/sa/178.xml" SECTIONS="3.1 [41]">
- Invalid syntax matching double quote is missing. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-179"
- URI="not-wf/sa/179.xml" SECTIONS="4.1 [66]">
- Invalid syntax matching double quote is missing. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-180"
- URI="not-wf/sa/180.xml" SECTIONS="4.1">
- The <EM>Entity Declared</EM> WFC requires entities to be declared
- before they are used in an attribute list declaration. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-181"
- URI="not-wf/sa/181.xml" SECTIONS="4.3.2">
- Internal parsed entities must match the <EM>content</EM>
- production to be well formed. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-182"
- URI="not-wf/sa/182.xml" SECTIONS="4.3.2">
- Internal parsed entities must match the <EM>content</EM>
- production to be well formed. </TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-183"
- URI="not-wf/sa/183.xml" SECTIONS="3.2.2 [51]">
- Mixed content declarations may not include content particles.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-184"
- URI="not-wf/sa/184.xml" SECTIONS="3.2.2 [51]">
- In mixed content models, element names must not be
- parenthesized. </TEST>
-<TEST TYPE="not-wf" ENTITIES="parameter" ID="not-wf-sa-185"
- URI="not-wf/sa/185.xml" SECTIONS="4.1">
- Tests the <EM>Entity Declared</EM> WFC.
- <EM>Note:</EM> a nonvalidating parser is permitted not to report
- this WFC violation, since it would need to read an external
- parameter entity to distinguish it from a violation of
- the <EM>Standalone Declaration</EM> VC.</TEST>
-<TEST TYPE="not-wf" ENTITIES="none" ID="not-wf-sa-186"
- URI="not-wf/sa/186.xml" SECTIONS="3.1 [44]">
- Whitespace is required between attribute/value pairs. </TEST>
-
-<!-- Start: not-wf/not-sa -->
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-001"
- URI="not-wf/not-sa/001.xml" SECTIONS="3.4 [62]">
- Conditional sections must be properly terminated ("]&gt;" used
- instead of "]]&gt;"). </TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-002"
- URI="not-wf/not-sa/002.xml" SECTIONS="2.6 [17]">
- Processing instruction target names may not be "XML"
- in any combination of cases. </TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-003"
- URI="not-wf/not-sa/003.xml" SECTIONS="3.4 [62]">
- Conditional sections must be properly terminated ("]]&gt;" omitted). </TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-004"
- URI="not-wf/not-sa/004.xml" SECTIONS="3.4 [62]">
- Conditional sections must be properly terminated ("]]&gt;" omitted). </TEST>
-<TEST TYPE="error" ENTITIES="both" ID="not-wf-not-sa-005"
- URI="not-wf/not-sa/005.xml" SECTIONS="4.1">
- Tests the <EM>Entity Declared</EM> VC by referring to an
- undefined parameter entity within an external entity.</TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-006"
- URI="not-wf/not-sa/006.xml" SECTIONS="3.4 [62]">
- Conditional sections need a '[' after the INCLUDE or IGNORE. </TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-007"
- URI="not-wf/not-sa/007.xml" SECTIONS="4.3.2 [79]">
- A &lt;!DOCTYPE ...&gt; declaration may not begin any external
- entity; it's only found once, in the document entity.</TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-008"
- URI="not-wf/not-sa/008.xml" SECTIONS="4.1 [69]">
- In DTDs, the '%' character must be part of a parameter
- entity reference.</TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-not-sa-009"
- URI="not-wf/not-sa/009.xml" SECTIONS="2.8">
- This test violates WFC:PE Between Declarations in Production 28a.
- The last character of a markup declaration is not contained in the same
- parameter-entity text replacement.</TEST>
-<!-- Start: not-wf/ext-sa -->
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-ext-sa-001"
- URI="not-wf/ext-sa/001.xml" SECTIONS="4.1">
- Tests the <EM>No Recursion</EM> WFC by having an external general
- entity be self-recursive.</TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-ext-sa-002"
- URI="not-wf/ext-sa/002.xml" SECTIONS="4.3.1 4.3.2 [77, 78]">
- External entities have "text declarations", which do
- not permit the "standalone=..." attribute that's allowed
- in XML declarations.</TEST>
-<TEST TYPE="not-wf" ENTITIES="both" ID="not-wf-ext-sa-003"
- URI="not-wf/ext-sa/003.xml" SECTIONS="2.6 [17]">
- Only one text declaration is permitted; a second one
- looks like an illegal processing instruction (target names
- of "xml" in any case are not allowed). </TEST>
-
-
-<!-- Start: invalid/ -->
-
-<TEST TYPE="invalid" ENTITIES="both" ID="invalid--002"
- URI="invalid/002.xml" SECTIONS="3.2.1">
- Tests the "Proper Group/PE Nesting" validity constraint by
- fragmenting a content model between two parameter entities.</TEST>
-<TEST TYPE="invalid" ENTITIES="both" ID="invalid--005"
- URI="invalid/005.xml" SECTIONS="2.8">
- Tests the "Proper Declaration/PE Nesting" validity constraint by
- fragmenting an element declaration between two parameter entities.</TEST>
-<TEST TYPE="invalid" ENTITIES="both" ID="invalid--006"
- URI="invalid/006.xml" SECTIONS="2.8">
- Tests the "Proper Declaration/PE Nesting" validity constraint by
- fragmenting an element declaration between two parameter entities.</TEST>
-<TEST TYPE="invalid" ENTITIES="both" ID="invalid-not-sa-022"
- URI="invalid/not-sa/022.xml" SECTIONS="3.4 [62]"
- OUTPUT="invalid/not-sa/out/022.xml">
- Test the "Proper Conditional Section/ PE Nesting" validity constraint. </TEST>
-
-<!-- Start: valid/sa -->
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-001"
- URI="valid/sa/001.xml" SECTIONS="3.2.2 [51]"
- OUTPUT="valid/sa/out/001.xml">
- Test demonstrates an Element Type Declaration with Mixed Content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-002"
- URI="valid/sa/002.xml" SECTIONS="3.1 [40]"
- OUTPUT="valid/sa/out/002.xml">
- Test demonstrates that whitespace is permitted after the tag name in a Start-tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-003"
- URI="valid/sa/003.xml" SECTIONS="3.1 [42]"
- OUTPUT="valid/sa/out/003.xml">
- Test demonstrates that whitespace is permitted after the tag name in an End-tag.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-004"
- URI="valid/sa/004.xml" SECTIONS="3.1 [41]"
- OUTPUT="valid/sa/out/004.xml">
- Test demonstrates a valid attribute specification within a Start-tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-005"
- URI="valid/sa/005.xml" SECTIONS="3.1 [40]"
- OUTPUT="valid/sa/out/005.xml">
- Test demonstrates a valid attribute specification within a Start-tag that
-contains whitespace on both sides of the equal sign. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-006"
- URI="valid/sa/006.xml" SECTIONS="3.1 [41]"
- OUTPUT="valid/sa/out/006.xml">
- Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-007"
- URI="valid/sa/007.xml" SECTIONS="3.1 4.6 [43]"
- OUTPUT="valid/sa/out/007.xml">
- Test demonstrates numeric character references can be used for element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-008"
- URI="valid/sa/008.xml" SECTIONS="2.4 3.1 [43]"
- OUTPUT="valid/sa/out/008.xml">
- Test demonstrates character references can be used for element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-009"
- URI="valid/sa/009.xml" SECTIONS="2.3 3.1 [43]"
- OUTPUT="valid/sa/out/009.xml">
- Test demonstrates that PubidChar can be used for element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-010"
- URI="valid/sa/010.xml" SECTIONS="3.1 [40]"
- OUTPUT="valid/sa/out/010.xml">
- Test demonstrates that whitespace is valid after the Attribute in a Start-tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-011"
- URI="valid/sa/011.xml" SECTIONS="3.1 [40]"
- OUTPUT="valid/sa/out/011.xml">
- Test demonstrates mutliple Attibutes within the Start-tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-012"
- URI="valid/sa/012.xml" SECTIONS="2.3 [4]"
- OUTPUT="valid/sa/out/012.xml" NAMESPACE="no">
- Uses a legal XML 1.0 name consisting of a single colon
- character (disallowed by the latest XML Namespaces draft).</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-013"
- URI="valid/sa/013.xml" SECTIONS="2.3 3.1 [13] [40]"
- OUTPUT="valid/sa/out/013.xml">
- Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-014"
- URI="valid/sa/014.xml" SECTIONS="2.3 3.1 [13] [40]"
- OUTPUT="valid/sa/out/014.xml">
- Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-015"
- URI="valid/sa/015.xml" SECTIONS="2.3 3.1 [13] [40]"
- OUTPUT="valid/sa/out/015.xml">
- Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-016"
- URI="valid/sa/016.xml" SECTIONS="2.6 3.1 [16] [43]"
- OUTPUT="valid/sa/out/016.xml">
- Test demonstrates that Processing Instructions are valid element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-017"
- URI="valid/sa/017.xml" SECTIONS="2.6 3.1 [16] [43]"
- OUTPUT="valid/sa/out/017.xml">
- Test demonstrates that Processing Instructions are valid element content and there can be more than one. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-018"
- URI="valid/sa/018.xml" SECTIONS="2.7 3.1 [18] [43]"
- OUTPUT="valid/sa/out/018.xml">
- Test demonstrates that CDATA sections are valid element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-019"
- URI="valid/sa/019.xml" SECTIONS="2.7 3.1 [18] [43]"
- OUTPUT="valid/sa/out/019.xml">
- Test demonstrates that CDATA sections are valid element content and that
-ampersands may occur in their literal form. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-020"
- URI="valid/sa/020.xml" SECTIONS="2.7 3.1 [18] [43]"
- OUTPUT="valid/sa/out/020.xml">
- Test demonstractes that CDATA sections are valid element content and that
-everyting between the CDStart and CDEnd is recognized as character data not markup. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-021"
- URI="valid/sa/021.xml" SECTIONS="2.5 3.1 [15] [43]"
- OUTPUT="valid/sa/out/021.xml">
- Test demonstrates that comments are valid element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-022"
- URI="valid/sa/022.xml" SECTIONS="2.5 3.1 [15] [43]"
- OUTPUT="valid/sa/out/022.xml">
- Test demonstrates that comments are valid element content and that all characters before the double-hypen right angle combination are considered part of thecomment. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-023"
- URI="valid/sa/023.xml" SECTIONS="3.1 [43]"
- OUTPUT="valid/sa/out/023.xml">
- Test demonstrates that Entity References are valid element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-024"
- URI="valid/sa/024.xml" SECTIONS="3.1 4.1 [43] [66]"
- OUTPUT="valid/sa/out/024.xml">
- Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-025"
- URI="valid/sa/025.xml" SECTIONS="3.2 [46]"
- OUTPUT="valid/sa/out/025.xml">
- Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-026"
- URI="valid/sa/026.xml" SECTIONS="3.2 [46]"
- OUTPUT="valid/sa/out/026.xml">
- Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-027"
- URI="valid/sa/027.xml" SECTIONS="3.2 [46]"
- OUTPUT="valid/sa/out/027.xml">
- Test demonstrates an Element Type Declaration and that ANY is a valid contenspec. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-028"
- URI="valid/sa/028.xml" SECTIONS="2.8 [24]"
- OUTPUT="valid/sa/out/028.xml">
- Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-029"
- URI="valid/sa/029.xml" SECTIONS="2.8 [24]"
- OUTPUT="valid/sa/out/029.xml">
- Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-030"
- URI="valid/sa/030.xml" SECTIONS="2.8 [25]"
- OUTPUT="valid/sa/out/030.xml">
- Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-031"
- URI="valid/sa/031.xml" SECTIONS="4.3.3 [80]"
- OUTPUT="valid/sa/out/031.xml">
- Test demonstrates a valid EncodingDecl within the prolog. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-032"
- URI="valid/sa/032.xml" SECTIONS="2.9 [32]"
- OUTPUT="valid/sa/out/032.xml">
- Test demonstrates a valid SDDecl within the prolog. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-033"
- URI="valid/sa/033.xml" SECTIONS="2.8 [23]"
- OUTPUT="valid/sa/out/033.xml">
- Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-034"
- URI="valid/sa/034.xml" SECTIONS="3.1 [44]"
- OUTPUT="valid/sa/out/034.xml">
- Test demonstrates the correct syntax for an Empty element tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-035"
- URI="valid/sa/035.xml" SECTIONS="3.1 [44]"
- OUTPUT="valid/sa/out/035.xml">
- Test demonstrates that whitespace is permissible after the name in an Empty element tag. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-036"
- URI="valid/sa/036.xml" SECTIONS="2.6 [16]"
- OUTPUT="valid/sa/out/036.xml">
- Test demonstrates a valid processing instruction. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-037"
- URI="valid/sa/037.xml" SECTIONS="2.6 [15]"
- OUTPUT="valid/sa/out/037.xml">
- Test demonstrates a valid comment and that it may appear anywhere in the document including at the end. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-038"
- URI="valid/sa/038.xml" SECTIONS="2.6 [15]"
- OUTPUT="valid/sa/out/038.xml">
- Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-039"
- URI="valid/sa/039.xml" SECTIONS="2.6 [16]"
- OUTPUT="valid/sa/out/039.xml">
- Test demonstrates a valid processing instruction and that it may appear at the beginning of the document. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-040"
- URI="valid/sa/040.xml" SECTIONS="3.3 3.3.1 [52] [54]"
- OUTPUT="valid/sa/out/040.xml">
- Test demonstrates an Attribute List declaration that uses a StringType as the AttType. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-041"
- URI="valid/sa/041.xml" SECTIONS="3.3.1 4.1 [54] [66]"
- OUTPUT="valid/sa/out/041.xml">
- Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-042"
- URI="valid/sa/042.xml" SECTIONS="3.3.1 4.1 [54] [66]"
- OUTPUT="valid/sa/out/042.xml">
- Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-043"
- URI="valid/sa/043.xml" SECTIONS="3.3"
- OUTPUT="valid/sa/out/043.xml">
- An element's attributes may be declared before its content
- model; and attribute values may contain newlines. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-044"
- URI="valid/sa/044.xml" SECTIONS="3.1 [44]"
- OUTPUT="valid/sa/out/044.xml">
- Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-045"
- URI="valid/sa/045.xml" SECTIONS="3.3 [52]"
- OUTPUT="valid/sa/out/045.xml">
- Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-046"
- URI="valid/sa/046.xml" SECTIONS="3.3 [52]"
- OUTPUT="valid/sa/out/046.xml">
- Test demonstrates that when more than one AttlistDecl is provided for a given element type, the contents of all those provided are merged. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-047"
- URI="valid/sa/047.xml" SECTIONS="3.1 [43]"
- OUTPUT="valid/sa/out/047.xml">
- Test demonstrates that extra whitespace is normalized into single space character. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-048"
- URI="valid/sa/048.xml" SECTIONS="2.4 3.1 [14] [43]"
- OUTPUT="valid/sa/out/048.xml">
- Test demonstrates that character data is valid element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-049"
- URI="valid/sa/049.xml" SECTIONS="2.2 [2]"
- OUTPUT="valid/sa/out/049.xml">
- Test demonstrates that characters outside of normal ascii range can be used as element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-050"
- URI="valid/sa/050.xml" SECTIONS="2.2 [2]"
- OUTPUT="valid/sa/out/050.xml">
- Test demonstrates that characters outside of normal ascii range can be used as element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-051"
- URI="valid/sa/051.xml" SECTIONS="2.2 [2]"
- OUTPUT="valid/sa/out/051.xml">
- The document is encoded in UTF-16 and uses some name
- characters well outside of the normal ASCII range.
- </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-052"
- URI="valid/sa/052.xml" SECTIONS="2.2 [2]"
- OUTPUT="valid/sa/out/052.xml">
- The document is encoded in UTF-8 and the text inside the
- root element uses two non-ASCII characters, encoded in UTF-8
- and each of which expands to a Unicode surrogate pair.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-053"
- URI="valid/sa/053.xml" SECTIONS="4.4.2"
- OUTPUT="valid/sa/out/053.xml">
- Tests inclusion of a well-formed internal entity, which
- holds an element required by the content model.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-054"
- URI="valid/sa/054.xml" SECTIONS="3.1 [40] [42]"
- OUTPUT="valid/sa/out/054.xml">
- Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-055"
- URI="valid/sa/055.xml" SECTIONS="2.6 2.10 [16]"
- OUTPUT="valid/sa/out/055.xml">
- Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-056"
- URI="valid/sa/056.xml" SECTIONS="3.3.1 4.1 [54] [66]"
- OUTPUT="valid/sa/out/056.xml">
- Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-057"
- URI="valid/sa/057.xml" SECTIONS="3.2.1 [47]"
- OUTPUT="valid/sa/out/057.xml">
- Test demonstrates an element content model whose element can occur zero or more times. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-058"
- URI="valid/sa/058.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/058.xml">
- Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-059"
- URI="valid/sa/059.xml" SECTIONS="3.2 3.3 [46] [53]"
- OUTPUT="valid/sa/out/059.xml">
- Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY. The element cannot have any contents and must always appear as an empty element in the document. The test also shows an Attribute-list declaration with multiple AttDef's. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-060"
- URI="valid/sa/060.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/060.xml">
- Test demonstrates the use of decimal Character References within element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-061"
- URI="valid/sa/061.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/061.xml">
- Test demonstrates the use of decimal Character References within element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-062"
- URI="valid/sa/062.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/062.xml">
- Test demonstrates the use of hexadecimal Character References within element. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-063"
- URI="valid/sa/063.xml" SECTIONS="2.3 [5]"
- OUTPUT="valid/sa/out/063.xml">
- The document is encoded in UTF-8 and the name of the
- root element type uses non-ASCII characters. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-064"
- URI="valid/sa/064.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/064.xml">
- Tests in-line handling of two legal character references, which
- each expand to a Unicode surrogate pair.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-065"
- URI="valid/sa/065.xml" SECTIONS="4.5"
- OUTPUT="valid/sa/out/065.xml">
- Tests ability to define an internal entity which can't
- legally be expanded (contains an unquoted <B>&lt;</B>).</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-066"
- URI="valid/sa/066.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/066.xml">
- Expands a CDATA attribute with a character reference.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-067"
- URI="valid/sa/067.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/067.xml">
- Test demonstrates the use of decimal character references within element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-068"
- URI="valid/sa/068.xml" SECTIONS="2.11, 4.5"
- OUTPUT="valid/sa/out/068.xml">
- Tests definition of an internal entity holding a carriage return character
- reference, which must not be normalized before reporting to the application. Line
- break normalization only occurs when parsing external parsed entities.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-069"
- URI="valid/sa/069.xml" SECTIONS="4.7"
- OUTPUT="valid/sa/out/069.xml">
- Verifies that an XML parser will parse a NOTATION
- declaration; the output phase of this test ensures that
- it's reported to the application. </TEST>
-<TEST TYPE="valid" ENTITIES="parameter" ID="valid-sa-070"
- URI="valid/sa/070.xml" SECTIONS="4.4.8"
- OUTPUT="valid/sa/out/070.xml">
- Verifies that internal parameter entities are correctly
- expanded within the internal subset.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-071"
- URI="valid/sa/071.xml" SECTIONS="3.3 3.3.1 [52] [56]"
- OUTPUT="valid/sa/out/071.xml">
- Test demonstrates that an AttlistDecl can use ID as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-072"
- URI="valid/sa/072.xml" SECTIONS="3.3 3.3.1 [52] [56]"
- OUTPUT="valid/sa/out/072.xml">
- Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-073"
- URI="valid/sa/073.xml" SECTIONS="3.3 3.3.1 [52] [56]"
- OUTPUT="valid/sa/out/073.xml">
- Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-074"
- URI="valid/sa/074.xml" SECTIONS="3.3 3.3.1 [52] [56]"
- OUTPUT="valid/sa/out/074.xml">
- Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-075"
- URI="valid/sa/075.xml" SECTIONS="3.3 3.3.1 [52] [56]"
- OUTPUT="valid/sa/out/075.xml">
- Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-076"
- URI="valid/sa/076.xml" SECTIONS="3.3.1"
- OUTPUT="valid/sa/out/076.xml">
- Verifies that an XML parser will parse a NOTATION
- attribute; the output phase of this test ensures that
- both notations are reported to the application. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-077"
- URI="valid/sa/077.xml" SECTIONS="3.3 3.3.1 [52] [54]"
- OUTPUT="valid/sa/out/077.xml">
- Test demonstrates that an AttlistDecl can use an EnumeratedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-078"
- URI="valid/sa/078.xml" SECTIONS="3.3 3.3.1 [52] [54]"
- OUTPUT="valid/sa/out/078.xml">
- Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-079"
- URI="valid/sa/079.xml" SECTIONS="3.3 3.3.2 [52] [60]"
- OUTPUT="valid/sa/out/079.xml">
- Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value can be given to the attribute in the Start-tag as well as the AttListDecl. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-080"
- URI="valid/sa/080.xml" SECTIONS="3.3 3.3.2 [52] [60]"
- OUTPUT="valid/sa/out/080.xml">
- Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that an value can be given to the attribute. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-081"
- URI="valid/sa/081.xml" SECTIONS="3.2.1 [50]"
- OUTPUT="valid/sa/out/081.xml">
- Test demonstrates the use of the optional character following a name or list to govern the number of times an element or content particles in the list occur. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-082"
- URI="valid/sa/082.xml" SECTIONS="4.2 [72]"
- OUTPUT="valid/sa/out/082.xml">
- Tests that an external PE may be defined (but not referenced).</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-083"
- URI="valid/sa/083.xml" SECTIONS="4.2 [72]"
- OUTPUT="valid/sa/out/083.xml">
- Tests that an external PE may be defined (but not referenced).</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-084"
- URI="valid/sa/084.xml" SECTIONS="2.10"
- OUTPUT="valid/sa/out/084.xml">
- Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-085"
- URI="valid/sa/085.xml" SECTIONS="4"
- OUTPUT="valid/sa/out/085.xml">
- Parameter and General entities use different namespaces,
- so there can be an entity of each type with a given name.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-086"
- URI="valid/sa/086.xml" SECTIONS="4.2"
- OUTPUT="valid/sa/out/086.xml">
- Tests whether entities may be declared more than once,
- with the first declaration being the binding one. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-087"
- URI="valid/sa/087.xml" SECTIONS="4.5"
- OUTPUT="valid/sa/out/087.xml">
- Tests whether character references in internal entities are
- expanded early enough, by relying on correct handling to
- make the entity be well formed.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-088"
- URI="valid/sa/088.xml" SECTIONS="4.5"
- OUTPUT="valid/sa/out/088.xml">
- Tests whether entity references in internal entities are
- expanded late enough, by relying on correct handling to
- make the expanded text be valid. (If it's expanded too
- early, the entity will parse as an element that's not
- valid in that context.)</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-089"
- URI="valid/sa/089.xml" SECTIONS="4.1 [66]"
- OUTPUT="valid/sa/out/089.xml">
- Tests entity expansion of three legal character references,
- which each expand to a Unicode surrogate pair.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-090"
- URI="valid/sa/090.xml" SECTIONS="3.3.1"
- OUTPUT="valid/sa/out/090.xml">
- Verifies that an XML parser will parse a NOTATION
- attribute; the output phase of this test ensures that
- the notation is reported to the application. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-091"
- URI="valid/sa/091.xml" SECTIONS="3.3.1"
- OUTPUT="valid/sa/out/091.xml">
- Verifies that an XML parser will parse an ENTITY
- attribute; the output phase of this test ensures that
- the notation is reported to the application, and for
- validating parsers it further tests that the entity
- is so reported.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-092"
- URI="valid/sa/092.xml" SECTIONS="2.3 2.10"
- OUTPUT="valid/sa/out/092.xml">
- Test demostrates that extra whitespace is normalized into a single space character. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-093"
- URI="valid/sa/093.xml" SECTIONS="2.10"
- OUTPUT="valid/sa/out/093.xml">
- Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-094"
- OUTPUT="valid/sa/out/094.xml"
- URI="valid/sa/094.xml" SECTIONS="2.8">
- Attribute defaults with a DTD have special parsing rules, different
- from other strings. That means that characters found there may look
- like an undefined parameter entity reference "within a markup
- declaration", but they aren't ... so they can't be violating
- the <EM>PEs in Internal Subset</EM> WFC.
- </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-095"
- URI="valid/sa/095.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/095.xml">
- Basically an output test, this requires extra whitespace
- to be normalized into a single space character in an
- attribute of type NMTOKENS.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-096"
- URI="valid/sa/096.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/096.xml">
- Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS. </TEST>
-<TEST TYPE="valid" ENTITIES="parameter" ID="valid-sa-097"
- URI="valid/sa/097.xml" SECTIONS="3.3"
- OUTPUT="valid/sa/out/097.xml">
- Basically an output test, this tests whether an externally
- defined attribute declaration (with a default) takes proper
- precedence over a subsequent internal declaration.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-098"
- URI="valid/sa/098.xml" SECTIONS="2.6 2.10 [16]"
- OUTPUT="valid/sa/out/098.xml">
- Test demonstrates that extra whitespace within a processing instruction is converted into a single space character.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-099"
- URI="valid/sa/099.xml" SECTIONS="4.3.3 [81]"
- OUTPUT="valid/sa/out/099.xml">
- Test demonstrates the name of the encoding can be composed of lowercase characters. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-100"
- URI="valid/sa/100.xml" SECTIONS="2.3 [12]"
- OUTPUT="valid/sa/out/100.xml">
- Makes sure that PUBLIC identifiers may have some strange
- characters. <EM>NOTE: The XML editors have said that the XML
- specification errata will specify that parameter entity expansion
- does not occur in PUBLIC identifiers, so that the '%' character
- will not flag a malformed parameter entity reference.</EM></TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-101"
- URI="valid/sa/101.xml" SECTIONS="4.5"
- OUTPUT="valid/sa/out/101.xml">
- This tests whether entity expansion is (incorrectly) done
- while processing entity declarations; if it is, the entity
- value literal will terminate prematurely.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-102"
- URI="valid/sa/102.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/102.xml">
- Test demonstrates that a CDATA attribute can pass a double quote as its value. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-103"
- URI="valid/sa/103.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/103.xml">
- Test demonstrates that an attribute can pass a less than sign as its value. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-104"
- URI="valid/sa/104.xml" SECTIONS="3.1 [40]"
- OUTPUT="valid/sa/out/104.xml">
- Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-105"
- URI="valid/sa/105.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/105.xml">
- Basically an output test, this requires a CDATA attribute
- with a tab character to be passed through as one space.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-106"
- URI="valid/sa/106.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/106.xml">
- Basically an output test, this requires a CDATA attribute
- with a newline character to be passed through as one space.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-107"
- URI="valid/sa/107.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/107.xml">
- Basically an output test, this requires a CDATA attribute
- with a return character to be passed through as one space.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-108"
- URI="valid/sa/108.xml" SECTIONS="2.11, 3.3.3"
- OUTPUT="valid/sa/out/108.xml">
- This tests normalization of end-of-line characters (CRLF)
- within entities to LF, primarily as an output test. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-109"
- URI="valid/sa/109.xml" SECTIONS="2.3 3.1 [10][40][41]"
- OUTPUT="valid/sa/out/109.xml">
- Test demonstrates that an attribute can have a null value. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-110"
- URI="valid/sa/110.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/110.xml">
- Basically an output test, this requires that a CDATA
- attribute with a CRLF be normalized to one space.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-111"
- URI="valid/sa/111.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/111.xml">
- Character references expanding to spaces doesn't affect
- treatment of attributes. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-112"
- URI="valid/sa/112.xml" SECTIONS="3.2.1 [48][49]"
- OUTPUT="valid/sa/out/112.xml">
- Test demonstrates shows the use of content particles within the element content. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-113"
- URI="valid/sa/113.xml" SECTIONS="3.3 [52][53]"
- OUTPUT="valid/sa/out/113.xml">
- Test demonstrates that it is not an error to have attributes declared for an element not itself declared.</TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-114"
- URI="valid/sa/114.xml" SECTIONS="2.7 [20]"
- OUTPUT="valid/sa/out/114.xml">
- Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-115"
- URI="valid/sa/115.xml" SECTIONS="3.3.3"
- OUTPUT="valid/sa/out/115.xml">
- Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-116"
- URI="valid/sa/116.xml" SECTIONS="2.11"
- OUTPUT="valid/sa/out/116.xml">
- Test demonstrates that a line break within CDATA will be normalized. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-117"
- URI="valid/sa/117.xml" SECTIONS="4.5"
- OUTPUT="valid/sa/out/117.xml">
- Test demonstrates that entity expansion is done while processing entity declarations. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-118"
- URI="valid/sa/118.xml" SECTIONS="4.5"
- OUTPUT="valid/sa/out/118.xml">
- Test demonstrates that entity expansion is done while processing entity declarations. </TEST>
-<TEST TYPE="valid" ENTITIES="none" ID="valid-sa-119"
- URI="valid/sa/119.xml" SECTIONS="2.5"
- OUTPUT="valid/sa/out/119.xml">
- Comments may contain any legal XML characters;
- only the string "--" is disallowed.</TEST>
-
-
-<!-- Start: valid/not-sa -->
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-001"
- URI="valid/not-sa/001.xml" SECTIONS="4.2.2 [75]"
- OUTPUT="valid/not-sa/out/001.xml">
- Test demonstrates the use of an ExternalID within a document type definition. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-002"
- URI="valid/not-sa/002.xml" SECTIONS="4.2.2 [75]"
- OUTPUT="valid/not-sa/out/002.xml">
- Test demonstrates the use of an ExternalID within a document type definition. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-003"
- URI="valid/not-sa/003.xml" SECTIONS="4.1 [69]"
- OUTPUT="valid/not-sa/out/003.xml">
- Test demonstrates the expansion of an external parameter entity that declares an attribute. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-004"
- URI="valid/not-sa/004.xml" SECTIONS="4.1 [69]"
- OUTPUT="valid/not-sa/out/004.xml">
- Expands an external parameter entity in two different ways,
- with one of them declaring an attribute.</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-005"
- URI="valid/not-sa/005.xml" SECTIONS="4.1 [69]"
- OUTPUT="valid/not-sa/out/005.xml">
- Test demonstrates the expansion of an external parameter entity that declares an attribute. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-006"
- URI="valid/not-sa/006.xml" SECTIONS="3.3 [52]"
- OUTPUT="valid/not-sa/out/006.xml">
- Test demonstrates that when more than one definition is provided for the same attribute of a given element type only the first declaration is binding. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-007"
- URI="valid/not-sa/007.xml" SECTIONS="3.3 [52]"
- OUTPUT="valid/not-sa/out/007.xml">
- Test demonstrates the use of an Attribute list declaration within an external entity. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-008"
- URI="valid/not-sa/008.xml" SECTIONS="4.2.2 [75]"
- OUTPUT="valid/not-sa/out/008.xml">
- Test demonstrates that an external identifier may include a public identifier. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-009"
- URI="valid/not-sa/009.xml" SECTIONS="4.2.2 [75]"
- OUTPUT="valid/not-sa/out/009.xml">
- Test demonstrates that an external identifier may include a public identifier. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-010"
- URI="valid/not-sa/010.xml" SECTIONS="3.3 [52]"
- OUTPUT="valid/not-sa/out/010.xml">
- Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-011"
- URI="valid/not-sa/011.xml" SECTIONS="4.2 4.2.1 [72] [75]"
- OUTPUT="valid/not-sa/out/011.xml">
- Test demonstrates a parameter entity declaration whose parameter entity definition is an ExternalID. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-012"
- URI="valid/not-sa/012.xml" SECTIONS="4.3.1 [77]"
- OUTPUT="valid/not-sa/out/012.xml">
- Test demonstrates an enternal parsed entity that begins with a text declaration. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-013"
- URI="valid/not-sa/013.xml" SECTIONS="3.4 [62]"
- OUTPUT="valid/not-sa/out/013.xml">
- Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-014"
- URI="valid/not-sa/014.xml" SECTIONS="3.4 [62]"
- OUTPUT="valid/not-sa/out/014.xml">
- Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-015"
- URI="valid/not-sa/015.xml" SECTIONS="3.4 [63]"
- OUTPUT="valid/not-sa/out/015.xml">
- Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being part of the DTD. The keyword is a parameter-entity reference. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-016"
- URI="valid/not-sa/016.xml" SECTIONS="3.4 [62]"
- OUTPUT="valid/not-sa/out/016.xml">
- Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference.</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-017"
- URI="valid/not-sa/017.xml" SECTIONS="4.2 [72]"
- OUTPUT="valid/not-sa/out/017.xml">
- Test demonstrates a parameter entity declaration that contains an attribute list declaration. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-018"
- URI="valid/not-sa/018.xml" SECTIONS="4.2.2 [75]"
- OUTPUT="valid/not-sa/out/018.xml">
- Test demonstrates an EnternalID whose contents contain an parameter entity declaration and a attribute list definition. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-019"
- URI="valid/not-sa/019.xml" SECTIONS="4.4.8"
- OUTPUT="valid/not-sa/out/019.xml">
- Test demonstrates that a parameter entity will be expanded with spaces on either side. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-020"
- URI="valid/not-sa/020.xml" SECTIONS="4.4.8"
- OUTPUT="valid/not-sa/out/020.xml">
- Parameter entities expand with spaces on either side.</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-021"
- URI="valid/not-sa/021.xml" SECTIONS="4.2 [72]"
- OUTPUT="valid/not-sa/out/021.xml">
- Test demonstrates a parameter entity declaration that contains a partial attribute list declaration. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-023"
- URI="valid/not-sa/023.xml" SECTIONS="2.3 4.1 [10] [69]"
- OUTPUT="valid/not-sa/out/023.xml">
- Test demonstrates the use of a parameter entity reference within an attribute list declaration.
-</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-024"
- URI="valid/not-sa/024.xml" SECTIONS="2.8, 4.1 [69]"
- OUTPUT="valid/not-sa/out/024.xml">
- Constructs an &lt;!ATTLIST...&gt; declaration from several PEs.</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-025"
- URI="valid/not-sa/025.xml" SECTIONS="4.2"
- OUTPUT="valid/not-sa/out/025.xml">
- Test demonstrates that when more that one definition is provided for the same entity only the first declaration is binding. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-026"
- URI="valid/not-sa/026.xml" SECTIONS="3.3 [52]"
- OUTPUT="valid/not-sa/out/026.xml">
- Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-027"
- URI="valid/not-sa/027.xml" SECTIONS="4.1 [69]"
- OUTPUT="valid/not-sa/out/027.xml">
- Test demonstrates a parameter entity reference whose value is NULL. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-028"
- URI="valid/not-sa/028.xml" SECTIONS="3.4 [62]"
- OUTPUT="valid/not-sa/out/028.xml">
- Test demonstrates the use of the conditional section INCLUDE that will include its contents. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-029"
- URI="valid/not-sa/029.xml" SECTIONS="3.4 [62]"
- OUTPUT="valid/not-sa/out/029.xml">
- Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-030"
- URI="valid/not-sa/030.xml" SECTIONS="3.4 [62]"
- OUTPUT="valid/not-sa/out/030.xml">
- Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-not-sa-031"
- URI="valid/not-sa/031.xml" SECTIONS="2.7"
- OUTPUT="valid/not-sa/out/031.xml">
- Expands a general entity which contains a CDATA section with
- what looks like a markup declaration (but is just text since
- it's in a CDATA section).</TEST>
-
-
-<!-- Start: valid/ext-sa -->
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-001"
- URI="valid/ext-sa/001.xml" SECTIONS="2.11"
- OUTPUT="valid/ext-sa/out/001.xml">
- A combination of carriage return line feed in an external entity must
- be normalized to a single newline. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-002"
- URI="valid/ext-sa/002.xml" SECTIONS="2.11"
- OUTPUT="valid/ext-sa/out/002.xml">
- A carriage return (also CRLF) in an external entity must
- be normalized to a single newline. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-003"
- URI="valid/ext-sa/003.xml" SECTIONS="3.1 4.1 [43] [68]"
- OUTPUT="valid/ext-sa/out/003.xml">
- Test demonstrates that the content of an element can be empty. In this case the external entity is an empty file. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-004"
- URI="valid/ext-sa/004.xml" SECTIONS="2.11"
- OUTPUT="valid/ext-sa/out/004.xml">
- A carriage return (also CRLF) in an external entity must
- be normalized to a single newline. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-005"
- URI="valid/ext-sa/005.xml" SECTIONS="3.2.1 4.2.2 [48] [75]"
- OUTPUT="valid/ext-sa/out/005.xml">
- Test demonstrates the use of optional character and content particles within an element content. The test also show the use of external entity. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-006"
- URI="valid/ext-sa/006.xml" SECTIONS="2.11 3.2.1 3.2.2 4.2.2 [48] [51] [75]"
- OUTPUT="valid/ext-sa/out/006.xml">
- Test demonstrates the use of optional character and content particles within mixed element content. The test also shows the use of an external entity and that a carriage control line feed in an external entity must be normalized to a single newline. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-007"
- URI="valid/ext-sa/007.xml" SECTIONS="4.2.2 4.4.3 [75]"
- OUTPUT="valid/ext-sa/out/007.xml">
- Test demonstrates the use of external entity and how replacement
-text is retrieved and processed. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-008"
- URI="valid/ext-sa/008.xml" SECTIONS="4.2.2 4.3.3. 4.4.3 [75] [80]"
- OUTPUT="valid/ext-sa/out/008.xml"> Test demonstrates the use of external
-entity and how replacement text is retrieved and processed. Also tests the use of an
-EncodingDecl of UTF-16.</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-009"
- URI="valid/ext-sa/009.xml" SECTIONS="2.11"
- OUTPUT="valid/ext-sa/out/009.xml">
- A carriage return (also CRLF) in an external entity must
- be normalized to a single newline. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-011"
- URI="valid/ext-sa/011.xml" SECTIONS="2.11 4.2.2 [75]"
- OUTPUT="valid/ext-sa/out/011.xml">
- Test demonstrates the use of a public identifier with and external entity.
-The test also show that a carriage control line feed combination in an external
-entity must be normalized to a single newline. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-012"
- URI="valid/ext-sa/012.xml" SECTIONS="4.2.1 4.2.2"
- OUTPUT="valid/ext-sa/out/012.xml">
- Test demonstrates both internal and external entities and that processing of entity references may be required to produce the correct replacement text.</TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-013"
- URI="valid/ext-sa/013.xml" SECTIONS="3.3.3"
- OUTPUT="valid/ext-sa/out/013.xml">
- Test demonstrates that whitespace is handled by adding a single whitespace to the normalized value in the attribute list. </TEST>
-<TEST TYPE="valid" ENTITIES="both" ID="valid-ext-sa-014"
- URI="valid/ext-sa/014.xml" SECTIONS="4.1 4.4.3 [68]"
- OUTPUT="valid/ext-sa/out/014.xml">
- Test demonstrates use of characters outside of normal ASCII range.</TEST>
-</TESTCASES>
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/069.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/069.xml
index 41eed46727..41eed46727 100644
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/069.xml
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/069.xml
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/076.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/076.xml
index b07019e90f..b07019e90f 100644
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/076.xml
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/076.xml
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/090.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/090.xml
index 41eed46727..41eed46727 100644
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/090.xml
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/090.xml
diff --git a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/091.xml b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/091.xml
index c55a698bbb..c55a698bbb 100644
--- a/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest/valid/sa/out/091.xml
+++ b/tests/auto/corelib/serialization/qxmlstream/XML-Test-Suite/xmlconf/xmltest_updates/091.xml
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/019.ref b/tests/auto/corelib/serialization/qxmlstream/data/019.ref
index 314efb2b04..9ae28f42e5 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/019.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/019.ref
@@ -3,5 +3,5 @@ Comment( text=" Simple legal case: prefixed element " )
StartElement( name="foo" namespaceUri="http://example.org/namespace" qualifiedName="a:foo" prefix="a"
NamespaceDeclaration( prefix="a" namespaceUri="http://example.org/namespace" )
)
-EndElement( name="foo" namespaceUri="http://example.org/namespace" qualifiedName="a:foo" )
+EndElement( name="foo" namespaceUri="http://example.org/namespace" qualifiedName="a:foo" prefix="a" )
EndDocument( )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/024.ref b/tests/auto/corelib/serialization/qxmlstream/data/024.ref
index 83c3ac5315..43cf2b1faf 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/024.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/024.ref
@@ -8,8 +8,8 @@ Characters( whitespace text="
StartElement( name="foo" namespaceUri="http://example.org/other-namespace" qualifiedName="a:foo" prefix="a"
NamespaceDeclaration( prefix="a" namespaceUri="http://example.org/other-namespace" )
)
-EndElement( name="foo" namespaceUri="http://example.org/other-namespace" qualifiedName="a:foo" )
+EndElement( name="foo" namespaceUri="http://example.org/other-namespace" qualifiedName="a:foo" prefix="a" )
Characters( whitespace text="
" )
-EndElement( name="foo" namespaceUri="http://example.org/namespace" qualifiedName="a:foo" )
+EndElement( name="foo" namespaceUri="http://example.org/namespace" qualifiedName="a:foo" prefix="a" )
EndDocument( )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/039.ref b/tests/auto/corelib/serialization/qxmlstream/data/039.ref
index 63ee6b4def..f7413e5436 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/039.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/039.ref
@@ -16,7 +16,7 @@ StartElement( name="bar" namespaceUri="http://example.org/~kipper" qualifiedName
Attribute( name="attr" qualifiedName="attr" value="2" )
)
-EndElement( name="bar" namespaceUri="http://example.org/~kipper" qualifiedName="b:bar" )
+EndElement( name="bar" namespaceUri="http://example.org/~kipper" qualifiedName="b:bar" prefix="b" )
Characters( whitespace text="
" )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/041.ref b/tests/auto/corelib/serialization/qxmlstream/data/041.ref
index 3e7ca64208..50328feb4a 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/041.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/041.ref
@@ -12,7 +12,7 @@ StartElement( name="bar" namespaceUri="http://example.org/~wilbur" qualifiedName
Attribute( name="attr" qualifiedName="attr" value="2" )
)
-EndElement( name="bar" namespaceUri="http://example.org/~wilbur" qualifiedName="a:bar" )
+EndElement( name="bar" namespaceUri="http://example.org/~wilbur" qualifiedName="a:bar" prefix="a" )
Characters( whitespace text="
" )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/1.ref b/tests/auto/corelib/serialization/qxmlstream/data/1.ref
index 0288cf0e11..41a9febd8e 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/1.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/1.ref
@@ -4,5 +4,5 @@ StartElement( name="doc" namespaceUri="namespaceUri" qualifiedName="ns:doc" pref
NamespaceDeclaration( prefix="ns" namespaceUri="namespaceUri" )
)
-EndElement( name="doc" namespaceUri="namespaceUri" qualifiedName="ns:doc" )
+EndElement( name="doc" namespaceUri="namespaceUri" qualifiedName="ns:doc" prefix="ns" )
EndDocument( )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/2.ref b/tests/auto/corelib/serialization/qxmlstream/data/2.ref
index 95d68efbd6..2fad9844ce 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/2.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/2.ref
@@ -5,5 +5,5 @@ StartElement( name="doc" namespaceUri="namespaceUri" qualifiedName="ns:doc" pref
NamespaceDeclaration( prefix="ns" namespaceUri="namespaceUri" )
)
Characters( text="The world goes round and round" )
-EndElement( name="doc" namespaceUri="namespaceUri" qualifiedName="ns:doc" )
+EndElement( name="doc" namespaceUri="namespaceUri" qualifiedName="ns:doc" prefix="ns" )
EndDocument( )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/21.ref b/tests/auto/corelib/serialization/qxmlstream/data/21.ref
index 1098c6800f..d0e4982eec 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/21.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/21.ref
@@ -33,10 +33,10 @@ Characters( whitespace text="
" )
StartElement( name="title" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:title" prefix="html" )
Characters( text="test file" )
-EndElement( name="title" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:title" )
+EndElement( name="title" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:title" prefix="html" )
Characters( whitespace text="
" )
-EndElement( name="head" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:head" )
+EndElement( name="head" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:head" prefix="html" )
Characters( whitespace text="
" )
StartElement( name="body" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:body" prefix="html" )
@@ -46,11 +46,11 @@ StartElement( name="p" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName
Attribute( name="class" qualifiedName="class" value="visible:false" )
)
Characters( text="bar" )
-EndElement( name="p" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:p" )
+EndElement( name="p" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:p" prefix="html" )
Characters( whitespace text="
" )
-EndElement( name="body" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:body" )
+EndElement( name="body" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:body" prefix="html" )
Characters( whitespace text="
" )
-EndElement( name="html" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:html" )
+EndElement( name="html" namespaceUri="http://www.w3.org/1999/xhtml" qualifiedName="html:html" prefix="html" )
EndDocument( )
diff --git a/tests/auto/corelib/serialization/qxmlstream/data/namespaceCDATA.ref b/tests/auto/corelib/serialization/qxmlstream/data/namespaceCDATA.ref
index 132875f4bb..84538b0230 100644
--- a/tests/auto/corelib/serialization/qxmlstream/data/namespaceCDATA.ref
+++ b/tests/auto/corelib/serialization/qxmlstream/data/namespaceCDATA.ref
@@ -15,7 +15,7 @@ Characters( whitespace text="
StartElement( name="bar" namespaceUri="http://qt-project.org" qualifiedName="pre:bar" prefix="pre"
NamespaceDeclaration( prefix="pre" namespaceUri="http://qt-project.org" )
)
-EndElement( name="bar" namespaceUri="http://qt-project.org" qualifiedName="pre:bar" )
+EndElement( name="bar" namespaceUri="http://qt-project.org" qualifiedName="pre:bar" prefix="pre" )
Characters( whitespace text="
" )
EndElement( name="body" qualifiedName="body" )
diff --git a/tests/auto/corelib/serialization/qxmlstream/qxmlstream.pro b/tests/auto/corelib/serialization/qxmlstream/qxmlstream.pro
index 0a739f0a0e..f8043367d1 100644
--- a/tests/auto/corelib/serialization/qxmlstream/qxmlstream.pro
+++ b/tests/auto/corelib/serialization/qxmlstream/qxmlstream.pro
@@ -1,6 +1,6 @@
CONFIG += testcase
TARGET = tst_qxmlstream
-QT = core xml network testlib
+QT = core xml network gui-private testlib
SOURCES = tst_qxmlstream.cpp
TESTDATA += data XML-Test-Suite
diff --git a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
index 28922574b8..a2349a5846 100644
--- a/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
+++ b/tests/auto/corelib/serialization/qxmlstream/tst_qxmlstream.cpp
@@ -36,6 +36,9 @@
#include <QUrl>
#include <QXmlDefaultHandler>
#include <QXmlStreamReader>
+#include <QBuffer>
+#include <QStack>
+#include <QtGui/private/qzipreader_p.h>
#include "qc14n.h"
@@ -44,6 +47,10 @@ Q_DECLARE_METATYPE(QXmlStreamReader::ReadElementTextBehaviour)
static const char *const catalogFile = "XML-Test-Suite/xmlconf/finalCatalog.xml";
static const int expectedRunCount = 1646;
static const int expectedSkipCount = 532;
+static const char *const xmlconfDir = "XML-Test-Suite/xmlconf/";
+static const char *const xmlDatasetName = "xmltest";
+static const char *const updateFilesDir = "xmltest_updates";
+static const char *const destinationFolder = "/valid/sa/out/";
static inline int best(int a, int b)
{
@@ -591,6 +598,27 @@ private:
void tst_QXmlStream::initTestCase()
{
+#ifdef Q_OS_WINRT
+ QSKIP("Skipping the tests because we cannot unzip the data archive from WinRT app");
+#endif
+ // Due to license restrictions, we need to distribute part of the test
+ // suit as a zip archive. So we need to unzip it before running the tests,
+ // and also update some files there.
+ // We also need to remove the unzipped data during cleanup.
+ const QString filesDir(QFINDTESTDATA(xmlconfDir));
+ QZipReader reader(filesDir + xmlDatasetName + ".zip");
+ QVERIFY(reader.isReadable());
+ QVERIFY(reader.extractAll(filesDir));
+ // update files
+ const auto files =
+ QDir(filesDir + updateFilesDir).entryInfoList(QDir::Files | QDir::NoDotAndDotDot);
+ for (const auto &fileInfo : files) {
+ const QString destinationPath =
+ filesDir + xmlDatasetName + destinationFolder + fileInfo.fileName();
+ QFile::remove(destinationPath); // copy will fail if file exists
+ QVERIFY(QFile::copy(fileInfo.filePath(), destinationPath));
+ }
+
QFile file(QFINDTESTDATA(catalogFile));
QVERIFY2(file.open(QIODevice::ReadOnly),
qPrintable(QString::fromLatin1("Failed to open the test suite catalog; %1").arg(file.fileName())));
@@ -600,6 +628,8 @@ void tst_QXmlStream::initTestCase()
void tst_QXmlStream::cleanupTestCase()
{
+ QDir d(QFINDTESTDATA(xmlconfDir) + xmlDatasetName);
+ d.removeRecursively();
QFile::remove(QLatin1String("test.xml"));
}
@@ -1718,10 +1748,11 @@ static bool isValidSingleTextChar(const ushort c)
void tst_QXmlStream::readBack() const
{
+ QBuffer buffer;
+
for (ushort c = 0; c < std::numeric_limits<ushort>::max(); ++c) {
- QBuffer buffer;
- QVERIFY(buffer.open(QIODevice::WriteOnly));
+ QVERIFY(buffer.open(QIODevice::WriteOnly|QIODevice::Truncate));
QXmlStreamWriter writer(&buffer);
writer.writeStartDocument();
writer.writeTextElement("a", QString(QChar(c)));
diff --git a/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
index 48dd7a241e..d8aa17d9ef 100644
--- a/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/text/qbytearray/tst_qbytearray.cpp
@@ -45,8 +45,8 @@ private slots:
void swap();
void qChecksum_data();
void qChecksum();
- void qCompress_data();
#ifndef QT_NO_COMPRESS
+ void qCompress_data();
void qCompress();
void qUncompressCorruptedData_data();
void qUncompressCorruptedData();
@@ -273,6 +273,7 @@ void tst_QByteArray::qChecksum()
QCOMPARE(::qChecksum(data.constData(), len, standard), static_cast<quint16>(checksum));
}
+#ifndef QT_NO_COMPRESS
void tst_QByteArray::qCompress_data()
{
QTest::addColumn<QByteArray>("ba");
@@ -299,7 +300,6 @@ void tst_QByteArray::qCompress_data()
QTest::newRow( "04" ) << file.readAll();
}
-#ifndef QT_NO_COMPRESS
void tst_QByteArray::qCompress()
{
QFETCH( QByteArray, ba );
@@ -914,7 +914,10 @@ void tst_QByteArray::qstrncpy()
// src == nullptr
QCOMPARE(::qstrncpy(dst.data(), 0, 0), (char*)0);
+ QCOMPARE(*dst.data(), 'b'); // must not have written to dst
QCOMPARE(::qstrncpy(dst.data(), 0, 10), (char*)0);
+ QCOMPARE(*dst.data(), '\0'); // must have written to dst
+ *dst.data() = 'b'; // restore
// valid pointers, but len == 0
QCOMPARE(::qstrncpy(dst.data(), src.data(), 0), dst.data());
diff --git a/tests/auto/corelib/text/qchar/tst_qchar.cpp b/tests/auto/corelib/text/qchar/tst_qchar.cpp
index cf4f6d21e2..1f6f36e972 100644
--- a/tests/auto/corelib/text/qchar/tst_qchar.cpp
+++ b/tests/auto/corelib/text/qchar/tst_qchar.cpp
@@ -980,6 +980,25 @@ void tst_QChar::normalization_manual()
QVERIFY(decomposed.normalized(QString::NormalizationForm_KD) == decomposed);
QVERIFY(decomposed.normalized(QString::NormalizationForm_KC) == composed);
}
+ // QTBUG-71894 - erratum fixed in Unicode 4.1.0; SCount bounds are < not <=
+ {
+ // Hangul compose, test 0x11a7:
+ const QChar c[] = { QChar(0xae30), QChar(0x11a7), {} };
+ const QChar d[] = { QChar(0x1100), QChar(0x1175), QChar(0x11a7), {} };
+ const QString composed(c, 2);
+ const QString decomposed(d, 3);
+
+ QCOMPARE(decomposed.normalized(QString::NormalizationForm_C), composed);
+ }
+ {
+ // Hangul compose, test 0x11c3:
+ const QChar c[] = { QChar(0xae30), QChar(0x11c3), {} };
+ const QChar d[] = { QChar(0x1100), QChar(0x1175), QChar(0x11c3), {} };
+ const QString composed(c, 2);
+ const QString decomposed(d, 3);
+
+ QCOMPARE(decomposed.normalized(QString::NormalizationForm_C), composed);
+ }
}
void tst_QChar::normalizationCorrections()
diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
index f924bd1560..6bd9e5c25a 100644
--- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -1778,7 +1778,8 @@ void tst_QLocale::toDateTime_data()
QTest::addColumn<QDateTime>("result");
QTest::addColumn<QString>("format");
QTest::addColumn<QString>("string");
- QTest::addColumn<bool>("clean"); // No non-format letters in format string
+ // No non-format letters in format string, no time-zone (t format):
+ QTest::addColumn<bool>("clean");
QTest::newRow("1C") << "C" << QDateTime(QDate(1974, 12, 1), QTime(5, 14, 0))
<< "d/M/yyyy hh:h:mm" << "1/12/1974 05:5:14" << true;
@@ -1832,6 +1833,21 @@ void tst_QLocale::toDateTime_data()
QTest::newRow("12no_NO") << "no_NO" << QDateTime(QDate(1974, 12, 1), QTime(15, 0, 0))
<< "d'd'dd/M/yyh" << "1d01/12/7415" << false;
+ QTest::newRow("short-ss") // QTBUG-102199: trips over an assert in CET
+ << "C" << QDateTime() // Single-digit seconds does not match ss format.
+ << QStringLiteral("ddd, d MMM yyyy HH:mm:ss")
+ << QStringLiteral("Sun, 29 Mar 2020 02:26:3") << true;
+
+ QTest::newRow("short-ss-Z") // Same, but with a valid date-time:
+ << "C" << QDateTime()
+ << QStringLiteral("ddd, d MMM yyyy HH:mm:ss t")
+ << QStringLiteral("Sun, 29 Mar 2020 02:26:3 Z") << false;
+
+ QTest::newRow("s-Z") // Same, but with a format that accepts the single digit:
+ << "C" << QDateTime(QDate(2020, 3, 29), QTime(2, 26, 3), Qt::UTC)
+ << QStringLiteral("ddd, d MMM yyyy HH:mm:s t")
+ << QStringLiteral("Sun, 29 Mar 2020 02:26:3 Z") << false;
+
QTest::newRow("RFC-1123")
<< "C" << QDateTime(QDate(2007, 11, 1), QTime(18, 8, 30))
<< "ddd, dd MMM yyyy hh:mm:ss 'GMT'" << "Thu, 01 Nov 2007 18:08:30 GMT" << false;
@@ -2092,8 +2108,7 @@ void tst_QLocale::windowsDefaultLocale()
QCOMPARE(locale.toString(QDate(1974, 12, 1), QLocale::NarrowFormat),
locale.toString(QDate(1974, 12, 1), QLocale::ShortFormat));
QCOMPARE(locale.toString(QDate(1974, 12, 1), QLocale::LongFormat), QString("1@12@1974"));
- const QString expectedFormattedShortTimeSeconds = QStringLiteral("1^2^3");
- const QString expectedFormattedShortTime = QStringLiteral("1^2");
+ const QString expectedFormattedShortTime = QStringLiteral("1^2^3");
QCOMPARE(locale.toString(QTime(1,2,3), QLocale::ShortFormat), expectedFormattedShortTime);
QCOMPARE(locale.toString(QTime(1,2,3), QLocale::NarrowFormat),
locale.toString(QTime(1,2,3), QLocale::ShortFormat));
@@ -2477,6 +2492,10 @@ void tst_QLocale::dateFormat()
const QLocale ir("ga_IE");
QCOMPARE(ir.dateFormat(QLocale::ShortFormat), QLatin1String("dd/MM/yyyy"));
+
+ const auto sys = QLocale::system(); // QTBUG-92018, ru_RU on MS
+ const QDate date(2021, 3, 17);
+ QCOMPARE(sys.toString(date, sys.dateFormat(QLocale::LongFormat)), sys.toString(date));
}
void tst_QLocale::timeFormat()
@@ -2535,18 +2554,21 @@ void tst_QLocale::monthName()
// 'de' locale doesn't have narrow month name
QCOMPARE(de.monthName(12, QLocale::NarrowFormat), QLatin1String("D"));
- QLocale ru("ru_RU");
+ const QLocale ru("ru_RU");
QCOMPARE(ru.monthName(1, QLocale::LongFormat),
QString::fromUtf8("\321\217\320\275\320\262\320\260\321\200\321\217"));
QCOMPARE(ru.monthName(1, QLocale::ShortFormat),
QString::fromUtf8("\321\217\320\275\320\262\56"));
QCOMPARE(ru.monthName(1, QLocale::NarrowFormat), QString::fromUtf8("\320\257"));
+ const auto sys = QLocale::system();
+ if (sys.language() == QLocale::Russian) // QTBUG-92018
+ QVERIFY(sys.monthName(3) != sys.standaloneMonthName(3));
- QLocale ir("ga_IE");
+ const QLocale ir("ga_IE");
QCOMPARE(ir.monthName(1, QLocale::ShortFormat), QLatin1String("Ean"));
QCOMPARE(ir.monthName(12, QLocale::ShortFormat), QLatin1String("Noll"));
- QLocale cz("cs_CZ");
+ const QLocale cz("cs_CZ");
QCOMPARE(cz.monthName(1, QLocale::ShortFormat), QLatin1String("led"));
QCOMPARE(cz.monthName(12, QLocale::ShortFormat), QLatin1String("pro"));
}
@@ -2983,12 +3005,17 @@ void tst_QLocale::bcp47Name()
class MySystemLocale : public QSystemLocale
{
public:
- MySystemLocale(const QLocale &locale) : m_locale(locale)
+ MySystemLocale(const QString &locale) : m_name(locale), m_locale(locale)
{
}
- QVariant query(QueryType /*type*/, QVariant /*in*/) const override
+ QVariant query(QueryType type, QVariant /*in*/) const override
{
+ if (type == UILanguages) {
+ if (m_name == u"en-DE") // QTBUG-104930: simulate macOS's list not including m_name.
+ return QVariant(QStringList{QStringLiteral("en-GB"), QStringLiteral("de-DE")});
+ return QVariant(QStringList{m_name});
+ }
return QVariant();
}
@@ -2998,16 +3025,38 @@ public:
}
private:
+ const QString m_name;
const QLocale m_locale;
};
void tst_QLocale::systemLocale_data()
{
+ // Test uses MySystemLocale, so is platform-independent.
QTest::addColumn<QString>("name");
QTest::addColumn<QLocale::Language>("language");
- QTest::addRow("catalan") << QString("ca") << QLocale::Catalan;
- QTest::addRow("ukrainian") << QString("uk") << QLocale::Ukrainian;
- QTest::addRow("german") << QString("de") << QLocale::German;
+ QTest::addColumn<QStringList>("uiLanguages");
+
+ QTest::addRow("catalan")
+ << QString("ca") << QLocale::Catalan
+ << QStringList{QStringLiteral("ca"), QStringLiteral("ca-ES"), QStringLiteral("ca-Latn-ES")};
+ QTest::addRow("ukrainian")
+ << QString("uk") << QLocale::Ukrainian
+ << QStringList{QStringLiteral("uk"), QStringLiteral("uk-UA"), QStringLiteral("uk-Cyrl-UA")};
+ QTest::addRow("english-germany")
+ << QString("en-DE") << QLocale::English
+ // First two were missed out before fix to QTBUG-104930:
+ << QStringList{QStringLiteral("en-DE"), QStringLiteral("en-Latn-DE"),
+ QStringLiteral("en-GB"), QStringLiteral("en-Latn-GB"),
+ QStringLiteral("de-DE"), QStringLiteral("de"), QStringLiteral("de-Latn-DE")};
+ QTest::addRow("german")
+ << QString("de") << QLocale::German
+ << QStringList{QStringLiteral("de"), QStringLiteral("de-DE"), QStringLiteral("de-Latn-DE")};
+ QTest::addRow("chinese-min")
+ << QString("zh") << QLocale::Chinese
+ << QStringList{QStringLiteral("zh"), QStringLiteral("zh-CN"), QStringLiteral("zh-Hans-CN")};
+ QTest::addRow("chinese-full")
+ << QString("zh-Hans-CN") << QLocale::Chinese
+ << QStringList{QStringLiteral("zh-Hans-CN"), QStringLiteral("zh"), QStringLiteral("zh-CN")};
}
void tst_QLocale::systemLocale()
@@ -3017,11 +3066,17 @@ void tst_QLocale::systemLocale()
QFETCH(QString, name);
QFETCH(QLocale::Language, language);
+ QFETCH(QStringList, uiLanguages);
{
MySystemLocale sLocale(name);
QCOMPARE(QLocale().language(), language);
QCOMPARE(QLocale::system().language(), language);
+ auto reporter = qScopeGuard([]() {
+ qDebug("\n\t%s", qPrintable(QLocale::system().uiLanguages().join(u"\n\t")));
+ });
+ QCOMPARE(QLocale::system().uiLanguages(), uiLanguages);
+ reporter.dismiss();
}
QCOMPARE(QLocale(), originalLocale);
diff --git a/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp b/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp
index 88f8ea0bbb..b24243b98e 100644
--- a/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp
+++ b/tests/auto/corelib/text/qregularexpression/tst_qregularexpression.cpp
@@ -80,6 +80,7 @@ private slots:
void threadSafety_data();
void threadSafety();
+ void returnsViewsIntoOriginalString();
void wildcard_data();
void wildcard();
void testInvalidWildcard_data();
@@ -2188,6 +2189,31 @@ void tst_QRegularExpression::threadSafety()
}
}
+void tst_QRegularExpression::returnsViewsIntoOriginalString()
+{
+ // https://bugreports.qt.io/browse/QTBUG-98653
+
+ auto to_void = [](const QChar *p) -> const void* { return p; };
+
+ // GIVEN
+ // a QString with dynamically-allocated data:
+ const QString string = QLatin1String("A\nA\nB\nB\n\nC\nC"); // NOT QStringLiteral!
+ const auto stringDataAddress = to_void(string.data());
+
+ // and a view over said QString:
+ QStringView view(string);
+ const auto viewDataAddress = to_void(view.data());
+ QCOMPARE(stringDataAddress, viewDataAddress);
+
+ // WHEN
+ // we call view.split() with a temporary QRegularExpression object
+ const auto split = view.split(QRegularExpression( "(\r\n|\n|\r)" ), Qt::KeepEmptyParts);
+
+ // THEN
+ // the returned views should point into the underlying string:
+ QCOMPARE(to_void(split.front().data()), stringDataAddress);
+}
+
void tst_QRegularExpression::wildcard_data()
{
QTest::addColumn<QString>("pattern");
diff --git a/tests/auto/corelib/text/qstring/tst_qstring.cpp b/tests/auto/corelib/text/qstring/tst_qstring.cpp
index 8f53824050..90f7f63192 100644
--- a/tests/auto/corelib/text/qstring/tst_qstring.cpp
+++ b/tests/auto/corelib/text/qstring/tst_qstring.cpp
@@ -600,6 +600,7 @@ private slots:
void isValidUtf16_data();
void isValidUtf16();
void unicodeStrings();
+ void vasprintfWithPrecision();
};
template <class T> const T &verifyZeroTermination(const T &t) { return t; }
@@ -1300,6 +1301,9 @@ void tst_QString::asprintfS()
QCOMPARE(QString::asprintf("%-10.10s", "Hello" ), QLatin1String("Hello "));
QCOMPARE(QString::asprintf("%-10.3s", "Hello" ), QLatin1String("Hel "));
QCOMPARE(QString::asprintf("%-5.5s", "Hello" ), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%*s", 4, "Hello"), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%*s", 10, "Hello"), QLatin1String(" Hello"));
+ QCOMPARE(QString::asprintf("%-*s", 10, "Hello"), QLatin1String("Hello "));
// Check utf8 conversion for %s
QCOMPARE(QString::asprintf("%s", "\303\266\303\244\303\274\303\226\303\204\303\234\303\270\303\246\303\245\303\230\303\206\303\205"), QString::fromLatin1("\366\344\374\326\304\334\370\346\345\330\306\305"));
@@ -1319,6 +1323,9 @@ void tst_QString::asprintfS()
QCOMPARE(QString::asprintf("%-10.10ls", qUtf16Printable("Hello")), QLatin1String("Hello "));
QCOMPARE(QString::asprintf("%-10.3ls", qUtf16Printable("Hello")), QLatin1String("Hel "));
QCOMPARE(QString::asprintf("%-5.5ls", qUtf16Printable("Hello")), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%*ls", 4, qUtf16Printable("Hello")), QLatin1String("Hello"));
+ QCOMPARE(QString::asprintf("%*ls", 10, qUtf16Printable("Hello")), QLatin1String(" Hello"));
+ QCOMPARE(QString::asprintf("%-*ls", 10, qUtf16Printable("Hello")), QLatin1String("Hello "));
// Check utf16 is preserved for %ls
QCOMPARE(QString::asprintf("%ls",
@@ -1674,7 +1681,7 @@ void tst_QString::lastIndexOf()
QCOMPARE(haystack.lastIndexOf(needle.toLatin1(), from, cs), expected);
QCOMPARE(haystack.lastIndexOf(needle.toLatin1().data(), from, cs), expected);
- if (from >= -1 && from < haystack.size() && needle.size() > 0) {
+ if (from >= -1 && from < haystack.size()) {
// unfortunately, QString and QRegExp don't have the same out of bound semantics
// I think QString is wrong -- See file log for contact information.
{
@@ -4869,6 +4876,9 @@ void tst_QString::arg()
QCOMPARE( s4.arg("foo", 10), QLatin1String("[ foo]") );
QCOMPARE( s4.arg("foo", -10), QLatin1String("[foo ]") );
+ // QStringRef argument in multi-arg:
+ QCOMPARE(QString("%1;%2").arg(QStringRef(), QString()), ";");
+
QString firstName( "James" );
QString lastName( "Bond" );
QString fullName = QString( "My name is %2, %1 %2" )
@@ -7148,6 +7158,35 @@ void tst_QString::isValidUtf16()
QTEST(string.isValidUtf16(), "valid");
}
+static QString doVasprintf(const char *msg, ...) {
+ va_list args;
+ va_start(args, msg);
+ const QString result = QString::vasprintf(msg, args);
+ va_end(args);
+ return result;
+}
+
+void tst_QString::vasprintfWithPrecision()
+{
+ {
+ const char *msg = "Endpoint %.*s with";
+ static const char arg0[3] = { 'a', 'b', 'c' };
+ static const char arg1[4] = { 'a', 'b', 'c', '\0' };
+ QCOMPARE(doVasprintf(msg, 3, arg0), QStringLiteral("Endpoint abc with"));
+ QCOMPARE(doVasprintf(msg, 9, arg1), QStringLiteral("Endpoint abc with"));
+ QCOMPARE(doVasprintf(msg, 0, nullptr), QStringLiteral("Endpoint with"));
+ }
+
+ {
+ const char *msg = "Endpoint %.*ls with";
+ static const ushort arg0[3] = { 'a', 'b', 'c' };
+ static const ushort arg1[4] = { 'a', 'b', 'c', '\0' };
+ QCOMPARE(doVasprintf(msg, 3, arg0), QStringLiteral("Endpoint abc with"));
+ QCOMPARE(doVasprintf(msg, 9, arg1), QStringLiteral("Endpoint abc with"));
+ QCOMPARE(doVasprintf(msg, 0, nullptr), QStringLiteral("Endpoint with"));
+ }
+}
+
QTEST_APPLESS_MAIN(tst_QString)
#include "tst_qstring.moc"
diff --git a/tests/auto/corelib/text/qstringlist/tst_qstringlist.cpp b/tests/auto/corelib/text/qstringlist/tst_qstringlist.cpp
index 66d4744454..a2dfbed93d 100644
--- a/tests/auto/corelib/text/qstringlist/tst_qstringlist.cpp
+++ b/tests/auto/corelib/text/qstringlist/tst_qstringlist.cpp
@@ -523,6 +523,11 @@ void tst_QStringList::joinChar_data() const
<< QLatin1String("c"))
<< QChar(QLatin1Char(' '))
<< QString("a b c");
+
+ QTest::newRow("null separator")
+ << QStringList{QStringLiteral("a"), QStringLiteral("b"), QStringLiteral("c")}
+ << QChar(u'\0')
+ << QStringLiteral("a\0b\0c");
}
void tst_QStringList::joinEmptiness() const
diff --git a/tests/auto/corelib/text/qtextboundaryfinder/tst_qtextboundaryfinder.cpp b/tests/auto/corelib/text/qtextboundaryfinder/tst_qtextboundaryfinder.cpp
index b4c2657c84..f2d07c0fed 100644
--- a/tests/auto/corelib/text/qtextboundaryfinder/tst_qtextboundaryfinder.cpp
+++ b/tests/auto/corelib/text/qtextboundaryfinder/tst_qtextboundaryfinder.cpp
@@ -51,6 +51,9 @@ private slots:
void lineBoundariesDefault();
#endif
+ void graphemeBoundaries_manual_data();
+ void graphemeBoundaries_manual();
+
void wordBoundaries_manual_data();
void wordBoundaries_manual();
void sentenceBoundaries_manual_data();
@@ -286,6 +289,104 @@ void tst_QTextBoundaryFinder::lineBoundariesDefault()
}
#endif // QT_BUILD_INTERNAL
+void tst_QTextBoundaryFinder::graphemeBoundaries_manual_data()
+{
+ QTest::addColumn<QString>("testString");
+ QTest::addColumn<QList<int>>("expectedBreakPositions");
+
+ {
+ // QTBUG-94951
+ QChar s[] = { QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xD83D), QChar(0xDCF2), // U+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+ QChar(0xD83D), QChar(0xDCE9), // U+1F4E9 ENVELOPE WITH DOWNWARDS ARROW ABOVE
+ };
+ QString testString(s, sizeof(s)/sizeof(s[0]));
+
+ QList<int> expectedBreakPositions{0, 2, 4, 6};
+ QTest::newRow("+EXTPICxEXT+EXTPIC+EXTPIC+") << testString << expectedBreakPositions;
+ }
+
+ {
+ QChar s[] = { QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ };
+ QString testString(s, sizeof(s)/sizeof(s[0]));
+
+ QList<int> expectedBreakPositions{0, 2, 4};
+ QTest::newRow("+EXTPICxEXT+EXTPICxEXT+") << testString << expectedBreakPositions;
+ }
+
+ {
+ QChar s[] = { QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ };
+ QString testString(s, sizeof(s)/sizeof(s[0]));
+
+ QList<int> expectedBreakPositions{0, 4, 7};
+ QTest::newRow("+EXTPICxEXTxEXTxEXT+EXTPICxEXTxEXT+") << testString << expectedBreakPositions;
+ }
+
+ {
+ QChar s[] = { QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0x200D), // U+200D ZERO WIDTH JOINER
+ QChar(0xD83D), QChar(0xDCF2), // U+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ };
+ QString testString(s, sizeof(s)/sizeof(s[0]));
+
+ QList<int> expectedBreakPositions{0, 7};
+ QTest::newRow("+EXTPICxEXTxEXTxZWJxEXTPICxEXTxEXT+") << testString << expectedBreakPositions;
+ }
+
+ {
+ QChar s[] = { QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0x200D), // U+200D ZERO WIDTH JOINER
+ QChar(0x0041), // U+0041 LATIN CAPITAL LETTER A
+ QChar(0xD83D), QChar(0xDCF2), // U+1F4F2 MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+ };
+ QString testString(s, sizeof(s)/sizeof(s[0]));
+
+ QList<int> expectedBreakPositions{0, 4, 5, 7};
+ QTest::newRow("+EXTPICxEXTxEXTxZWJ+Any+EXTPIC+") << testString << expectedBreakPositions;
+ }
+
+ {
+ QChar s[] = { QChar(0x2764), // U+2764 HEAVY BLACK HEART
+ QChar(0xFE0F), // U+FE0F VARIATION SELECTOR-16
+ QChar(0xD83C), QChar(0xDDEA), // U+1F1EA REGIONAL INDICATOR SYMBOL LETTER E
+ QChar(0xD83C), QChar(0xDDFA), // U+1F1FA REGIONAL INDICATOR SYMBOL LETTER U
+ QChar(0xD83C), QChar(0xDDEA), // U+1F1EA REGIONAL INDICATOR SYMBOL LETTER E
+ QChar(0xD83C), QChar(0xDDFA), // U+1F1FA REGIONAL INDICATOR SYMBOL LETTER U
+ QChar(0xD83C), QChar(0xDDEA), // U+1F1EA REGIONAL INDICATOR SYMBOL LETTER E
+ QChar(0x0041), // U+0041 LATIN CAPITAL LETTER A
+ };
+ QString testString(s, sizeof(s)/sizeof(s[0]));
+
+ QList<int> expectedBreakPositions{0, 2, 6, 10, 12, 13};
+ QTest::newRow("+EXTPICxEXT+RIxRI+RIxRI+RI+ANY+") << testString << expectedBreakPositions;
+ }
+}
+
+void tst_QTextBoundaryFinder::graphemeBoundaries_manual()
+{
+ QFETCH(QString, testString);
+ QFETCH(QList<int>, expectedBreakPositions);
+
+ doTestData(testString, expectedBreakPositions, QTextBoundaryFinder::Grapheme);
+}
+
void tst_QTextBoundaryFinder::wordBoundaries_manual_data()
{
QTest::addColumn<QString>("testString");
diff --git a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
index 0bdadedfac..49c8ec2113 100644
--- a/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
+++ b/tests/auto/corelib/thread/qfuture/tst_qfuture.cpp
@@ -94,6 +94,7 @@ private slots:
void nestedExceptions();
#endif
void nonGlobalThreadPool();
+ void resultsReadyAt();
};
void tst_QFuture::resultStore()
@@ -627,6 +628,26 @@ void tst_QFuture::futureInterface()
VoidResult a;
a.run().waitForFinished();
}
+
+ {
+ QFutureInterface<int> fi;
+ fi.reportStarted();
+ fi.reportResults(QVector<int> {});
+ fi.reportFinished();
+
+ QVERIFY(fi.results().empty());
+ }
+
+ {
+ QFutureInterface<int> fi;
+ fi.reportStarted();
+ QVector<int> values = { 1, 2, 3 };
+ fi.reportResults(values);
+ fi.reportResults(QVector<int> {});
+ fi.reportFinished();
+
+ QCOMPARE(fi.results(), values.toList());
+ }
}
template <typename T>
@@ -1557,5 +1578,63 @@ void tst_QFuture::nonGlobalThreadPool()
}
}
+void tst_QFuture::resultsReadyAt()
+{
+ QFutureInterface<int> iface;
+ QFutureWatcher<int> watcher;
+ watcher.setFuture(iface.future());
+
+ QTestEventLoop eventProcessor;
+ connect(&watcher, &QFutureWatcher<int>::finished, &eventProcessor, &QTestEventLoop::exitLoop);
+
+ const int nExpectedResults = 4;
+ int reported = 0;
+ int taken = 0;
+ connect(&watcher, &QFutureWatcher<int>::resultsReadyAt,
+ [&iface, &reported, &taken](int begin, int end)
+ {
+ auto future = iface.future();
+ QVERIFY(end - begin > 0);
+ for (int i = begin; i < end; ++i, ++reported) {
+ QVERIFY(future.isResultReadyAt(i));
+ taken |= 1 << i;
+ }
+ });
+
+ auto report = [&iface](int index)
+ {
+ int dummyResult = 0b101010;
+ iface.reportResult(&dummyResult, index);
+ };
+
+ const QSignalSpy readyCounter(&watcher, &QFutureWatcher<int>::resultsReadyAt);
+ QTimer::singleShot(0, [&iface, &report]{
+ // With filter mode == true, the result may go into the pending results.
+ // Reporting it as ready will allow an application to try and access the
+ // result, crashing on invalid (store.end()) iterator dereferenced.
+ iface.setFilterMode(true);
+ iface.reportStarted();
+ report(0);
+ report(1);
+ // This one - should not be reported (it goes into pending):
+ report(3);
+ // Let's close the 'gap' and make them all ready:
+ report(-1);
+ iface.reportFinished();
+ });
+
+ // Run event loop, QCoreApplication::postEvent is in use
+ // in QFutureInterface:
+ eventProcessor.enterLoopMSecs(2000);
+ QVERIFY(!eventProcessor.timeout());
+ if (QTest::currentTestFailed()) // Failed in our lambda observing 'ready at'
+ return;
+
+ QCOMPARE(reported, nExpectedResults);
+ QCOMPARE(nExpectedResults, iface.future().resultCount());
+ QCOMPARE(readyCounter.count(), 3);
+ QCOMPARE(taken, 0b1111);
+}
+
QTEST_MAIN(tst_QFuture)
#include "tst_qfuture.moc"
diff --git a/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp b/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp
index fba617e34d..a1742b3182 100644
--- a/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp
+++ b/tests/auto/corelib/thread/qresultstore/tst_qresultstore.cpp
@@ -175,6 +175,14 @@ void tst_QtConcurrentResultStore::addResults()
++it;
QCOMPARE(it, store.end());
+
+ QVector<int> empty;
+ const auto countBefore = store.count();
+ QCOMPARE(store.addResults(countBefore, &empty), -1);
+ QCOMPARE(store.count(), countBefore);
+
+ QCOMPARE(store.addResults(countBefore, &vec1), countBefore);
+ QCOMPARE(store.count(), countBefore + vec1.size());
}
void tst_QtConcurrentResultStore::resultIndex()
@@ -338,6 +346,14 @@ void tst_QtConcurrentResultStore::filterMode()
QCOMPARE(store.contains(6), true);
QCOMPARE(store.contains(7), true);
QCOMPARE(store.contains(8), false);
+
+ QVector<int> empty;
+ const auto countBefore = store.count();
+ QCOMPARE(store.addResults(countBefore, &empty), -1);
+ QCOMPARE(store.count(), countBefore);
+
+ QCOMPARE(store.addResult(countBefore, &int2), countBefore);
+ QCOMPARE(store.count(), countBefore + 1);
}
void tst_QtConcurrentResultStore::addCanceledResult()
diff --git a/tests/auto/corelib/thread/qthread/tst_qthread.cpp b/tests/auto/corelib/thread/qthread/tst_qthread.cpp
index 7be2f48758..b868f65268 100644
--- a/tests/auto/corelib/thread/qthread/tst_qthread.cpp
+++ b/tests/auto/corelib/thread/qthread/tst_qthread.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -36,6 +36,7 @@
#include <qwaitcondition.h>
#include <qdebug.h>
#include <qmetaobject.h>
+#include <qscopeguard.h>
#ifdef Q_OS_UNIX
#include <pthread.h>
@@ -106,6 +107,7 @@ private slots:
void quitLock();
void create();
+ void threadIdReuse();
};
enum { one_minute = 60 * 1000, five_minutes = 5 * one_minute };
@@ -1082,8 +1084,8 @@ void tst_QThread::wait2()
qPrintable(msgElapsed(elapsed)));
}
-
-class SlowSlotObject : public QObject {
+class SlowSlotObject : public QObject
+{
Q_OBJECT
public:
QMutex mutex;
@@ -1099,22 +1101,23 @@ void tst_QThread::wait3_slowDestructor()
{
SlowSlotObject slow;
QThread thread;
- QObject::connect(&thread, SIGNAL(finished()), &slow, SLOT(slowSlot()), Qt::DirectConnection);
-
- enum { WaitTime = 1800 };
+ QObject::connect(&thread, &QThread::finished,
+ &slow, &SlowSlotObject::slowSlot, Qt::DirectConnection);
QElapsedTimer timer;
thread.start();
thread.quit();
- //the quit function will cause the thread to finish and enter the slowSlot that is blocking
+ // Calling quit() will cause the thread to finish and enter the blocking slowSlot().
timer.start();
- QVERIFY(!thread.wait(Waiting_Thread::WaitTime));
- qint64 elapsed = timer.elapsed();
- QVERIFY2(elapsed >= Waiting_Thread::WaitTime - 1, qPrintable(QString::fromLatin1("elapsed: %1").arg(elapsed)));
-
- slow.cond.wakeOne();
- //now the thread should finish quickly
+ {
+ // Ensure thread finishes quickly after the checks - regardless of success:
+ const auto wakeSlow = qScopeGuard([&slow]() -> void { slow.cond.wakeOne(); });
+ QVERIFY(!thread.wait(Waiting_Thread::WaitTime));
+ const qint64 elapsed = timer.elapsed();
+ QVERIFY2(elapsed >= Waiting_Thread::WaitTime - 1,
+ qPrintable(QString::fromLatin1("elapsed: %1").arg(elapsed)));
+ }
QVERIFY(thread.wait(one_minute));
}
@@ -1631,5 +1634,71 @@ void tst_QThread::requestTermination()
QVERIFY(!thread.isInterruptionRequested());
}
+/*
+ This is a regression test for QTBUG-96846.
+
+ Incorrect system thread ID cleanup can cause QThread::wait() to report that
+ a thread is trying to wait for itself.
+*/
+void tst_QThread::threadIdReuse()
+{
+ class Thread1 : public QThread {
+ public:
+ // It's important that those thread ID's are not accessed concurrently
+ Qt::HANDLE savedThreadId;
+
+ void run() override { savedThreadId = QThread::currentThreadId(); }
+ };
+
+ class Thread2 : public Thread1 {
+ public:
+ bool waitOk;
+ Thread2(QThread *otherThread) : Thread1(), waitOk(false), otherThread(otherThread) {}
+
+ void run() override {
+ Thread1::run();
+ waitOk = otherThread->wait();
+ }
+
+ private:
+ QThread *const otherThread;
+ };
+
+ Thread1 thread1;
+ thread1.start();
+ QVERIFY(thread1.wait());
+
+ // If the system thread allocated for thread1 is destroyed before thread2 is
+ // started, at least on some versions of Linux the system thread ID for
+ // thread2 would be the same as one that was used for thread1.
+
+ // The system thread may be alive for some time after returning from
+ // QThread::wait() because the implementation is using detachable threads, so
+ // some additional time is required for the system thread to terminate. Not
+ // waiting long enough here would result in a new system thread ID being
+ // allocated for thread2 and this test passing even without a fix for
+ // QTBUG-96846.
+ bool threadIdReused = false;
+
+ for (int i = 0; i < 42; i++) {
+ QThread::msleep(1);
+
+ Thread2 thread2(&thread1);
+ thread2.start();
+ QVERIFY(thread2.wait());
+ QVERIFY(thread2.waitOk);
+
+ if (thread1.savedThreadId == thread2.savedThreadId) {
+ qDebug("Thread ID reused at iteration %d", i);
+ threadIdReused = true;
+ break;
+ }
+ }
+
+ if (!threadIdReused) {
+ QSKIP("Thread ID was not reused");
+ }
+}
+
QTEST_MAIN(tst_QThread)
#include "tst_qthread.moc"
diff --git a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
index cd245030db..e85fb5ea88 100644
--- a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
+++ b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
@@ -104,6 +104,7 @@ private slots:
void stressTest();
void takeAllAndIncreaseMaxThreadCount();
void waitForDoneAfterTake();
+ void threadReuse();
private:
QMutex m_functionTestMutex;
@@ -803,7 +804,7 @@ void tst_QThreadPool::tryStartPeakThreadCount()
CounterTask task;
QThreadPool threadPool;
- for (int i = 0; i < 20; ++i) {
+ for (int i = 0; i < 4*QThread::idealThreadCount(); ++i) {
if (threadPool.tryStart(&task) == false)
QTest::qWait(10);
}
@@ -1385,5 +1386,29 @@ void tst_QThreadPool::waitForDoneAfterTake()
}
+/*
+ Try trigger reuse of expired threads and check that all tasks execute.
+
+ This is a regression test for QTBUG-72872.
+*/
+void tst_QThreadPool::threadReuse()
+{
+ QThreadPool manager;
+ manager.setExpiryTimeout(-1);
+ manager.setMaxThreadCount(1);
+
+ constexpr int repeatCount = 10000;
+ constexpr int timeoutMs = 1000;
+ QSemaphore sem;
+
+ for (int i = 0; i < repeatCount; i++) {
+ manager.start([&sem]() { sem.release(); });
+ manager.start([&sem]() { sem.release(); });
+ manager.releaseThread();
+ QVERIFY(sem.tryAcquire(2, timeoutMs));
+ manager.reserveThread();
+ }
+}
+
QTEST_MAIN(tst_QThreadPool);
#include "tst_qthreadpool.moc"
diff --git a/tests/auto/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp b/tests/auto/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp
index 3538d90803..c9120d7576 100644
--- a/tests/auto/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp
+++ b/tests/auto/corelib/thread/qthreadstorage/tst_qthreadstorage.cpp
@@ -309,7 +309,18 @@ void tst_QThreadStorage::crashOnExit()
QSKIP("No qprocess support", SkipAll);
#else
QString errorMessage;
- QVERIFY2(runCrashOnExit("crashOnExit_helper", &errorMessage),
+
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
+ QString binary = QStringLiteral("crashOnExit_helper");
+ QVERIFY2(runCrashOnExit(binary, &errorMessage),
qPrintable(errorMessage));
#endif
}
diff --git a/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp
index d3afee96cd..96eb792cb2 100644
--- a/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/time/qdatetime/tst_qdatetime.cpp
@@ -1041,7 +1041,10 @@ void tst_QDateTime::toString_enumformat()
QString str2 = dt1.toString(Qt::ISODate);
QCOMPARE(str2, QString("1995-05-20T12:34:56"));
+#if QT_DEPRECATED_SINCE(5, 15)
+ QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED
QString str3 = dt1.toString(Qt::LocalDate);
+ QT_WARNING_POP
QVERIFY(!str3.isEmpty());
//check for date/time components in any order
//year may be 2 or 4 digits
@@ -1050,6 +1053,7 @@ void tst_QDateTime::toString_enumformat()
QVERIFY(str3.contains("12"));
QVERIFY(str3.contains("34"));
//seconds may be absent
+#endif // 5.15 deprecations
}
void tst_QDateTime::addDays()
@@ -1098,6 +1102,18 @@ void tst_QDateTime::addDays()
QCOMPARE(dt2.timeSpec(), Qt::OffsetFromUTC);
QCOMPARE(dt2.offsetFromUtc(), 60 * 60);
+#if QT_CONFIG(timezone)
+ const QTimeZone cet("Europe/Oslo");
+ if (cet.isValid()) {
+ dt1 = QDate(2022, 1, 10).startOfDay(cet);
+ dt2 = dt1.addDays(2); // QTBUG-99668: should not assert
+ QCOMPARE(dt2.date(), QDate(2022, 1, 12));
+ QCOMPARE(dt2.time(), QTime(0, 0));
+ QCOMPARE(dt2.timeSpec(), Qt::TimeZone);
+ QCOMPARE(dt2.timeZone(), cet);
+ }
+#endif
+
// ### test invalid QDateTime()
}
diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
index a59b58d57f..59b94179f4 100644
--- a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
+++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp
@@ -31,6 +31,8 @@
#include <private/qtimezoneprivate_p.h>
#include <qlocale.h>
+Q_DECLARE_METATYPE(QTimeZone::TimeType)
+
#if defined(Q_OS_WIN) && !QT_CONFIG(icu)
# define USING_WIN_TZ
#endif
@@ -63,6 +65,7 @@ private slots:
void isValidId_data();
void isValidId();
void malformed();
+ void serialize();
// Backend tests
void utcTest();
void icuTest();
@@ -70,6 +73,8 @@ private slots:
void macTest();
void darwinTypes();
void winTest();
+ void localeSpecificDisplayName_data();
+ void localeSpecificDisplayName();
private:
void printTimeZone(const QTimeZone &tz);
@@ -947,6 +952,33 @@ void tst_QTimeZone::malformed()
barf.offsetFromUtc(now);
}
+void tst_QTimeZone::serialize()
+{
+ int parts = 0;
+#ifndef QT_NO_DEBUG_STREAM
+ qDebug() << QTimeZone(); // to verify no crash
+ parts++;
+#endif
+#ifndef QT_NO_DATASTREAM
+ QByteArray blob;
+ {
+ QDataStream stream(&blob, QIODevice::WriteOnly);
+ stream << QTimeZone("Europe/Oslo") << QTimeZone(420) << QTimeZone() << qint64(-1);
+ }
+ QDataStream stream(&blob, QIODevice::ReadOnly);
+ QTimeZone invalid, offset, oslo;
+ qint64 minusone;
+ stream >> oslo >> offset >> invalid >> minusone;
+ QCOMPARE(oslo, QTimeZone("Europe/Oslo"));
+ QCOMPARE(offset, QTimeZone(420));
+ QVERIFY(!invalid.isValid());
+ QCOMPARE(minusone, qint64(-1));
+ parts++;
+#endif
+ if (!parts)
+ QSKIP("No serialization enabled");
+}
+
void tst_QTimeZone::utcTest()
{
#ifdef QT_BUILD_INTERNAL
@@ -1366,6 +1398,55 @@ void tst_QTimeZone::winTest()
#endif // QT_BUILD_INTERNAL && USING_WIN_TZ
}
+void tst_QTimeZone::localeSpecificDisplayName_data()
+{
+#ifdef USING_WIN_TZ
+ QSKIP("MS backend does not use locale parameter");
+#endif
+ QTest::addColumn<QByteArray>("zoneName");
+ QTest::addColumn<QLocale>("locale");
+ QTest::addColumn<QTimeZone::TimeType>("timeType");
+ QTest::addColumn<QString>("expectedName");
+
+ QStringList names;
+ QLocale locale;
+ // Pick a non-system locale; German or French
+ if (QLocale::system().language() != QLocale::German) {
+ locale = QLocale(QLocale::German);
+ names << QString("Mitteleurop\u00e4ische Normalzeit")
+ << QString("Mitteleurop\u00e4ische Sommerzeit");
+ } else {
+ locale = QLocale(QLocale::French);
+ names << QString("heure normale d\u2019Europe centrale")
+ << QString("heure d\u2019\u00E9t\u00E9 d\u2019Europe centrale");
+ }
+
+ qsizetype index = 0;
+ QTest::newRow("Berlin, standard time")
+ << QByteArray("Europe/Berlin") << locale << QTimeZone::StandardTime
+ << names.at(index++);
+
+ QTest::newRow("Berlin, summer time")
+ << QByteArray("Europe/Berlin") << locale << QTimeZone::DaylightTime
+ << names.at(index++);
+}
+
+void tst_QTimeZone::localeSpecificDisplayName()
+{
+ // This test checks that QTimeZone::displayName() correctly uses the
+ // specified locale, NOT the system locale (see QTBUG-101460).
+ QFETCH(QByteArray, zoneName);
+ QFETCH(QLocale, locale);
+ QFETCH(QTimeZone::TimeType, timeType);
+ QFETCH(QString, expectedName);
+
+ QTimeZone zone(zoneName);
+ QVERIFY(zone.isValid());
+
+ const QString localeName = zone.displayName(timeType, QTimeZone::LongName, locale);
+ QCOMPARE(localeName, expectedName);
+}
+
#ifdef QT_BUILD_INTERNAL
// Test each private produces the same basic results for CET
void tst_QTimeZone::testCetPrivate(const QTimeZonePrivate &tzp)
diff --git a/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp b/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp
index 2c7c8f6514..11f181a955 100644
--- a/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp
+++ b/tests/auto/corelib/tools/containerapisymmetry/tst_containerapisymmetry.cpp
@@ -40,8 +40,10 @@
#include <algorithm>
#include <functional>
#include <vector> // for reference
+#include <iostream>
#include <list>
#include <set>
+#include <sstream>
#include <map>
// MSVC has these containers from the Standard Library, but it lacks
@@ -64,6 +66,28 @@
#include <unordered_map>
#endif
+QT_BEGIN_NAMESPACE
+std::ostream &operator<<(std::ostream &os, const QChar &c)
+{
+ Q_ASSERT(c == QLatin1Char{c.toLatin1()});
+ return os << c.toLatin1();
+}
+std::istream &operator>>(std::istream &os, QChar &c)
+{
+ char cL1;
+ os >> cL1;
+ c = QLatin1Char{cL1};
+ return os;
+}
+QT_END_NAMESPACE
+
+namespace {
+template <typename T>
+struct is_qlist : std::false_type {};
+template <typename T>
+struct is_qlist<QList<T>> : std::true_type {};
+}
+
struct Movable
{
explicit Movable(int i = 0) Q_DECL_NOTHROW
@@ -85,6 +109,11 @@ struct Movable
int i;
static int instanceCount;
+
+ friend std::ostream &operator<<(std::ostream &os, const Movable &m)
+ { return os << m.i; }
+ friend std::istream &operator>>(std::istream &os, Movable &m)
+ { return os >> m.i; }
};
int Movable::instanceCount = 0;
@@ -124,6 +153,11 @@ struct Complex
int i;
static int instanceCount;
+
+ friend std::ostream &operator<<(std::ostream &os, const Complex &c)
+ { return os << c.i; }
+ friend std::istream &operator>>(std::istream &os, Complex &c)
+ { return os >> c.i; }
};
int Complex::instanceCount = 0;
@@ -550,12 +584,30 @@ void tst_ContainerApiSymmetry::ranged_ctor_non_associative_impl() const
// from itself
const Container c4(reference.begin(), reference.end());
+ // from stringsteam (= pure input_iterator)
+ const Container c5 = [&] {
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) // QTBUG-99036
+ if constexpr (is_qlist<Container>::value) {
+ return c4;
+ } else
+#endif
+ {
+ std::stringstream ss;
+ for (auto &v : values1)
+ ss << v << ' ';
+ ss.seekg(0);
+ return Container(std::istream_iterator<V>{ss},
+ std::istream_iterator<V>{});
+ }
+ }();
+
QCOMPARE(c1, reference);
QCOMPARE(c2a, reference);
QCOMPARE(c2b, reference);
QCOMPARE(c3a, reference);
QCOMPARE(c3b, reference);
QCOMPARE(c4, reference);
+ QCOMPARE(c5, reference);
}
diff --git a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
index 9a7c099228..056fce881d 100644
--- a/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
+++ b/tests/auto/corelib/tools/qbitarray/tst_qbitarray.cpp
@@ -165,6 +165,7 @@ void tst_QBitArray::countBits()
bits.setBit(i);
}
+ QCOMPARE(bits.size(), numBits);
QCOMPARE(bits.count(), numBits);
QCOMPARE(bits.count(true), onBits);
QCOMPARE(bits.count(false), numBits - onBits);
diff --git a/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp b/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp
index f305d63d46..9910c9c329 100644
--- a/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp
+++ b/tests/auto/corelib/tools/qcontiguouscache/tst_qcontiguouscache.cpp
@@ -75,10 +75,12 @@ void tst_QContiguousCache::empty()
{
QContiguousCache<int> c(10);
QCOMPARE(c.capacity(), 10);
+ QCOMPARE(c.size(), 0);
QCOMPARE(c.count(), 0);
QVERIFY(c.isEmpty());
c.append(1);
QCOMPARE(c.count(), 1);
+ QCOMPARE(c.size(), 1);
QVERIFY(!c.isEmpty());
c.clear();
QCOMPARE(c.capacity(), 10);
diff --git a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp
index 3eef7631c8..3abd68857f 100644
--- a/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp
+++ b/tests/auto/corelib/tools/qcryptographichash/tst_qcryptographichash.cpp
@@ -47,6 +47,12 @@ private slots:
void files_data();
void files();
void hashLength();
+
+ // keep last
+ void keccakBufferOverflow();
+private:
+ void ensureLargeData();
+ std::vector<char> large;
};
void tst_QCryptographicHash::repeated_result_data()
@@ -303,5 +309,52 @@ void tst_QCryptographicHash::hashLength()
}
}
+void tst_QCryptographicHash::ensureLargeData()
+{
+#if QT_POINTER_SIZE > 4
+ QElapsedTimer timer;
+ timer.start();
+ const size_t GiB = 1024 * 1024 * 1024;
+ if (large.size() == 4 * GiB + 1)
+ return;
+ try {
+ large.resize(4 * GiB + 1, '\0');
+ } catch (const std::bad_alloc &) {
+ QSKIP("Could not allocate 4GiB plus one byte of RAM.");
+ }
+ QCOMPARE(large.size(), 4 * GiB + 1);
+ large.back() = '\1';
+ qDebug("created dataset in %lld ms", timer.elapsed());
+#endif
+}
+
+void tst_QCryptographicHash::keccakBufferOverflow()
+{
+#if QT_POINTER_SIZE == 4
+ QSKIP("This is a 64-bit-only test");
+#else
+
+ ensureLargeData();
+ if (large.empty())
+ return;
+
+ QElapsedTimer timer;
+ timer.start();
+ const auto sg = qScopeGuard([&] {
+ qDebug() << "test finished in" << timer.restart() << "ms";
+ });
+
+ constexpr qsizetype magic = INT_MAX/4;
+ QVERIFY(large.size() >= size_t(magic + 1));
+
+ QCryptographicHash hash(QCryptographicHash::Algorithm::Keccak_224);
+
+ hash.addData(large.data(), 1);
+ hash.addData(large.data() + 1, magic);
+ (void)hash.result();
+ QVERIFY(true); // didn't crash
+#endif
+}
+
QTEST_MAIN(tst_QCryptographicHash)
#include "tst_qcryptographichash.moc"
diff --git a/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp b/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp
index f76f3aa0c6..4eb8a97051 100644
--- a/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp
+++ b/tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp
@@ -230,8 +230,14 @@ namespace SomeNamespace {
struct Hashable { int i; };
inline uint qHash(Hashable h, uint seed = 0)
{ return QT_PREPEND_NAMESPACE(qHash)(h.i, seed); }
-}
+ struct AdlHashable {
+ int i;
+ private:
+ friend size_t qHash(AdlHashable h, size_t seed = 0)
+ { return QT_PREPEND_NAMESPACE(qHash)(h.i, seed); }
+ };
+}
void tst_QHashFunctions::range()
{
static const int ints[] = {0, 1, 2, 3, 4, 5};
@@ -253,10 +259,16 @@ void tst_QHashFunctions::range()
QCOMPARE(qHashRange(ints, ints + numInts, seed), qHashRange(it, end, seed));
}
- SomeNamespace::Hashable hashables[] = {{0}, {1}, {2}, {3}, {4}, {5}};
- static const size_t numHashables = sizeof hashables / sizeof *hashables;
- // compile check: is qHash() found using ADL?
- (void)qHashRange(hashables, hashables + numHashables, seed);
+ {
+ SomeNamespace::Hashable hashables[] = {{0}, {1}, {2}, {3}, {4}, {5}};
+ // compile check: is qHash() found using ADL?
+ [[maybe_unused]] auto r = qHashRange(std::begin(hashables), std::end(hashables), seed);
+ }
+ {
+ SomeNamespace::AdlHashable hashables[] = {{0}, {1}, {2}, {3}, {4}, {5}};
+ // compile check: is qHash() found as a hidden friend?
+ [[maybe_unused]] auto r = qHashRange(std::begin(hashables), std::end(hashables), seed);
+ }
}
void tst_QHashFunctions::rangeCommutative()
@@ -279,10 +291,16 @@ void tst_QHashFunctions::rangeCommutative()
QCOMPARE(qHashRangeCommutative(ints, ints + numInts, seed), qHashRangeCommutative(it, end, seed));
}
- SomeNamespace::Hashable hashables[] = {{0}, {1}, {2}, {3}, {4}, {5}};
- static const size_t numHashables = sizeof hashables / sizeof *hashables;
- // compile check: is qHash() found using ADL?
- (void)qHashRangeCommutative(hashables, hashables + numHashables, seed);
+ {
+ SomeNamespace::Hashable hashables[] = {{0}, {1}, {2}, {3}, {4}, {5}};
+ // compile check: is qHash() found using ADL?
+ [[maybe_unused]] auto r = qHashRangeCommutative(std::begin(hashables), std::end(hashables), seed);
+ }
+ {
+ SomeNamespace::AdlHashable hashables[] = {{0}, {1}, {2}, {3}, {4}, {5}};
+ // compile check: is qHash() found as a hidden friend?
+ [[maybe_unused]] auto r = qHashRangeCommutative(std::begin(hashables), std::end(hashables), seed);
+ }
}
void tst_QHashFunctions::stdHash()
diff --git a/tests/auto/corelib/tools/qmessageauthenticationcode/tst_qmessageauthenticationcode.cpp b/tests/auto/corelib/tools/qmessageauthenticationcode/tst_qmessageauthenticationcode.cpp
index 2f8052fd4a..920c70c461 100644
--- a/tests/auto/corelib/tools/qmessageauthenticationcode/tst_qmessageauthenticationcode.cpp
+++ b/tests/auto/corelib/tools/qmessageauthenticationcode/tst_qmessageauthenticationcode.cpp
@@ -34,6 +34,8 @@ class tst_QMessageAuthenticationCode : public QObject
{
Q_OBJECT
private slots:
+ void repeated_setKey_data();
+ void repeated_setKey();
void result_data();
void result();
void result_incremental_data();
@@ -42,6 +44,47 @@ private slots:
Q_DECLARE_METATYPE(QCryptographicHash::Algorithm)
+void tst_QMessageAuthenticationCode::repeated_setKey_data()
+{
+ using A = QCryptographicHash::Algorithm;
+ QTest::addColumn<A>("algo");
+
+ const auto me = QMetaEnum::fromType<A>();
+ for (int i = 0, value; (value = me.value(i)) != -1; ++i)
+ QTest::addRow("%s", me.key(i)) << A(value);
+}
+
+void tst_QMessageAuthenticationCode::repeated_setKey()
+{
+ QFETCH(const QCryptographicHash::Algorithm, algo);
+
+ // GIVEN: two long keys, so we're sure the key needs to be hashed in order
+ // to fit into the hash algorithm's block
+
+ static const QByteArray key1(1024, 'a');
+ static const QByteArray key2(2048, 'b');
+
+ // WHEN: processing the same message
+
+ QMessageAuthenticationCode macX(algo);
+ QMessageAuthenticationCode mac1(algo, key1);
+ QMessageAuthenticationCode mac2(algo, key2);
+
+ const auto check = [](QMessageAuthenticationCode &mac) {
+ mac.addData("This is nonsense, ignore it, please.");
+ return mac.result();
+ };
+
+ macX.setKey(key1);
+ QCOMPARE(check(macX), check(mac1));
+
+ // THEN: the result does not depend on whether a new QMAC instance was used
+ // or an old one re-used (iow: setKey() reset()s)
+
+ macX.setKey(key2);
+ QCOMPARE(check(macX), check(mac2));
+}
+
void tst_QMessageAuthenticationCode::result_data()
{
QTest::addColumn<QCryptographicHash::Algorithm>("algo");
diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
index 5443cf120b..2347ea6d48 100644
--- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
+++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp
@@ -29,17 +29,38 @@
#include <QtTest/QTest>
#include <qvarlengtharray.h>
#include <qvariant.h>
+#include <qscopedvaluerollback.h>
#include <memory>
+class NonCopyable
+{
+ Q_DISABLE_COPY(NonCopyable)
+ int n;
+public:
+ NonCopyable() : n(0) {}
+ explicit NonCopyable(int n) : n(n) {}
+
+ friend bool operator==(const NonCopyable &lhs, const NonCopyable &rhs) noexcept
+ { return lhs.n == rhs.n; }
+ friend bool operator!=(const NonCopyable &lhs, const NonCopyable &rhs) noexcept
+ { return !operator==(lhs, rhs); }
+};
+
class tst_QVarLengthArray : public QObject
{
Q_OBJECT
private slots:
+ void defaultConstructor_int() { defaultConstructor<int>(); }
+ void defaultConstructor_QString() { defaultConstructor<QString>(); }
+ void sizeConstructor_int() { sizeConstructor<int>(); }
+ void sizeConstructor_QString() { sizeConstructor<QString>(); }
+ void sizeConstructor_NonCopyable() { sizeConstructor<NonCopyable>(); }
void append();
void removeLast();
void oldTests();
void appendCausingRealloc();
+ void appendIsStronglyExceptionSafe();
void resize();
void realloc();
void reverseIterators();
@@ -61,6 +82,10 @@ private slots:
void implicitDefaultCtor();
private:
+ template <typename T>
+ void defaultConstructor();
+ template <typename T>
+ void sizeConstructor();
template<typename T>
void initializeList();
};
@@ -80,6 +105,48 @@ struct Tracker
int Tracker::count = 0;
+template <typename T>
+void tst_QVarLengthArray::defaultConstructor()
+{
+ {
+ QVarLengthArray<T, 123> vla;
+ QCOMPARE(vla.size(), 0);
+ QVERIFY(vla.empty());
+ QVERIFY(vla.isEmpty());
+ QCOMPARE(vla.begin(), vla.end());
+ QCOMPARE(vla.capacity(), 123);
+ }
+ {
+ QVarLengthArray<T> vla;
+ QCOMPARE(vla.capacity(), 256); // notice, should we change the default
+ }
+}
+
+template <typename T>
+void tst_QVarLengthArray::sizeConstructor()
+{
+ {
+ QVarLengthArray<T, 123> vla(0);
+ QCOMPARE(vla.size(), 0);
+ QVERIFY(vla.empty());
+ QVERIFY(vla.isEmpty());
+ QCOMPARE(vla.begin(), vla.end());
+ QCOMPARE(vla.capacity(), 123);
+ }
+ {
+ QVarLengthArray<T, 124> vla(124);
+ QCOMPARE(vla.size(), 124);
+ QVERIFY(!vla.empty());
+ QCOMPARE(vla.capacity(), 124);
+ }
+ {
+ QVarLengthArray<T, 124> vla(125);
+ QCOMPARE(vla.size(), 125);
+ QVERIFY(!vla.empty());
+ QVERIFY(vla.capacity() >= 125);
+ }
+}
+
void tst_QVarLengthArray::append()
{
QVarLengthArray<QString, 2> v;
@@ -245,6 +312,49 @@ void tst_QVarLengthArray::appendCausingRealloc()
d.append(i);
}
+void tst_QVarLengthArray::appendIsStronglyExceptionSafe()
+{
+#ifdef QT_NO_EXCEPTIONS
+ QSKIP("This test requires exception support enabled in the compiler.");
+#else
+ static bool throwOnCopyNow = false;
+ static bool throwOnMoveNow = false;
+ struct Thrower {
+ Thrower() = default;
+ Thrower(const Thrower &)
+ {
+ if (throwOnCopyNow)
+ throw 1;
+ }
+ Thrower &operator=(const Thrower &) = default;
+ Thrower(Thrower &&)
+ {
+ if (throwOnMoveNow)
+ throw 1;
+ }
+ Thrower &operator=(Thrower &&) = default;
+ ~Thrower() = default;
+ };
+
+ {
+ // ### TODO: QVLA isn't exception-safe when throwing during reallocation,
+ // ### so check with size() < capacity() for now
+ QVarLengthArray<Thrower, 2> vla(1);
+ {
+ Thrower t;
+ const QScopedValueRollback<bool> rb(throwOnCopyNow, true);
+ QVERIFY_EXCEPTION_THROWN(vla.push_back(t), int);
+ QCOMPARE(vla.size(), 1);
+ }
+ {
+ const QScopedValueRollback<bool> rb(throwOnMoveNow, true);
+ QVERIFY_EXCEPTION_THROWN(vla.push_back({}), int);
+ QCOMPARE(vla.size(), 1);
+ }
+ }
+#endif
+}
+
void tst_QVarLengthArray::resize()
{
//MOVABLE
@@ -346,6 +456,12 @@ struct MyBase
bool hasMoved() const { return !wasConstructedAt(this); }
protected:
+ void swap(MyBase &other) {
+ using std::swap;
+ swap(data, other.data);
+ swap(isCopy, other.isCopy);
+ }
+
MyBase(const MyBase *data, bool isCopy)
: data(data), isCopy(isCopy) {}
@@ -420,6 +536,14 @@ struct MyMovable
return *this;
}
+ void swap(MyMovable &other) noexcept
+ {
+ MyBase::swap(other);
+ std::swap(i, other.i);
+ }
+
+ friend void swap(MyMovable &lhs, MyMovable &rhs) noexcept { lhs.swap(rhs); }
+
bool operator==(const MyMovable &other) const
{
return i == other.i;
@@ -435,6 +559,15 @@ struct MyComplex
{
return i == other.i;
}
+
+ void swap(MyComplex &other) noexcept
+ {
+ MyBase::swap(other);
+ std::swap(i, other.i);
+ }
+
+ friend void swap(MyComplex &lhs, MyComplex &rhs) noexcept { lhs.swap(rhs); }
+
char i;
};
@@ -1000,6 +1133,17 @@ void tst_QVarLengthArray::insertMove()
QCOMPARE(MyBase::copyCount, 0);
{
+ MyMovable m1, m2;
+ QCOMPARE(MyBase::liveCount, 2);
+ QCOMPARE(MyBase::copyCount, 0);
+ using std::swap;
+ swap(m1, m2);
+ QCOMPARE(MyBase::liveCount, 2);
+ QCOMPARE(MyBase::movedCount, 0);
+ QCOMPARE(MyBase::copyCount, 0);
+ }
+
+ {
QVarLengthArray<MyMovable, 6> vec;
MyMovable m1;
MyMovable m2;
diff --git a/tests/auto/corelib/tools/qvector/tst_qvector.cpp b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
index 08d5a8cd50..01409bd188 100644
--- a/tests/auto/corelib/tools/qvector/tst_qvector.cpp
+++ b/tests/auto/corelib/tools/qvector/tst_qvector.cpp
@@ -183,6 +183,94 @@ inline uint qHash(const Custom &key, uint seed = 0) { return qHash(key.i, seed);
Q_DECLARE_METATYPE(Custom);
+// Similar to Custom but not default-constructible and has move constructor and assignment
+struct NonDefaultConstructible {
+ NonDefaultConstructible() = delete;
+ NonDefaultConstructible(char input)
+ : i(input)
+ , that(this)
+ , state(Constructed)
+ {
+ counter.fetchAndAddRelaxed(1);
+ }
+ NonDefaultConstructible(const NonDefaultConstructible &other)
+ : i(other.i)
+ , that(this)
+ , state(Constructed)
+ {
+ check(&other);
+ counter.fetchAndAddRelaxed(1);
+ }
+ NonDefaultConstructible(NonDefaultConstructible &&other)
+ : i(other.i)
+ , that(this)
+ , state(Constructed)
+ {
+ check(&other);
+ other.state = MovedFrom;
+ counter.fetchAndAddRelaxed(1);
+ }
+ ~NonDefaultConstructible()
+ {
+ check(this, true);
+ i = 0;
+ counter.fetchAndAddRelaxed(-1);
+ state = Destructed;
+ }
+
+ bool operator==(const NonDefaultConstructible &other) const
+ {
+ check(&other);
+ check(this);
+ return i == other.i;
+ }
+
+ bool operator<(const NonDefaultConstructible &other) const
+ {
+ check(&other);
+ check(this);
+ return i < other.i;
+ }
+
+ NonDefaultConstructible &operator=(const NonDefaultConstructible &other)
+ {
+ check(&other);
+ check(this, true);
+ i = other.i;
+ state = Constructed;
+ return *this;
+ }
+
+ NonDefaultConstructible &operator=(NonDefaultConstructible &&other)
+ {
+ check(&other);
+ check(this, true);
+ i = other.i;
+ state = Constructed;
+ other.state = MovedFrom;
+ return *this;
+ }
+ static QAtomicInt counter;
+
+ char i; // used to identify origin of an instance
+private:
+ NonDefaultConstructible *that; // used to catch copying using mem{cpy,move}()
+
+ enum State { Constructed = 106, Destructed = 110, MovedFrom = 120 };
+ State state;
+
+ static void check(const NonDefaultConstructible *c, bool movedOk = false)
+ {
+ // check if c object has been moved incorrectly
+ QCOMPARE(c, c->that);
+ if (!movedOk || c->state != MovedFrom)
+ QCOMPARE(c->state, Constructed);
+ }
+};
+QAtomicInt NonDefaultConstructible::counter = 0;
+
+inline uint qHash(const NonDefaultConstructible &key, uint seed = 0) { return qHash(key.i, seed); }
+
// tests depends on the fact that:
Q_STATIC_ASSERT(!QTypeInfo<int>::isStatic);
Q_STATIC_ASSERT(!QTypeInfo<int>::isComplex);
@@ -190,6 +278,8 @@ Q_STATIC_ASSERT(!QTypeInfo<Movable>::isStatic);
Q_STATIC_ASSERT(QTypeInfo<Movable>::isComplex);
Q_STATIC_ASSERT(QTypeInfo<Custom>::isStatic);
Q_STATIC_ASSERT(QTypeInfo<Custom>::isComplex);
+Q_STATIC_ASSERT(QTypeInfo<NonDefaultConstructible>::isStatic);
+Q_STATIC_ASSERT(QTypeInfo<NonDefaultConstructible>::isComplex);
class tst_QVector : public QObject
@@ -263,6 +353,7 @@ private slots:
void insertInt() const;
void insertMovable() const;
void insertCustom() const;
+ void insertNonDefaultConstructible() const;
void isEmpty() const;
void last() const;
void lastIndexOf() const;
@@ -273,6 +364,7 @@ private slots:
void prependInt() const;
void prependMovable() const;
void prependCustom() const;
+ void prependNonDefaultConstructible() const;
void qhashInt() const { qhash<int>(); }
void qhashMovable() const { qhash<Movable>(); }
void qhashCustom() const { qhash<Custom>(); }
@@ -390,6 +482,10 @@ template<>
const Movable SimpleValue<Movable>::Values[] = { 110, 105, 101, 114, 111, 98 };
template<>
const Custom SimpleValue<Custom>::Values[] = { 110, 105, 101, 114, 111, 98 };
+template<>
+const NonDefaultConstructible SimpleValue<NonDefaultConstructible>::Values[] =
+ { 110, 105, 101, 114, 111, 98 };
+
// Make some macros for the tests to use in order to be slightly more readable...
#define T_FOO SimpleValue<T>::at(0)
@@ -1592,6 +1688,11 @@ void tst_QVector::insertCustom() const
insert<Custom>();
}
+void tst_QVector::insertNonDefaultConstructible() const
+{
+ insert<NonDefaultConstructible>();
+}
+
void tst_QVector::isEmpty() const
{
QVector<QString> myvec;
@@ -1831,6 +1932,13 @@ void tst_QVector::prependCustom() const
QCOMPARE(instancesCount, Custom::counter.loadAcquire());
}
+void tst_QVector::prependNonDefaultConstructible() const
+{
+ const int instancesCount = NonDefaultConstructible::counter.loadAcquire();
+ prepend<NonDefaultConstructible>();
+ QCOMPARE(instancesCount, NonDefaultConstructible::counter.loadAcquire());
+}
+
void tst_QVector::removeAllWithAlias() const
{
QVector<QString> strings;
diff --git a/tests/auto/dbus/qdbusconnection/BLACKLIST b/tests/auto/dbus/qdbusconnection/BLACKLIST
new file mode 100644
index 0000000000..b63b7dd97e
--- /dev/null
+++ b/tests/auto/dbus/qdbusconnection/BLACKLIST
@@ -0,0 +1,5 @@
+# See qtbase/src/testlib/qtestblacklist.cpp for format
+#QTBUG-101636
+[registerObjectPeer2]
+ci ubuntu-20.04 # QTBUG-106632
+ubuntu-20
diff --git a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
index 05480c6dd2..70f4c75756 100644
--- a/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
+++ b/tests/auto/dbus/qdbusinterface/tst_qdbusinterface.cpp
@@ -324,6 +324,13 @@ void tst_QDBusInterface::notValid()
QVERIFY(!interface.isValid());
QVERIFY(!QMetaObject::invokeMethod(&interface, "ListNames", Qt::DirectConnection));
+
+ // With a connection, but empty/null service and path specified
+ QDBusConnection con = QDBusConnection::sessionBus();
+ QVERIFY(con.isConnected());
+ QDBusInterface iface({}, {}, {}, con);
+ QVERIFY(!iface.isValid());
+ QVERIFY(!QMetaObject::invokeMethod(&interface, "ListNames", Qt::DirectConnection));
}
void tst_QDBusInterface::notValidDerived()
diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp
index a36f538515..01971ee3c1 100644
--- a/tests/auto/gui/image/qimage/tst_qimage.cpp
+++ b/tests/auto/gui/image/qimage/tst_qimage.cpp
@@ -3572,6 +3572,13 @@ void tst_QImage::metadataPassthrough()
QCOMPARE(converted.dotsPerMeterY(), a.dotsPerMeterY());
QCOMPARE(converted.devicePixelRatio(), a.devicePixelRatio());
+ QVector<QRgb> clut({ 0xFFFF0000, 0xFF00FF00, 0xFF0000FF });
+ QImage convertedWithClut = a.convertToFormat(QImage::Format_Indexed8, clut);
+ QCOMPARE(convertedWithClut.text(QStringLiteral("Test")), a.text(QStringLiteral("Test")));
+ QCOMPARE(convertedWithClut.dotsPerMeterX(), a.dotsPerMeterX());
+ QCOMPARE(convertedWithClut.dotsPerMeterY(), a.dotsPerMeterY());
+ QCOMPARE(convertedWithClut.devicePixelRatio(), a.devicePixelRatio());
+
QImage copied = a.copy(0, 0, a.width() / 2, a.height() / 2);
QCOMPARE(copied.text(QStringLiteral("Test")), a.text(QStringLiteral("Test")));
QCOMPARE(copied.dotsPerMeterX(), a.dotsPerMeterX());
diff --git a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
index 1d77f70919..417514607f 100644
--- a/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
+++ b/tests/auto/gui/image/qpixmap/tst_qpixmap.cpp
@@ -120,6 +120,7 @@ private slots:
void copy();
void deepCopyPreservesDpr();
+ void fillPreservesDpr();
void dprPassthrough();
void depthOfNullObjects();
@@ -1156,6 +1157,19 @@ void tst_QPixmap::deepCopyPreservesDpr()
QCOMPARE(dest.devicePixelRatio(), dpr);
}
+// Check that the DPR is preserved after doing a fill after an
+// assigned copy of the QPixmap
+void tst_QPixmap::fillPreservesDpr()
+{
+ const qreal dpr = 2;
+ QPixmap src(32, 32);
+ src.setDevicePixelRatio(dpr);
+ src.fill(Qt::red);
+ QPixmap dest = src;
+ dest.fill(Qt::blue);
+ QCOMPARE(dest.devicePixelRatio(), dpr);
+}
+
void tst_QPixmap::dprPassthrough()
{
const qreal dpr = 2;
diff --git a/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp b/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp
index fb4f80f085..ac3123814c 100644
--- a/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp
+++ b/tests/auto/gui/kernel/qbackingstore/tst_qbackingstore.cpp
@@ -43,8 +43,47 @@ class tst_QBackingStore : public QObject
private slots:
void flush();
+
+ void scrollRectInImage_data();
+ void scrollRectInImage();
};
+void tst_QBackingStore::scrollRectInImage_data()
+{
+ QTest::addColumn<QRect>("rect");
+ QTest::addColumn<QPoint>("offset");
+
+ QTest::newRow("empty rect") << QRect() << QPoint();
+ QTest::newRow("rect outside image") << QRect(-100, -100, 1000, 1000) << QPoint(10, 10);
+ QTest::newRow("scroll outside positive") << QRect(10, 10, 10, 10) << QPoint(1000, 1000);
+ QTest::newRow("scroll outside negative") << QRect(10, 10, 10, 10) << QPoint(-1000, -1000);
+
+ QTest::newRow("sub-rect positive scroll") << QRect(100, 100, 50, 50) << QPoint(10, 10);
+ QTest::newRow("sub-rect negative scroll") << QRect(100, 100, 50, 50) << QPoint(-10, -10);
+
+ QTest::newRow("positive vertical only") << QRect(100, 100, 50, 50) << QPoint(0, 10);
+ QTest::newRow("negative vertical only") << QRect(100, 100, 50, 50) << QPoint(0, -10);
+ QTest::newRow("positive horizontal only") << QRect(100, 100, 50, 50) << QPoint(10, 0);
+ QTest::newRow("negative horizontal only") << QRect(100, 100, 50, 50) << QPoint(-10, 0);
+
+ QTest::newRow("whole rect positive") << QRect(0, 0, 250, 250) << QPoint(10, 10);
+ QTest::newRow("whole rect negative") << QRect(0, 0, 250, 250) << QPoint(-10, -10);
+}
+
+QT_BEGIN_NAMESPACE
+Q_GUI_EXPORT void qt_scrollRectInImage(QImage &, const QRect &, const QPoint &);
+QT_END_NAMESPACE
+
+void tst_QBackingStore::scrollRectInImage()
+{
+ QImage test(250, 250, QImage::Format_ARGB32_Premultiplied);
+
+ QFETCH(QRect, rect);
+ QFETCH(QPoint, offset);
+
+ qt_scrollRectInImage(test, rect, offset);
+}
+
class Window : public QWindow
{
public:
diff --git a/tests/auto/gui/kernel/qguitimer/BLACKLIST b/tests/auto/gui/kernel/qguitimer/BLACKLIST
new file mode 100644
index 0000000000..cb678120cd
--- /dev/null
+++ b/tests/auto/gui/kernel/qguitimer/BLACKLIST
@@ -0,0 +1,7 @@
+# See qtbase/src/testlib/qtestblacklist.cpp for format
+[zeroTimer] # QTBUG-108556
+ci ubuntu-20.04
+ci sles-15.4
+
+[singleShotToFunctors]
+ci ubuntu-20.04 # QTBUG-108554
diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST
index db7e261243..0a767e57e2 100644
--- a/tests/auto/gui/kernel/qwindow/BLACKLIST
+++ b/tests/auto/gui/kernel/qwindow/BLACKLIST
@@ -17,6 +17,7 @@ osx
windows-10
[testInputEvents]
rhel-7.4
+sles-15.4
[modalWindowPosition]
# QTBUG-69161
android
diff --git a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
index 2292462046..682b277470 100644
--- a/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
+++ b/tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
@@ -1113,14 +1113,18 @@ void tst_QWindow::touchToMouseTranslation()
QVERIFY(QTest::qWaitForWindowExposed(&window));
QList<QWindowSystemInterface::TouchPoint> points;
- QWindowSystemInterface::TouchPoint tp1, tp2;
+ QWindowSystemInterface::TouchPoint tp1, tp2, tp3;
const QRectF pressArea(101, 102, 4, 4);
+ const QRectF pressArea1(107, 110, 4, 4);
const QRectF moveArea(105, 108, 4, 4);
tp1.id = 1;
tp1.state = Qt::TouchPointPressed;
tp1.area = QHighDpi::toNativePixels(pressArea, &window);
tp2.id = 2;
tp2.state = Qt::TouchPointPressed;
+ tp3.id = 3;
+ tp3.state = Qt::TouchPointPressed;
+ tp3.area = QHighDpi::toNativePixels(pressArea1, &window);
points << tp1 << tp2;
QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
// Now an update but with changed list order. The mouse event should still
@@ -1185,6 +1189,8 @@ void tst_QWindow::touchToMouseTranslation()
points.clear();
points.append(tp1);
points[0].state = Qt::TouchPointPressed;
+ points.append(tp2);
+ points[1].state = Qt::TouchPointStationary;
QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
QCoreApplication::processEvents();
QTRY_COMPARE(window.mousePressButton, 1);
@@ -1192,6 +1198,42 @@ void tst_QWindow::touchToMouseTranslation()
points.clear();
points.append(tp2);
points[0].state = Qt::TouchPointReleased;
+ points.append(tp1);
+ points[1].state = Qt::TouchPointStationary;
+ QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
+ QCoreApplication::processEvents();
+ points.clear();
+ points.append(tp1);
+ points[0].state = Qt::TouchPointReleased;
+ QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
+ QCoreApplication::processEvents();
+ QTRY_COMPARE(window.mouseReleaseButton, 1);
+
+ points.clear();
+ points.append(tp1);
+ points[0].state = Qt::TouchPointPressed;
+ QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
+ QCoreApplication::processEvents();
+ points.clear();
+ points.append(tp2);
+ points[0].state = Qt::TouchPointPressed;
+ QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
+ QCoreApplication::processEvents();
+ points.clear();
+ points.append(tp3);
+ points[0].state = Qt::TouchPointPressed;
+ QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
+ QCoreApplication::processEvents();
+ QTRY_COMPARE(window.mousePressButton, 1);
+
+ points.clear();
+ points.append(tp2);
+ points[0].state = Qt::TouchPointReleased;
+ QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
+ QCoreApplication::processEvents();
+ points.clear();
+ points.append(tp3);
+ points[0].state = Qt::TouchPointReleased;
QWindowSystemInterface::handleTouchEvent(&window, touchDevice, points);
QCoreApplication::processEvents();
points.clear();
diff --git a/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp b/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp
index 8041fb5439..ed7a6a4d5d 100644
--- a/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp
+++ b/tests/auto/gui/math3d/qquaternion/tst_qquaternion.cpp
@@ -1088,35 +1088,67 @@ void tst_QQuaternion::fromEulerAngles_data()
QTest::addColumn<float>("yaw");
QTest::addColumn<float>("roll");
+ QTest::addColumn<QQuaternion>("quaternion");
+
QTest::newRow("null")
- << 0.0f << 0.0f << 0.0f;
+ << 0.0f << 0.0f << 0.0f << QQuaternion(1.0f, 0.0f, 0.0f, 0.0f);
QTest::newRow("xonly")
- << 90.0f << 0.0f << 0.0f;
+ << 90.0f << 0.0f << 0.0f << QQuaternion(0.707107f, 0.707107f, 0.0f, 0.0f);
QTest::newRow("yonly")
- << 0.0f << 180.0f << 0.0f;
+ << 0.0f << 180.0f << 0.0f << QQuaternion(0.0f, 0.0f, 1.0f, 0.0f);
QTest::newRow("zonly")
- << 0.0f << 0.0f << 270.0f;
+ << 0.0f << 0.0f << 270.0f << QQuaternion(-0.707107f, 0.0f, 0.0f, 0.707107f);
QTest::newRow("x+z")
- << 30.0f << 0.0f << 45.0f;
+ << 30.0f << 0.0f << 45.0f << QQuaternion(0.892399f, 0.239118f, -0.099046f, 0.369644f);
QTest::newRow("x+y")
- << 30.0f << 90.0f << 0.0f;
+ << 30.0f << 90.0f << 0.0f << QQuaternion(0.683013f, 0.183013f, 0.683013f, -0.183013f);
QTest::newRow("y+z")
- << 0.0f << 45.0f << 30.0f;
+ << 0.0f << 45.0f << 30.0f << QQuaternion(0.892399f, 0.099046f, 0.369644f, 0.239118f);
QTest::newRow("complex")
- << 30.0f << 240.0f << -45.0f;
+ << 30.0f << 240.0f << -45.0f << QQuaternion(-0.531976f, -0.43968f, 0.723317f, -0.02226f);
+
+ // Three gimbal_lock cases are not unique for the conversions from quaternion
+ // to euler, Qt will use only XY rotations for these cases.
+ // For example, QQuaternion(0.5f, 0.5f, -0.5f, 0.5f) can be EulerXYZ(90.0f, 0.0f, 90.0f), too.
+ // But Qt will always convert it to EulerXYZ(90.0f, -90.0f, 0.0f) without Z-rotation.
+ QTest::newRow("gimbal_lock_1")
+ << 90.0f << -90.0f << 0.0f << QQuaternion(0.5f, 0.5f, -0.5f, 0.5f);
+
+ QTest::newRow("gimbal_lock_2")
+ << 90.0f << 40.0f << 0.0f << QQuaternion(0.664463f, 0.664463f, 0.241845f, -0.241845f);
+
+ QTest::newRow("gimbal_lock_3") << 90.0f << 170.0f << 0.0f
+ << QQuaternion(0.0616285f, 0.0616285f, 0.704416f, -0.704416f);
+
+ // These four examples have a fraction of errors that would bypass normalize() threshold
+ // and could make Gimbal lock detection fail.
+ QTest::newRow("gimbal_lock_fraction_1")
+ << -90.0f << 90.001152f << 0.0f << QQuaternion(0.499989986f, -0.5f, 0.5f, 0.5f);
+
+ QTest::newRow("gimbal_lock_fraction_2")
+ << -90.0f << -179.999985f << 0.0f
+ << QQuaternion(1.00000001e-07f, 1.00000001e-10f, -0.707106769f, -0.707105756f);
+
+ QTest::newRow("gimbal_lock_fraction_3")
+ << -90.0f << 90.0011597f << 0.0f << QQuaternion(0.499989986f, -0.49999994f, 0.5f, 0.5f);
+
+ QTest::newRow("gimbal_lock_fraction_4")
+ << -90.0f << -180.0f << 0.0f
+ << QQuaternion(9.99999996e-12f, 9.99999996e-12f, -0.707106769f, -0.707096756f);
}
void tst_QQuaternion::fromEulerAngles()
{
QFETCH(float, pitch);
QFETCH(float, yaw);
QFETCH(float, roll);
+ QFETCH(QQuaternion, quaternion);
// Use a straight-forward implementation of the algorithm at:
// http://www.j3d.org/matrix_faq/matrfaq_latest.html#Q60
@@ -1132,11 +1164,22 @@ void tst_QQuaternion::fromEulerAngles()
QVERIFY(myFuzzyCompare(answer.z(), result.z()));
QVERIFY(myFuzzyCompare(answer.scalar(), result.scalar()));
+ // quaternion should be the same as the result
+ QVERIFY(myFuzzyCompare(answer.x(), quaternion.x()));
+ QVERIFY(myFuzzyCompare(answer.y(), quaternion.y()));
+ QVERIFY(myFuzzyCompare(answer.z(), quaternion.z()));
+ QVERIFY(myFuzzyCompare(answer.scalar(), quaternion.scalar()));
+
{
QVector3D answerEulerAngles = answer.toEulerAngles();
QVERIFY(myFuzzyCompareDegrees(answerEulerAngles.x(), pitch));
QVERIFY(myFuzzyCompareDegrees(answerEulerAngles.y(), yaw));
QVERIFY(myFuzzyCompareDegrees(answerEulerAngles.z(), roll));
+
+ QVector3D quaternionEulerAngles = quaternion.toEulerAngles();
+ QVERIFY(myFuzzyCompareDegrees(quaternionEulerAngles.x(), pitch));
+ QVERIFY(myFuzzyCompareDegrees(quaternionEulerAngles.y(), yaw));
+ QVERIFY(myFuzzyCompareDegrees(quaternionEulerAngles.z(), roll));
}
answer = QQuaternion::fromEulerAngles(pitch, yaw, roll);
@@ -1151,6 +1194,12 @@ void tst_QQuaternion::fromEulerAngles()
QVERIFY(myFuzzyCompareDegrees(answerPitch, pitch));
QVERIFY(myFuzzyCompareDegrees(answerYaw, yaw));
QVERIFY(myFuzzyCompareDegrees(answerRoll, roll));
+
+ float quaternionPitch, quaternionYaw, quaternionRoll;
+ quaternion.getEulerAngles(&quaternionPitch, &quaternionYaw, &quaternionRoll);
+ QVERIFY(myFuzzyCompareDegrees(quaternionPitch, pitch));
+ QVERIFY(myFuzzyCompareDegrees(quaternionYaw, yaw));
+ QVERIFY(myFuzzyCompareDegrees(quaternionRoll, roll));
}
}
diff --git a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
index 42e98ce363..d7c3f95f1d 100644
--- a/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
+++ b/tests/auto/gui/painting/qpainter/tst_qpainter.cpp
@@ -308,6 +308,7 @@ private slots:
void fillPolygon();
void drawImageAtPointF();
+ void scaledDashes();
private:
void fillData();
@@ -5468,6 +5469,36 @@ void tst_QPainter::drawImageAtPointF()
paint.end();
}
+void tst_QPainter::scaledDashes()
+{
+ // Test that we do not hit the limit-huge-number-of-dashes path
+ QRgb fore = qRgb(0, 0, 0xff);
+ QRgb back = qRgb(0xff, 0xff, 0);
+ QImage image(5, 32, QImage::Format_RGB32);
+ image.fill(back);
+ QPainter p(&image);
+ QPen pen(QColor(fore), 3, Qt::DotLine);
+ p.setPen(pen);
+ p.scale(1, 2);
+ p.drawLine(2, 0, 2, 16);
+ p.end();
+
+ bool foreFound = false;
+ bool backFound = false;
+ int i = 0;
+ while (i < 32 && (!foreFound || !backFound)) {
+ QRgb pix = image.pixel(3, i);
+ if (pix == fore)
+ foreFound = true;
+ else if (pix == back)
+ backFound = true;
+ i++;
+ }
+
+ QVERIFY(foreFound);
+ QVERIFY(backFound);
+}
+
QTEST_MAIN(tst_QPainter)
#include "tst_qpainter.moc"
diff --git a/tests/auto/gui/qvulkan/tst_qvulkan.cpp b/tests/auto/gui/qvulkan/tst_qvulkan.cpp
index c80c3fed97..3315ae5225 100644
--- a/tests/auto/gui/qvulkan/tst_qvulkan.cpp
+++ b/tests/auto/gui/qvulkan/tst_qvulkan.cpp
@@ -153,8 +153,15 @@ void tst_QVulkan::vulkanVersionRequest()
inst.destroy();
inst.setApiVersion(QVersionNumber(10, 0, 0));
- QVERIFY(!inst.create());
- QCOMPARE(inst.errorCode(), VK_ERROR_INCOMPATIBLE_DRIVER);
+
+ bool result = inst.create();
+
+ // Starting with Vulkan 1.1 the spec does not allow the implementation to
+ // fail the instance creation. So check for the 1.0 behavior only when
+ // create() failed, skip this verification with 1.1+ (where create() will
+ // succeed for any bogus api version).
+ if (!result)
+ QCOMPARE(inst.errorCode(), VK_ERROR_INCOMPATIBLE_DRIVER);
}
static void waitForUnexposed(QWindow *w)
diff --git a/tests/auto/gui/text/qfont/BLACKLIST b/tests/auto/gui/text/qfont/BLACKLIST
new file mode 100644
index 0000000000..abe3ffb2c4
--- /dev/null
+++ b/tests/auto/gui/text/qfont/BLACKLIST
@@ -0,0 +1,8 @@
+[defaultFamily:cursive]
+rhel-8.4
+ubuntu-20.04
+ubuntu-22.04
+[defaultFamily:fantasy]
+rhel-8.4
+ubuntu-20.04
+ubuntu-22.04
diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
index bbb7276bfb..15e0ecadaa 100644
--- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
+++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp
@@ -33,6 +33,8 @@
#include <qfontmetrics.h>
#include <qtextlayout.h>
#include <private/qrawfont_p.h>
+#include <private/qfont_p.h>
+#include <private/qfontengine_p.h>
#include <qpa/qplatformfontdatabase.h>
Q_LOGGING_CATEGORY(lcTests, "qt.text.tests")
@@ -277,7 +279,7 @@ void tst_QFontDatabase::addAppFont()
QVERIFY(QFontDatabase::removeApplicationFont(id));
QCOMPARE(fontDbChangedSpy.count(), 2);
- QCOMPARE(db.families(), oldFamilies);
+ QVERIFY(db.families().count() <= oldFamilies.count());
}
void tst_QFontDatabase::addTwoAppFontsFromFamily()
@@ -411,7 +413,11 @@ void tst_QFontDatabase::condensedFontMatching()
tfcByStyleName.setStyleName("Condensed");
#ifdef Q_OS_WIN
- QEXPECT_FAIL("","No matching of sub-family by stretch on Windows", Continue);
+ QFont f;
+ f.setStyleStrategy(QFont::NoFontMerging);
+ QFontPrivate *font_d = QFontPrivate::get(f);
+ if (font_d->engineForScript(QChar::Script_Common)->type() != QFontEngine::Freetype)
+ QEXPECT_FAIL("","No matching of sub-family by stretch on Windows", Continue);
#endif
#ifdef Q_OS_ANDROID
diff --git a/tests/auto/gui/text/qglyphrun/BLACKLIST b/tests/auto/gui/text/qglyphrun/BLACKLIST
index 57f32c683d..c9d0900296 100644
--- a/tests/auto/gui/text/qglyphrun/BLACKLIST
+++ b/tests/auto/gui/text/qglyphrun/BLACKLIST
@@ -1,3 +1,7 @@
[mixedScripts]
ubuntu-18.04
+ubuntu-20.04
+ubuntu-22.04
b2qt
+[drawRightToLeft]
+opensuse-leap-15.4 # QTBUG-89169
diff --git a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
index a32fb1d25b..704215a24a 100644
--- a/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
+++ b/tests/auto/gui/text/qrawfont/tst_qrawfont.cpp
@@ -654,6 +654,7 @@ void tst_QRawFont::fromFont_data()
QTest::addColumn<QFont::HintingPreference>("hintingPreference");
QTest::addColumn<QString>("familyName");
QTest::addColumn<QFontDatabase::WritingSystem>("writingSystem");
+ QTest::addColumn<QFont::StyleStrategy>("styleStrategy");
for (int i=QFont::PreferDefaultHinting; i<=QFont::PreferFullHinting; ++i) {
QString titleBase = QString::fromLatin1("%2, hintingPreference=%1, writingSystem=%3")
@@ -667,7 +668,8 @@ void tst_QRawFont::fromFont_data()
<< fileName
<< QFont::HintingPreference(i)
<< "QtBidiTestFont"
- << writingSystem;
+ << writingSystem
+ << QFont::PreferDefault;
}
{
@@ -679,7 +681,8 @@ void tst_QRawFont::fromFont_data()
<< fileName
<< QFont::HintingPreference(i)
<< "QtBidiTestFont"
- << writingSystem;
+ << writingSystem
+ << QFont::PreferDefault;
}
{
@@ -691,9 +694,24 @@ void tst_QRawFont::fromFont_data()
<< fileName
<< QFont::HintingPreference(i)
<< "QtBidiTestFont"
- << writingSystem;
+ << writingSystem
+ << QFont::PreferDefault;
}
}
+
+ {
+ QString fileName = testFont;
+ QFontDatabase::WritingSystem writingSystem = QFontDatabase::Arabic;
+
+ QString title = QStringLiteral("No font merging + unsupported script");
+ QTest::newRow(qPrintable(title))
+ << fileName
+ << QFont::PreferDefaultHinting
+ << "QtBidiTestFont"
+ << writingSystem
+ << QFont::NoFontMerging;
+ }
+
}
void tst_QRawFont::fromFont()
@@ -702,6 +720,7 @@ void tst_QRawFont::fromFont()
QFETCH(QFont::HintingPreference, hintingPreference);
QFETCH(QString, familyName);
QFETCH(QFontDatabase::WritingSystem, writingSystem);
+ QFETCH(QFont::StyleStrategy, styleStrategy);
QFontDatabase fontDatabase;
int id = fontDatabase.addApplicationFont(fileName);
@@ -710,6 +729,8 @@ void tst_QRawFont::fromFont()
QFont font(familyName);
font.setHintingPreference(hintingPreference);
font.setPixelSize(26.0);
+ if (styleStrategy != QFont::PreferDefault)
+ font.setStyleStrategy(styleStrategy);
QRawFont rawFont = QRawFont::fromFont(font, writingSystem);
QVERIFY(rawFont.isValid());
diff --git a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
index 7bc9fe47c5..de12862383 100644
--- a/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
+++ b/tests/auto/gui/text/qtextdocument/tst_qtextdocument.cpp
@@ -197,6 +197,12 @@ private slots:
void clearUndoRedoStacks();
void mergeFontFamilies();
+ void contentsChangeIndices_data();
+ void contentsChangeIndices();
+
+ void insertHtmlWithComments_data();
+ void insertHtmlWithComments();
+
private:
void backgroundImage_checkExpectedHtml(const QTextDocument &doc);
void buildRegExpData();
@@ -3716,5 +3722,100 @@ void tst_QTextDocument::clearUndoRedoStacks()
}
+void tst_QTextDocument::contentsChangeIndices_data()
+{
+ QTest::addColumn<QString>("html");
+ // adding list entries change the entire block, so change position is
+ // not the same as the cursor position if this value is >= 0
+ QTest::addColumn<int>("expectedBegin");
+
+ QTest::addRow("text") << "Test" << -1;
+ QTest::addRow("unnumbered list") << "<ul><li>Test</li></ul>" << 0;
+ QTest::addRow("numbered list") << "<ol><li>Test</li></ol>" << 0;
+ QTest::addRow("table") << "<table><tr><td>Test</td></tr></table>" << -1;
+}
+
+void tst_QTextDocument::contentsChangeIndices()
+{
+ QFETCH(QString, html);
+ QFETCH(int, expectedBegin);
+
+ QTextDocument doc;
+ QTestDocumentLayout *layout = new QTestDocumentLayout(&doc);
+ doc.setDocumentLayout(layout);
+ doc.setHtml(QString("<html><body>%1</body></html>").arg(html));
+
+ int documentLength = 0;
+ int cursorLength = 0;
+ int changeBegin = 0;
+ int changeRemoved = 0;
+ int changeAdded = 0;
+ connect(&doc, &QTextDocument::contentsChange, this, [&](int pos, int removed, int added){
+ documentLength = doc.characterCount();
+
+ QTextCursor cursor(&doc);
+ cursor.movePosition(QTextCursor::End);
+ // includes end-of-paragraph character
+ cursorLength = cursor.position() + 1;
+
+ changeBegin = pos;
+ changeRemoved = removed;
+ changeAdded = added;
+ });
+
+ QTextCursor cursor(&doc);
+ cursor.movePosition(QTextCursor::End);
+ if (expectedBegin < 0)
+ expectedBegin = cursor.position();
+ cursor.insertBlock();
+
+ const int changeEnd = changeBegin + changeAdded;
+
+ QVERIFY(documentLength > 0);
+ QCOMPARE(documentLength, cursorLength);
+ QVERIFY(documentLength >= changeEnd);
+ QCOMPARE(changeBegin, expectedBegin);
+ QCOMPARE(changeAdded - changeRemoved, 1);
+}
+
+void tst_QTextDocument::insertHtmlWithComments_data()
+{
+ QTest::addColumn<QString>("html");
+ QTest::addColumn<QStringList>("expectedBlocks");
+
+ QTest::newRow("commentless") << "<p>first</p><p>second</p><p>third</p>"
+ << QStringList { "first", "second", "third" };
+ QTest::newRow("normal") << "<p>first</p><!--<p>second</p>--><p>third</p>"
+ << QStringList { "first", "third" };
+ QTest::newRow("nonClosing") << "<p>first</p><!--<p>second</p><p>third</p>"
+ << QStringList { "first" };
+ QTest::newRow("immediatelyClosing") << "<p>first</p><!----><p>second</p><p>third</p>"
+ << QStringList { "first", "second", "third" };
+ QTest::newRow("fake") << "<p>first</p><!-<p>second</p><p>third</p>"
+ << QStringList { "first", "second", "third" };
+ QTest::newRow("endingNonExistant") << "<p>first</p>--><p>second</p><p>third</p>"
+ << QStringList { "first", "-->", "second", "third" };
+}
+
+void tst_QTextDocument::insertHtmlWithComments()
+{
+ QFETCH(QString, html);
+ QFETCH(QStringList, expectedBlocks);
+
+ QTextDocument doc;
+ doc.setHtml(html);
+
+ QCOMPARE(doc.blockCount(), expectedBlocks.count());
+
+ QStringList blockContent;
+ auto currentBlock = doc.begin();
+ while (currentBlock != doc.end()) {
+ blockContent.append(currentBlock.text());
+ currentBlock = currentBlock.next();
+ }
+
+ QCOMPARE(blockContent, expectedBlocks);
+}
+
QTEST_MAIN(tst_QTextDocument)
#include "tst_qtextdocument.moc"
diff --git a/tests/auto/gui/text/qtextlayout/BLACKLIST b/tests/auto/gui/text/qtextlayout/BLACKLIST
new file mode 100644
index 0000000000..c05b0de4eb
--- /dev/null
+++ b/tests/auto/gui/text/qtextlayout/BLACKLIST
@@ -0,0 +1,3 @@
+[softHyphens]
+winrt
+
diff --git a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
index c1dd2d97a1..f3bb5eaffb 100644
--- a/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
+++ b/tests/auto/gui/text/qtextlayout/tst_qtextlayout.cpp
@@ -141,6 +141,7 @@ private slots:
void showLineAndParagraphSeparatorsCrash();
void koreanWordWrap();
void tooManyDirectionalCharctersCrash_qtbug77819();
+ void softHyphens_data();
void softHyphens();
void min_maximumWidth();
@@ -1909,6 +1910,20 @@ void tst_QTextLayout::longText()
QFontMetricsF fm(layout.font());
QVERIFY(layout.maximumWidth() - fm.horizontalAdvance(' ') <= QFIXED_MAX);
}
+
+ {
+ QTextLayout layout(QString("AAAAAAAA").repeated(200000));
+ layout.setCacheEnabled(true);
+ layout.beginLayout();
+ forever {
+ QTextLine line = layout.createLine();
+ if (!line.isValid())
+ break;
+ }
+ layout.endLayout();
+ QFontMetricsF fm(layout.font());
+ QVERIFY(layout.maximumWidth() - fm.horizontalAdvance('A') <= QFIXED_MAX);
+ }
}
void tst_QTextLayout::widthOfTabs()
@@ -2415,22 +2430,45 @@ void tst_QTextLayout::tooManyDirectionalCharctersCrash_qtbug77819()
tl.endLayout();
}
+void tst_QTextLayout::softHyphens_data()
+{
+ QTest::addColumn<int>("fontSize");
+
+ QTest::newRow("12") << 12;
+ QTest::newRow("14") << 14;
+ QTest::newRow("16") << 16;
+}
+
void tst_QTextLayout::softHyphens()
{
+ QFETCH(int, fontSize);
QString text = QStringLiteral("xxxx\u00ad") + QStringLiteral("xxxx\u00ad");
QFont font;
- font.setPixelSize(14);
+ font.setPixelSize(fontSize);
font.setHintingPreference(QFont::PreferNoHinting);
- const float xAdvance = QFontMetricsF(font).horizontalAdvance(QChar('x'));
- const float shyAdvance = QFontMetricsF(font).horizontalAdvance(QChar::SoftHyphen);
- if (xAdvance < (shyAdvance + 1.0f))
- QSKIP("Default font not suitable for this test.");
+ const float xAdvance = QFontMetricsF(font).horizontalAdvance(QChar::fromLatin1('x'));
+ float shyWidth = 0.0f;
QTextLayout layout(text, font);
QTextOption option;
option.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
layout.setTextOption(option);
-
+ {
+ // Calculate the effective width of a line-ending hyphen
+ // This calculation is currently done to work-around odditities on
+ // macOS 11 (see QTBUG-90698).
+ QTextLayout test(QStringLiteral("x\u00ad"), font);
+ // Note: This only works because Qt show the soft-hyphen when ending a text.
+ // This _could_ be considered a bug and the test would need to be changed
+ // if we stop doing that.
+ test.beginLayout();
+ QTextLine line = test.createLine();
+ line.setLineWidth(10 * xAdvance);
+ line.setPosition(QPoint(0, 0));
+ shyWidth = line.naturalTextWidth() - xAdvance;
+ test.endLayout();
+ }
+ qreal linefit;
// Loose fit
// xxxx- |
// xxxx- |
@@ -2439,21 +2477,22 @@ void tst_QTextLayout::softHyphens()
int y = 0;
layout.beginLayout();
QTextLine line = layout.createLine();
- line.setLineWidth(qCeil(5 * xAdvance) + 1);
+ line.setLineWidth(qCeil(5 * xAdvance + shyWidth) + 1);
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 5);
- QVERIFY(qAbs(line.naturalTextWidth() - (4 * xAdvance + shyAdvance)) <= 1);
+ linefit = line.naturalTextWidth();
+ QVERIFY(qAbs(linefit - qCeil(4 * xAdvance + shyWidth)) <= 1.0);
pos += line.textLength();
y += qRound(line.ascent() + line.descent());
line = layout.createLine();
- line.setLineWidth(qCeil(5 * xAdvance) + 1);
+ line.setLineWidth(qCeil(5 * xAdvance + shyWidth) + 1);
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 5);
- QVERIFY(qAbs(line.naturalTextWidth() - (4 * xAdvance + shyAdvance)) <= 1);
+ QVERIFY(qAbs(line.naturalTextWidth() - linefit) <= 1.0);
layout.endLayout();
}
@@ -2465,21 +2504,21 @@ void tst_QTextLayout::softHyphens()
int y = 0;
layout.beginLayout();
QTextLine line = layout.createLine();
- line.setLineWidth(qCeil(4 * xAdvance + shyAdvance) + 1);
+ line.setLineWidth(qCeil(linefit) + 1);
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 5);
- QVERIFY(qAbs(line.naturalTextWidth() - (4 * xAdvance + shyAdvance)) <= 1);
+ QVERIFY(qAbs(line.naturalTextWidth() - linefit) <= 1.0);
pos += line.textLength();
y += qRound(line.ascent() + line.descent());
line = layout.createLine();
- line.setLineWidth(qCeil(4 * xAdvance + shyAdvance) + 1);
+ line.setLineWidth(qCeil(linefit) + 1);
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 5);
- QVERIFY(qAbs(line.naturalTextWidth() - (4 * xAdvance + shyAdvance)) <= 1);
+ QVERIFY(qAbs(line.naturalTextWidth() - linefit) <= 1.0);
layout.endLayout();
}
@@ -2496,7 +2535,7 @@ void tst_QTextLayout::softHyphens()
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 4);
- QVERIFY(qAbs(line.naturalTextWidth() - 4 * xAdvance) <= 1);
+ QVERIFY(qAbs(line.naturalTextWidth() - qCeil(4 * xAdvance)) <= 1.0);
pos += line.textLength();
y += qRound(line.ascent() + line.descent());
@@ -2506,7 +2545,7 @@ void tst_QTextLayout::softHyphens()
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 5);
- QVERIFY(qAbs(line.naturalTextWidth() - 4 * xAdvance) <= 1);
+ QVERIFY(qAbs(line.naturalTextWidth() - qCeil(4 * xAdvance)) <= 1.0);
pos += line.textLength();
y += qRound(line.ascent() + line.descent());
@@ -2516,7 +2555,7 @@ void tst_QTextLayout::softHyphens()
line.setPosition(QPoint(0, y));
QCOMPARE(line.textStart(), pos);
QCOMPARE(line.textLength(), 1);
- QVERIFY(qAbs(line.naturalTextWidth() - shyAdvance) <= 1);
+ QVERIFY(qAbs(line.naturalTextWidth() - shyWidth) <= 1.0);
layout.endLayout();
}
}
diff --git a/tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp b/tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp
index 78cc1da36e..2737feba31 100644
--- a/tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp
+++ b/tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp
@@ -73,6 +73,7 @@ public:
Mono = 0x08,
Link = 0x10
};
+ Q_ENUM(CharFormat)
Q_DECLARE_FLAGS(CharFormats, CharFormat)
};
@@ -207,6 +208,9 @@ void tst_QTextMarkdownImporter::lists_data()
QTest::newRow("numeric lists nested in empty lists")
<< "- \n 1. a\n 2. b\n- c\n 1.\n + d\n" << 4 << false
<< "- \n 1. a\n 2. b\n- c 1. + d\n";
+ QTest::newRow("styled spans in list items")
+ << "1. normal text\n2. **bold** text\n3. `code` in the item\n4. *italic* text\n5. _underlined_ text\n" << 5 << false
+ << "1. normal text\n2. **bold** text\n3. `code` in the item\n4. *italic* text\n5. *underlined* text\n";
}
void tst_QTextMarkdownImporter::lists()
@@ -218,11 +222,22 @@ void tst_QTextMarkdownImporter::lists()
QTextDocument doc;
doc.setMarkdown(input); // QTBUG-78870 : don't crash
+
+#ifdef DEBUG_WRITE_HTML
+ {
+ QFile out("/tmp/" + QLatin1String(QTest::currentDataTag()) + ".html");
+ out.open(QFile::WriteOnly);
+ out.write(doc.toHtml().toLatin1());
+ out.close();
+ }
+#endif
+
QTextFrame::iterator iterator = doc.rootFrame()->begin();
QTextFrame *currentFrame = iterator.currentFrame();
int i = 0;
int itemCount = 0;
bool emptyItems = true;
+ QString firstItemFontFamily;
while (!iterator.atEnd()) {
// There are no child frames
QCOMPARE(iterator.currentFrame(), currentFrame);
@@ -235,6 +250,21 @@ void tst_QTextMarkdownImporter::lists()
}
qCDebug(lcTests, "%d %s%s", i,
(block.textList() ? "<li>" : "<p>"), qPrintable(block.text()));
+ QTextCharFormat listItemFmt = block.charFormat();
+ QFont listItemFont = listItemFmt.font();
+ // QTextDocumentLayoutPrivate::drawListItem() uses listItemFont to render numbers in an ordered list.
+ // We want that to be consistent, regardless whether the list item's text begins with a styled span.
+ if (firstItemFontFamily.isEmpty())
+ firstItemFontFamily = listItemFont.family();
+ else
+ QCOMPARE(listItemFont.family(), firstItemFontFamily);
+ QCOMPARE(listItemFont.bold(), false);
+ QCOMPARE(listItemFont.italic(), false);
+ QCOMPARE(listItemFont.underline(), false);
+ QCOMPARE(listItemFont.fixedPitch(), false);
+ QCOMPARE(listItemFmt.fontItalic(), false);
+ QCOMPARE(listItemFmt.fontUnderline(), false);
+ QCOMPARE(listItemFmt.fontFixedPitch(), false);
++iterator;
++i;
}
@@ -324,12 +354,14 @@ void tst_QTextMarkdownImporter::nestedSpans()
<< "weight" << fmt.fontWeight() << "italic" << fmt.fontItalic()
<< "strikeout" << fmt.fontStrikeOut() << "anchor" << fmt.isAnchor()
<< "monospace" << QFontInfo(fmt.font()).fixedPitch() // depends on installed fonts (QTBUG-75649)
- << fmt.fontFixedPitch() // returns false even when font family is "monospace"
- << fmt.hasProperty(QTextFormat::FontFixedPitch); // works
- QCOMPARE(fmt.fontWeight() > 50, expectedFormat.testFlag(Bold));
+ << fmt.fontFixedPitch()
+ << fmt.hasProperty(QTextFormat::FontFixedPitch)
+ << "expected" << expectedFormat;
+ QCOMPARE(fmt.fontWeight() > QFont::Normal, expectedFormat.testFlag(Bold));
QCOMPARE(fmt.fontItalic(), expectedFormat.testFlag(Italic));
QCOMPARE(fmt.fontStrikeOut(), expectedFormat.testFlag(Strikeout));
QCOMPARE(fmt.isAnchor(), expectedFormat.testFlag(Link));
+ QCOMPARE(fmt.fontFixedPitch(), expectedFormat.testFlag(Mono));
QCOMPARE(fmt.hasProperty(QTextFormat::FontFixedPitch), expectedFormat.testFlag(Mono));
++iterator;
}
diff --git a/tests/auto/gui/text/qtextmarkdownwriter/tst_qtextmarkdownwriter.cpp b/tests/auto/gui/text/qtextmarkdownwriter/tst_qtextmarkdownwriter.cpp
index 13449299cb..b60b07ea30 100644
--- a/tests/auto/gui/text/qtextmarkdownwriter/tst_qtextmarkdownwriter.cpp
+++ b/tests/auto/gui/text/qtextmarkdownwriter/tst_qtextmarkdownwriter.cpp
@@ -51,6 +51,7 @@ private slots:
void testWriteParagraph();
void testWriteList();
void testWriteEmptyList();
+ void testWriteCheckboxListItemEndingWithCode();
void testWriteNestedBulletLists_data();
void testWriteNestedBulletLists();
void testWriteNestedNumericLists();
@@ -133,6 +134,34 @@ void tst_QTextMarkdownWriter::testWriteEmptyList()
QCOMPARE(documentToUnixMarkdown(), QString::fromLatin1("- \n"));
}
+void tst_QTextMarkdownWriter::testWriteCheckboxListItemEndingWithCode()
+{
+ QTextCursor cursor(document);
+ QTextList *list = cursor.createList(QTextListFormat::ListDisc);
+ cursor.insertText("Image.originalSize property (not necessary; PdfDocument.pagePointSize() substitutes)");
+ list->add(cursor.block());
+ {
+ auto fmt = cursor.block().blockFormat();
+ fmt.setMarker(QTextBlockFormat::MarkerType::Unchecked);
+ cursor.setBlockFormat(fmt);
+ }
+ cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::MoveAnchor, 2);
+ cursor.movePosition(QTextCursor::Left, QTextCursor::MoveAnchor);
+ cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor, 4);
+ QCOMPARE(cursor.selectedText(), QString::fromLatin1("PdfDocument.pagePointSize()"));
+ auto fmt = cursor.charFormat();
+ fmt.setFontFixedPitch(true);
+ cursor.setCharFormat(fmt);
+ cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::MoveAnchor, 5);
+ cursor.movePosition(QTextCursor::Left, QTextCursor::MoveAnchor);
+ cursor.movePosition(QTextCursor::PreviousWord, QTextCursor::KeepAnchor, 4);
+ QCOMPARE(cursor.selectedText(), QString::fromLatin1("Image.originalSize"));
+ cursor.setCharFormat(fmt);
+
+ QCOMPARE(documentToUnixMarkdown(), QString::fromLatin1(
+ "- [ ] `Image.originalSize` property (not necessary; `PdfDocument.pagePointSize()`\n substitutes)\n"));
+}
+
void tst_QTextMarkdownWriter::testWriteNestedBulletLists_data()
{
QTest::addColumn<bool>("checkbox");
diff --git a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
index 474079037b..7d4921203c 100644
--- a/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
+++ b/tests/auto/gui/text/qtexttable/tst_qtexttable.cpp
@@ -29,7 +29,7 @@
#include <QtTest/QtTest>
-
+#include <qbuffer.h>
#include <qtextdocument.h>
#include <qtextdocumentfragment.h>
#include <qtexttable.h>
@@ -44,6 +44,7 @@
#include <QPainter>
#include <QPaintEngine>
#endif
+#include <private/qtextdocumentlayout_p.h>
#include <private/qpagedpaintdevice_p.h>
typedef QList<int> IntList;
@@ -100,6 +101,13 @@ private slots:
void checkBorderAttributes_data();
void checkBorderAttributes();
+#ifndef QT_NO_WIDGETS
+ void columnWidthWithSpans();
+
+ void columnWidthWithImage_data();
+ void columnWidthWithImage();
+#endif
+
private:
QTextTable *create2x2Table();
QTextTable *create4x4Table();
@@ -1278,5 +1286,84 @@ void tst_QTextTable::checkBorderAttributes()
}
}
+#ifndef QT_NO_WIDGETS
+void tst_QTextTable::columnWidthWithSpans()
+{
+ cleanup();
+ init();
+ QTextTable *table = cursor.insertTable(4, 4);
+ QTextEdit textEdit;
+ textEdit.setDocument(doc);
+ textEdit.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&textEdit));
+
+ for (int i = 0; i < table->columns(); ++i)
+ table->cellAt(0, i).firstCursorPosition().insertText(QString("Header %1").arg(i));
+
+ QTextBlock block = table->cellAt(0, 0).firstCursorPosition().block();
+ const QRectF beforeRect = table->document()->documentLayout()->blockBoundingRect(block);
+ table->mergeCells(1, 0, 1, table->columns());
+ block = table->cellAt(0, 0).firstCursorPosition().block();
+ const QRectF afterRect = table->document()->documentLayout()->blockBoundingRect(block);
+ QCOMPARE(afterRect, beforeRect);
+}
+
+void tst_QTextTable::columnWidthWithImage_data()
+{
+ const auto imageHtml = [](int width, int height) {
+ QImage image(width, height, QImage::Format_RGB32);
+ image.fill(Qt::red);
+ QByteArray imageBytes;
+ QBuffer buffer(&imageBytes);
+ buffer.open(QIODevice::WriteOnly);
+ image.save(&buffer, "png");
+ return QString("<td><img src='data:image/png;base64,%1'/></td>")
+ .arg(QString::fromLatin1(imageBytes.toBase64()));
+ };
+
+ QTest::addColumn<QString>("leftHtml");
+ QTest::addColumn<QString>("rightHtml");
+ QTest::addColumn<QSize>("imageSize");
+ QTest::addRow("image")
+ << imageHtml(500, 32) << "<td></td>" << QSize(500, 32);
+ QTest::addRow("image, text")
+ << imageHtml(32, 32) << "<td>abc</td>" << QSize(32, 32);
+ QTest::addRow("image, 100%% text")
+ << imageHtml(32, 32) << "<td style='background-color: grey' width='100%'>abc</td>"
+ << QSize(32, 32);
+ QTest::addRow("image, image")
+ << imageHtml(256, 32) << imageHtml(256, 32) << QSize(256, 32);
+}
+
+void tst_QTextTable::columnWidthWithImage()
+{
+ const QString tableTemplate = "<table><tr>%1 %2</tr></table>";
+
+ QFETCH(QString, leftHtml);
+ QFETCH(QString, rightHtml);
+ QFETCH(QSize, imageSize);
+
+ QTextDocument doc;
+ doc.setHtml(tableTemplate.arg(leftHtml).arg(rightHtml));
+ QTextEdit textEdit;
+ textEdit.setDocument(&doc);
+ textEdit.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&textEdit));
+
+ QTextCursor cursor(doc.firstBlock());
+ cursor.movePosition(QTextCursor::Right);
+
+ QTextTable *currentTable = cursor.currentTable();
+ QVERIFY(currentTable);
+
+ QTextBlock block = currentTable->cellAt(0, 0).firstCursorPosition().block();
+ const QRectF leftRect = currentTable->document()->documentLayout()->blockBoundingRect(block);
+ block = currentTable->cellAt(0, 1).firstCursorPosition().block();
+ const QRectF rightRect = currentTable->document()->documentLayout()->blockBoundingRect(block);
+ QCOMPARE(leftRect.size().toSize(), imageSize);
+ QVERIFY(rightRect.left() > leftRect.right());
+}
+#endif
+
QTEST_MAIN(tst_QTextTable)
#include "tst_qtexttable.moc"
diff --git a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp
index 4d95345de9..a53524e956 100644
--- a/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp
+++ b/tests/auto/gui/util/qdesktopservices/tst_qdesktopservices.cpp
@@ -69,6 +69,10 @@ public slots:
}
};
+#if QT_VERSION < QT_VERSION_CHECK(6, 6, 0)
+# define CAN_IMPLICITLY_UNSET
+#endif
+
void tst_qdesktopservices::handlers()
{
MyUrlHandler fooHandler;
@@ -76,6 +80,12 @@ void tst_qdesktopservices::handlers()
QDesktopServices::setUrlHandler(QString("foo"), &fooHandler, "handle");
QDesktopServices::setUrlHandler(QString("bar"), &barHandler, "handle");
+#ifndef CAN_IMPLICITLY_UNSET
+ const auto unsetHandlers = qScopeGuard([] {
+ QDesktopServices::unsetUrlHandler(u"bar"_qs);
+ QDesktopServices::unsetUrlHandler(u"foo"_qs);
+ });
+#endif
QUrl fooUrl("foo://blub/meh");
QUrl barUrl("bar://hmm/hmmmm");
@@ -85,6 +95,15 @@ void tst_qdesktopservices::handlers()
QCOMPARE(fooHandler.lastHandledUrl.toString(), fooUrl.toString());
QCOMPARE(barHandler.lastHandledUrl.toString(), barUrl.toString());
+
+#ifdef CAN_IMPLICITLY_UNSET
+ for (int i = 0; i < 2; ++i)
+ QTest::ignoreMessage(QtWarningMsg,
+ "Please call QDesktopServices::unsetUrlHandler() before destroying a "
+ "registered URL handler object.\n"
+ "Support for destroying a registered URL handler object is deprecated, "
+ "and will be removed in Qt 6.6.");
+#endif
}
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
diff --git a/tests/auto/network/access/hsts/tst_qhsts.cpp b/tests/auto/network/access/hsts/tst_qhsts.cpp
index d72991a2eb..c3c5f58c22 100644
--- a/tests/auto/network/access/hsts/tst_qhsts.cpp
+++ b/tests/auto/network/access/hsts/tst_qhsts.cpp
@@ -242,6 +242,12 @@ void tst_QHsts::testSTSHeaderParser()
QVERIFY(parser.includeSubDomains());
list.pop_back();
+ list << Header("strict-transport-security", "includeSubDomains;max-age=1000");
+ QVERIFY(parser.parse(list));
+ QVERIFY(parser.expirationDate() > QDateTime::currentDateTimeUtc());
+ QVERIFY(parser.includeSubDomains());
+
+ list.pop_back();
// Invalid (includeSubDomains twice):
list << Header("Strict-Transport-Security", "max-age = 1000 ; includeSubDomains;includeSubDomains");
QVERIFY(!parser.parse(list));
diff --git a/tests/auto/network/access/http2/BLACKLIST b/tests/auto/network/access/http2/BLACKLIST
new file mode 100644
index 0000000000..7e33718450
--- /dev/null
+++ b/tests/auto/network/access/http2/BLACKLIST
@@ -0,0 +1,5 @@
+# See qtbase/src/testlib/qtestblacklist.cpp for format
+[authenticationRequired]
+ci ubuntu-20.04 # QTBUG-106599
+[redirect]
+ci ubuntu-20.04 # QTBUG-106599
diff --git a/tests/auto/network/access/http2/certs/fluke.cert b/tests/auto/network/access/http2/certs/fluke.cert
index ace4e4f0eb..4cc4d9a5ea 100644
--- a/tests/auto/network/access/http2/certs/fluke.cert
+++ b/tests/auto/network/access/http2/certs/fluke.cert
@@ -1,75 +1,34 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 0 (0x0)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NO, ST=Oslo, L=Nydalen, O=Nokia Corporation and/or its subsidiary(-ies), OU=Development, CN=fluke.troll.no/emailAddress=ahanssen@trolltech.com
- Validity
- Not Before: Dec 4 01:10:32 2007 GMT
- Not After : Apr 21 01:10:32 2035 GMT
- Subject: C=NO, ST=Oslo, O=Nokia Corporation and/or its subsidiary(-ies), OU=Development, CN=fluke.troll.no
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (1024 bit)
- Modulus (1024 bit):
- 00:a7:c8:a0:4a:c4:19:05:1b:66:ba:32:e2:d2:f1:
- 1c:6f:17:82:e4:39:2e:01:51:90:db:04:34:32:11:
- 21:c2:0d:6f:59:d8:53:90:54:3f:83:8f:a9:d3:b3:
- d5:ee:1a:9b:80:ae:c3:25:c9:5e:a5:af:4b:60:05:
- aa:a0:d1:91:01:1f:ca:04:83:e3:58:1c:99:32:45:
- 84:70:72:58:03:98:4a:63:8b:41:f5:08:49:d2:91:
- 02:60:6b:e4:64:fe:dd:a0:aa:74:08:e9:34:4c:91:
- 5f:12:3d:37:4d:54:2c:ad:7f:5b:98:60:36:02:8c:
- 3b:f6:45:f3:27:6a:9b:94:9d
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 21:85:04:3D:23:01:66:E5:F7:9F:1A:84:24:8A:AF:0A:79:F4:E5:AC
- X509v3 Authority Key Identifier:
- DirName:/C=NO/ST=Oslo/L=Nydalen/O=Nokia Corporation and/or its subsidiary(-ies)/OU=Development/CN=fluke.troll.no/emailAddress=ahanssen@trolltech.com
- serial:8E:A8:B4:E8:91:B7:54:2E
-
- Signature Algorithm: sha1WithRSAEncryption
- 6d:57:5f:d1:05:43:f0:62:05:ec:2a:71:a5:dc:19:08:f2:c4:
- a6:bd:bb:25:d9:ca:89:01:0e:e4:cf:1f:c1:8c:c8:24:18:35:
- 53:59:7b:c0:43:b4:32:e6:98:b2:a6:ef:15:05:0b:48:5f:e1:
- a0:0c:97:a9:a1:77:d8:35:18:30:bc:a9:8f:d3:b7:54:c7:f1:
- a9:9e:5d:e6:19:bf:f6:3c:5b:2b:d8:e4:3e:62:18:88:8b:d3:
- 24:e1:40:9b:0c:e6:29:16:62:ab:ea:05:24:70:36:aa:55:93:
- ef:02:81:1b:23:10:a2:04:eb:56:95:75:fc:f8:94:b1:5d:42:
- c5:3f:36:44:85:5d:3a:2e:90:46:8a:a2:b9:6f:87:ae:0c:15:
- 40:19:31:90:fc:3b:25:bb:ae:f1:66:13:0d:85:90:d9:49:34:
- 8f:f2:5d:f9:7a:db:4d:5d:27:f6:76:9d:35:8c:06:a6:4c:a3:
- b1:b2:b6:6f:1d:d7:a3:00:fd:72:eb:9e:ea:44:a1:af:21:34:
- 7d:c7:42:e2:49:91:19:8b:c0:ad:ba:82:80:a8:71:70:f4:35:
- 31:91:63:84:20:95:e9:60:af:64:8b:cc:ff:3d:8a:76:74:3d:
- c8:55:6d:e4:8e:c3:2b:1c:e8:42:18:ae:9f:e6:6b:9c:34:06:
- ec:6a:f2:c3
-----BEGIN CERTIFICATE-----
-MIIEEzCCAvugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMCTk8x
-DTALBgNVBAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xs
-dGVjaCBBU0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50
-cm9sbC5ubzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbTAe
-Fw0wNzEyMDQwMTEwMzJaFw0zNTA0MjEwMTEwMzJaMGMxCzAJBgNVBAYTAk5PMQ0w
-CwYDVQQIEwRPc2xvMRYwFAYDVQQKEw1Ucm9sbHRlY2ggQVNBMRQwEgYDVQQLEwtE
-ZXZlbG9wbWVudDEXMBUGA1UEAxMOZmx1a2UudHJvbGwubm8wgZ8wDQYJKoZIhvcN
-AQEBBQADgY0AMIGJAoGBAKfIoErEGQUbZroy4tLxHG8XguQ5LgFRkNsENDIRIcIN
-b1nYU5BUP4OPqdOz1e4am4CuwyXJXqWvS2AFqqDRkQEfygSD41gcmTJFhHByWAOY
-SmOLQfUISdKRAmBr5GT+3aCqdAjpNEyRXxI9N01ULK1/W5hgNgKMO/ZF8ydqm5Sd
-AgMBAAGjggEaMIIBFjAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM
-IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIYUEPSMBZuX3nxqEJIqv
-Cnn05awwgbsGA1UdIwSBszCBsKGBoqSBnzCBnDELMAkGA1UEBhMCTk8xDTALBgNV
-BAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xsdGVjaCBB
-U0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50cm9sbC5u
-bzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbYIJAI6otOiR
-t1QuMA0GCSqGSIb3DQEBBQUAA4IBAQBtV1/RBUPwYgXsKnGl3BkI8sSmvbsl2cqJ
-AQ7kzx/BjMgkGDVTWXvAQ7Qy5piypu8VBQtIX+GgDJepoXfYNRgwvKmP07dUx/Gp
-nl3mGb/2PFsr2OQ+YhiIi9Mk4UCbDOYpFmKr6gUkcDaqVZPvAoEbIxCiBOtWlXX8
-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
+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
-----END CERTIFICATE-----
diff --git a/tests/auto/network/access/http2/certs/fluke.key b/tests/auto/network/access/http2/certs/fluke.key
index 9d1664d609..337ce541a6 100644
--- a/tests/auto/network/access/http2/certs/fluke.key
+++ b/tests/auto/network/access/http2/certs/fluke.key
@@ -1,15 +1,52 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQCnyKBKxBkFG2a6MuLS8RxvF4LkOS4BUZDbBDQyESHCDW9Z2FOQ
-VD+Dj6nTs9XuGpuArsMlyV6lr0tgBaqg0ZEBH8oEg+NYHJkyRYRwclgDmEpji0H1
-CEnSkQJga+Rk/t2gqnQI6TRMkV8SPTdNVCytf1uYYDYCjDv2RfMnapuUnQIDAQAB
-AoGANFzLkanTeSGNFM0uttBipFT9F4a00dqHz6JnO7zXAT26I5r8sU1pqQBb6uLz
-/+Qz5Zwk8RUAQcsMRgJetuPQUb0JZjF6Duv24hNazqXBCu7AZzUenjafwmKC/8ri
-KpX3fTwqzfzi//FKGgbXQ80yykSSliDL3kn/drATxsLCgQECQQDXhEFWLJ0vVZ1s
-1Ekf+3NITE+DR16X+LQ4W6vyEHAjTbaNWtcTKdAWLA2l6N4WAAPYSi6awm+zMxx4
-VomVTsjdAkEAx0z+e7natLeFcrrq8pbU+wa6SAP1VfhQWKitxL1e7u/QO90NCpxE
-oQYKzMkmmpOOFjQwEMAy1dvFMbm4LHlewQJAC/ksDBaUcQHHqjktCtrUb8rVjAyW
-A8lscckeB2fEYyG5J6dJVaY4ClNOOs5yMDS2Afk1F6H/xKvtQ/5CzInA/QJATDub
-K+BPU8jO9q+gpuIi3VIZdupssVGmCgObVCHLakG4uO04y9IyPhV9lA9tALtoIf4c
-VIvv5fWGXBrZ48kZAQJBAJmVCdzQxd9LZI5vxijUCj5EI4e+x5DRqVUvyP8KCZrC
-AiNyoDP85T+hBZaSXK3aYGpVwelyj3bvo1GrTNwNWLw=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+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
+g0veFbyfzlJ0q8qzD/iffqqIa2ZSmQ==
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/access/http2/http2srv.cpp b/tests/auto/network/access/http2/http2srv.cpp
index e2f039e2f7..ab760dd2b0 100644
--- a/tests/auto/network/access/http2/http2srv.cpp
+++ b/tests/auto/network/access/http2/http2srv.cpp
@@ -125,6 +125,12 @@ void Http2Server::setAuthenticationHeader(const QByteArray &authentication)
authenticationHeader = authentication;
}
+void Http2Server::setRedirect(const QByteArray &url, int count)
+{
+ redirectUrl = url;
+ redirectCount = count;
+}
+
void Http2Server::emulateGOAWAY(int timeout)
{
Q_ASSERT(timeout >= 0);
@@ -855,7 +861,10 @@ void Http2Server::sendResponse(quint32 streamID, bool emptyBody)
const QString url("%1://localhost:%2/");
header.push_back({"location", url.arg(isClearText() ? QStringLiteral("http") : QStringLiteral("https"),
QString::number(targetPort)).toLatin1()});
-
+ } else if (redirectCount > 0) { // Not redirecting while reading, unlike above
+ --redirectCount;
+ header.push_back({":status", "308"});
+ header.push_back({"location", redirectUrl});
} else if (!authenticationHeader.isEmpty() && !hasAuth) {
header.push_back({ ":status", "401" });
header.push_back(HPack::HeaderField("www-authenticate", authenticationHeader));
diff --git a/tests/auto/network/access/http2/http2srv.h b/tests/auto/network/access/http2/http2srv.h
index 013af86cc8..5f8c5aa77e 100644
--- a/tests/auto/network/access/http2/http2srv.h
+++ b/tests/auto/network/access/http2/http2srv.h
@@ -88,6 +88,9 @@ public:
void setResponseBody(const QByteArray &body);
// No authentication data is generated for the method, the full header value must be set
void setAuthenticationHeader(const QByteArray &authentication);
+ // Set the redirect URL and count. The server will return a redirect response with the url
+ // 'count' amount of times
+ void setRedirect(const QByteArray &redirectUrl, int count);
void emulateGOAWAY(int timeout);
void redirectOpenStream(quint16 targetPort);
@@ -219,6 +222,9 @@ private:
QAtomicInt interrupted;
QByteArray authenticationHeader;
+
+ QByteArray redirectUrl;
+ int redirectCount = 0;
protected slots:
void ignoreErrorSlot();
};
diff --git a/tests/auto/network/access/http2/tst_http2.cpp b/tests/auto/network/access/http2/tst_http2.cpp
index 0d851cd3df..bf8c779909 100644
--- a/tests/auto/network/access/http2/tst_http2.cpp
+++ b/tests/auto/network/access/http2/tst_http2.cpp
@@ -110,10 +110,14 @@ private slots:
void connectToHost_data();
void connectToHost();
void maxFrameSize();
+ void http2DATAFrames();
void authenticationRequired_data();
void authenticationRequired();
+ void redirect_data();
+ void redirect();
+
protected slots:
// Slots to listen to our in-process server:
void serverStarted(quint16 port);
@@ -271,6 +275,10 @@ void tst_Http2::singleRequest()
request.setAttribute(h2Attribute, QVariant(true));
auto reply = manager->get(request);
+#if QT_CONFIG(ssl)
+ QSignalSpy encSpy(reply, &QNetworkReply::encrypted);
+#endif // QT_CONFIG(ssl)
+
connect(reply, &QNetworkReply::finished, this, &tst_Http2::replyFinished);
// Since we're using self-signed certificates,
// ignore SSL errors:
@@ -285,6 +293,11 @@ void tst_Http2::singleRequest()
QCOMPARE(reply->error(), QNetworkReply::NoError);
QVERIFY(reply->isFinished());
+
+#if QT_CONFIG(ssl)
+ if (connectionType == H2Type::h2Alpn || connectionType == H2Type::h2Direct)
+ QCOMPARE(encSpy.count(), 1);
+#endif // QT_CONFIG(ssl)
}
void tst_Http2::multipleRequests()
@@ -771,6 +784,89 @@ void tst_Http2::maxFrameSize()
QVERIFY(serverGotSettingsACK);
}
+void tst_Http2::http2DATAFrames()
+{
+ using namespace Http2;
+
+ {
+ // 0. DATA frame with payload, no padding.
+
+ FrameWriter writer(FrameType::DATA, FrameFlag::EMPTY, 1);
+ writer.append(uchar(1));
+ writer.append(uchar(2));
+ writer.append(uchar(3));
+
+ const Frame frame = writer.outboundFrame();
+ const auto &buffer = frame.buffer;
+ // Frame's header is 9 bytes + 3 bytes of payload
+ // (+ 0 bytes of padding and no padding length):
+ QCOMPARE(int(buffer.size()), 12);
+
+ QVERIFY(!frame.padding());
+ QCOMPARE(int(frame.payloadSize()), 3);
+ QCOMPARE(int(frame.dataSize()), 3);
+ QCOMPARE(frame.dataBegin() - buffer.data(), 9);
+ QCOMPARE(char(*frame.dataBegin()), uchar(1));
+ }
+
+ {
+ // 1. DATA with padding.
+
+ const int padLength = 10;
+ FrameWriter writer(FrameType::DATA, FrameFlag::END_STREAM | FrameFlag::PADDED, 1);
+ writer.append(uchar(padLength)); // The length of padding is 1 byte long.
+ writer.append(uchar(1));
+ for (int i = 0; i < padLength; ++i)
+ writer.append(uchar(0));
+
+ const Frame frame = writer.outboundFrame();
+ const auto &buffer = frame.buffer;
+ // Frame's header is 9 bytes + 1 byte for padding length
+ // + 1 byte of data + 10 bytes of padding:
+ QCOMPARE(int(buffer.size()), 21);
+
+ QCOMPARE(frame.padding(), padLength);
+ QCOMPARE(int(frame.payloadSize()), 12); // Includes padding, its length + data.
+ QCOMPARE(int(frame.dataSize()), 1);
+
+ // Skipping 9 bytes long header and padding length:
+ QCOMPARE(frame.dataBegin() - buffer.data(), 10);
+
+ QCOMPARE(char(frame.dataBegin()[0]), uchar(1));
+ QCOMPARE(char(frame.dataBegin()[1]), uchar(0));
+
+ QVERIFY(frame.flags().testFlag(FrameFlag::END_STREAM));
+ QVERIFY(frame.flags().testFlag(FrameFlag::PADDED));
+ }
+ {
+ // 2. DATA with PADDED flag, but 0 as padding length.
+
+ FrameWriter writer(FrameType::DATA, FrameFlag::END_STREAM | FrameFlag::PADDED, 1);
+
+ writer.append(uchar(0)); // Number of padding bytes is 1 byte long.
+ writer.append(uchar(1));
+
+ const Frame frame = writer.outboundFrame();
+ const auto &buffer = frame.buffer;
+
+ // Frame's header is 9 bytes + 1 byte for padding length + 1 byte of data
+ // + 0 bytes of padding:
+ QCOMPARE(int(buffer.size()), 11);
+
+ QCOMPARE(frame.padding(), 0);
+ QCOMPARE(int(frame.payloadSize()), 2); // Includes padding (0 bytes), its length + data.
+ QCOMPARE(int(frame.dataSize()), 1);
+
+ // Skipping 9 bytes long header and padding length:
+ QCOMPARE(frame.dataBegin() - buffer.data(), 10);
+
+ QCOMPARE(char(*frame.dataBegin()), uchar(1));
+
+ QVERIFY(frame.flags().testFlag(FrameFlag::END_STREAM));
+ QVERIFY(frame.flags().testFlag(FrameFlag::PADDED));
+ }
+}
+
void tst_Http2::authenticationRequired_data()
{
QTest::addColumn<bool>("success");
@@ -787,6 +883,7 @@ void tst_Http2::authenticationRequired_data()
void tst_Http2::authenticationRequired()
{
clearHTTP2State();
+ serverPort = 0;
QFETCH(const bool, responseHEADOnly);
POSTResponseHEADOnly = responseHEADOnly;
@@ -855,6 +952,76 @@ void tst_Http2::authenticationRequired()
QCOMPARE(isAuthenticated(reqAuthHeader), success);
if (success)
QCOMPARE(receivedBody, expectedBody);
+ // In the `!success` case we need to wait for the server to emit this or it might cause issues
+ // in the next test running after this. In the `success` case we anyway expect it to have been
+ // received.
+ QTRY_VERIFY(serverGotSettingsACK);
+}
+
+void tst_Http2::redirect_data()
+{
+ QTest::addColumn<int>("maxRedirects");
+ QTest::addColumn<int>("redirectCount");
+ QTest::addColumn<bool>("success");
+
+ QTest::addRow("1-redirects-none-allowed-failure") << 0 << 1 << false;
+ QTest::addRow("1-redirects-success") << 1 << 1 << true;
+ QTest::addRow("2-redirects-1-allowed-failure") << 1 << 2 << false;
+}
+
+void tst_Http2::redirect()
+{
+ QFETCH(const int, maxRedirects);
+ QFETCH(const int, redirectCount);
+ QFETCH(const bool, success);
+ const QByteArray redirectUrl = "/b.html";
+
+ clearHTTP2State();
+ serverPort = 0;
+
+ ServerPtr targetServer(newServer(defaultServerSettings, defaultConnectionType()));
+ targetServer->setRedirect(redirectUrl, redirectCount);
+
+ QMetaObject::invokeMethod(targetServer.data(), "startServer", Qt::QueuedConnection);
+ runEventLoop();
+
+ QVERIFY(serverPort != 0);
+
+ nRequests = 1 + maxRedirects;
+
+ auto originalUrl = requestUrl(defaultConnectionType());
+ auto url = originalUrl;
+ url.setPath("/index.html");
+ QNetworkRequest request(url);
+ request.setAttribute(QNetworkRequest::Http2AllowedAttribute, QVariant(true));
+ request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
+ request.setMaximumRedirectsAllowed(maxRedirects);
+
+ QScopedPointer<QNetworkReply> reply;
+ reply.reset(manager->get(request));
+
+ if (success) {
+ connect(reply.get(), &QNetworkReply::finished, this, &tst_Http2::replyFinished);
+ } else {
+ connect(reply.get(), &QNetworkReply::errorOccurred, this,
+ &tst_Http2::replyFinishedWithError);
+ }
+
+ // Since we're using self-signed certificates,
+ // ignore SSL errors:
+ reply->ignoreSslErrors();
+
+ runEventLoop();
+ STOP_ON_FAILURE
+
+ if (success) {
+ QCOMPARE(reply->error(), QNetworkReply::NoError);
+ QCOMPARE(reply->url().toString(),
+ originalUrl.resolved(QString::fromLatin1(redirectUrl)).toString());
+ } else if (maxRedirects < redirectCount) {
+ QCOMPARE(reply->error(), QNetworkReply::TooManyRedirectsError);
+ }
+ QTRY_VERIFY(serverGotSettingsACK);
}
void tst_Http2::serverStarted(quint16 port)
diff --git a/tests/auto/network/access/qdecompresshelper/BLACKLIST b/tests/auto/network/access/qdecompresshelper/BLACKLIST
new file mode 100644
index 0000000000..d189fd9e00
--- /dev/null
+++ b/tests/auto/network/access/qdecompresshelper/BLACKLIST
@@ -0,0 +1,2 @@
+[bigZlib]
+macos arm
diff --git a/tests/auto/network/access/qftp/BLACKLIST b/tests/auto/network/access/qftp/BLACKLIST
index 0a99f3eb00..59ed606207 100644
--- a/tests/auto/network/access/qftp/BLACKLIST
+++ b/tests/auto/network/access/qftp/BLACKLIST
@@ -14,3 +14,5 @@ ubuntu
osx
[list:epsvNotSupported]
*
+[initTestCase]
+ci ubuntu-20.04 # QTBUG-109022
diff --git a/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp b/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
index 55482fed97..0a78c8967a 100644
--- a/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
+++ b/tests/auto/network/access/qnetworkcookiejar/tst_qnetworkcookiejar.cpp
@@ -413,13 +413,11 @@ void tst_QNetworkCookieJar::effectiveTLDs_data()
QTest::newRow("yes1") << "com" << true;
QTest::newRow("yes2") << "de" << true;
- QTest::newRow("yes3") << "ulm.museum" << true;
QTest::newRow("yes4") << "krodsherad.no" << true;
QTest::newRow("yes5") << "1.bg" << true;
QTest::newRow("yes6") << "com.cn" << true;
QTest::newRow("yes7") << "org.ws" << true;
QTest::newRow("yes8") << "co.uk" << true;
- QTest::newRow("yes9") << "wallonie.museum" << true;
QTest::newRow("yes10") << "hk.com" << true;
QTest::newRow("yes11") << "hk.org" << true;
@@ -436,33 +434,23 @@ void tst_QNetworkCookieJar::effectiveTLDs_data()
QTest::newRow("no11") << "mosreg.ru" << false;
const ushort s1[] = {0x74, 0x72, 0x61, 0x6e, 0xf8, 0x79, 0x2e, 0x6e, 0x6f, 0x00}; // xn--trany-yua.no
- const ushort s2[] = {0x5d9, 0x5e8, 0x5d5, 0x5e9, 0x5dc, 0x5d9, 0x5dd, 0x2e, 0x6d, 0x75, 0x73, 0x65, 0x75, 0x6d, 0x00}; // xn--9dbhblg6di.museum
const ushort s3[] = {0x7ec4, 0x7e54, 0x2e, 0x68, 0x6b, 0x00}; // xn--mk0axi.hk
const ushort s4[] = {0x7f51, 0x7edc, 0x2e, 0x63, 0x6e, 0x00}; // xn--io0a7i.cn
const ushort s5[] = {0x72, 0xe1, 0x68, 0x6b, 0x6b, 0x65, 0x72, 0xe1, 0x76, 0x6a, 0x75, 0x2e, 0x6e, 0x6f, 0x00}; // xn--rhkkervju-01af.no
const ushort s6[] = {0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, 0x00}; // xn--clchc0ea0b2g2a9gcd
const ushort s7[] = {0x627, 0x644, 0x627, 0x631, 0x62f, 0x646, 0x00}; // xn--mgbayh7gpa
- const ushort s8[] = {0x63, 0x6f, 0x72, 0x72, 0x65, 0x69, 0x6f, 0x73, 0x2d, 0x65, 0x2d, 0x74, 0x65, 0x6c, 0x65,
- 0x63, 0x6f, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0xe7, 0xf5, 0x65, 0x73, 0x2e, 0x6d, 0x75,
- 0x73, 0x65, 0x75, 0x6d, 0x00}; // xn--correios-e-telecomunicaes-ghc29a.museum
QTest::newRow("yes-specialchars1") << QString::fromUtf16(s1) << true;
- QTest::newRow("yes-specialchars2") << QString::fromUtf16(s2) << true;
QTest::newRow("yes-specialchars3") << QString::fromUtf16(s3) << true;
QTest::newRow("yes-specialchars4") << QString::fromUtf16(s4) << true;
QTest::newRow("yes-specialchars5") << QString::fromUtf16(s5) << true;
QTest::newRow("yes-specialchars6") << QString::fromUtf16(s6) << true;
QTest::newRow("yes-specialchars7") << QString::fromUtf16(s7) << true;
- QTest::newRow("yes-specialchars8") << QString::fromUtf16(s8) << true;
QTest::newRow("no-specialchars1") << QString::fromUtf16(s1).prepend("something") << false;
- QTest::newRow("no-specialchars2") << QString::fromUtf16(s2).prepend(QString::fromUtf16(s2)) << false;
- QTest::newRow("no-specialchars2.5") << QString::fromUtf16(s2).prepend("whatever") << false;
QTest::newRow("no-specialchars3") << QString::fromUtf16(s3).prepend("foo") << false;
QTest::newRow("no-specialchars4") << QString::fromUtf16(s4).prepend("bar") << false;
- QTest::newRow("no-specialchars5") << QString::fromUtf16(s5).prepend(QString::fromUtf16(s2)) << false;
QTest::newRow("no-specialchars6") << QString::fromUtf16(s6).prepend(QLatin1Char('.') + QString::fromUtf16(s6)) << false;
QTest::newRow("no-specialchars7") << QString::fromUtf16(s7).prepend("bla") << false;
- QTest::newRow("no-specialchars8") << QString::fromUtf16(s8).append("foo") << false;
QTest::newRow("exception1") << "pref.iwate.jp" << false;
QTest::newRow("exception2") << "omanpost.om" << false;
diff --git a/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp b/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
index 856033fb63..98b2a0d2f7 100644
--- a/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
+++ b/tests/auto/network/access/qnetworkdiskcache/tst_qnetworkdiskcache.cpp
@@ -35,6 +35,7 @@
#include <algorithm>
#define EXAMPLE_URL "http://user:pass@localhost:4/#foo"
+#define EXAMPLE_URL2 "http://user:pass@localhost:4/bar"
//cached objects are organized into these many subdirs
#define NUM_SUBDIRECTORIES 16
@@ -141,7 +142,7 @@ class SubQNetworkDiskCache : public QNetworkDiskCache
public:
~SubQNetworkDiskCache()
{
- if (!cacheDirectory().isEmpty())
+ if (!cacheDirectory().isEmpty() && clearOnDestruction)
clear();
}
@@ -170,6 +171,11 @@ public:
d->write("Hello World!");
insert(d);
}
+
+ void setClearCacheOnDestruction(bool value) { clearOnDestruction = value; }
+
+private:
+ bool clearOnDestruction = true;
};
tst_QNetworkDiskCache::tst_QNetworkDiskCache()
@@ -241,17 +247,39 @@ void tst_QNetworkDiskCache::prepare()
// public qint64 cacheSize() const
void tst_QNetworkDiskCache::cacheSize()
{
- SubQNetworkDiskCache cache;
- cache.setCacheDirectory(tempDir.path());
- QCOMPARE(cache.cacheSize(), qint64(0));
+ qint64 cacheSize = 0;
+ {
+ SubQNetworkDiskCache cache;
+ cache.setCacheDirectory(tempDir.path());
+ QCOMPARE(cache.cacheSize(), qint64(0));
- QUrl url(EXAMPLE_URL);
- QNetworkCacheMetaData metaData;
- metaData.setUrl(url);
- QIODevice *d = cache.prepare(metaData);
- cache.insert(d);
- QVERIFY(cache.cacheSize() > qint64(0));
+ {
+ QUrl url(EXAMPLE_URL);
+ QNetworkCacheMetaData metaData;
+ metaData.setUrl(url);
+ QIODevice *d = cache.prepare(metaData);
+ cache.insert(d);
+ cacheSize = cache.cacheSize();
+ QVERIFY(cacheSize > qint64(0));
+ }
+ // Add a second item, some difference in behavior when the cache is not empty
+ {
+ QUrl url(EXAMPLE_URL2);
+ QNetworkCacheMetaData metaData;
+ metaData.setUrl(url);
+ QIODevice *d = cache.prepare(metaData);
+ cache.insert(d);
+ QVERIFY(cache.cacheSize() > cacheSize);
+ cacheSize = cache.cacheSize();
+ }
+ // Don't clear the cache on destruction so we can re-open the cache and test its size.
+ cache.setClearCacheOnDestruction(false);
+ }
+
+ SubQNetworkDiskCache cache;
+ cache.setCacheDirectory(tempDir.path());
+ QCOMPARE(cache.cacheSize(), cacheSize);
cache.clear();
QCOMPARE(cache.cacheSize(), qint64(0));
}
diff --git a/tests/auto/network/access/qnetworkreply/certs/qt-test-server-cacert.pem b/tests/auto/network/access/qnetworkreply/certs/qt-test-server-cacert.pem
index c5aea0d7c9..29fd755de7 100644
--- a/tests/auto/network/access/qnetworkreply/certs/qt-test-server-cacert.pem
+++ b/tests/auto/network/access/qnetworkreply/certs/qt-test-server-cacert.pem
@@ -1,17 +1,17 @@
-----BEGIN CERTIFICATE-----
-MIICpzCCAhACCQCzAF1hyRVzAjANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UEBhMC
-Tk8xDTALBgNVBAgTBE9zbG8xDTALBgNVBAcTBE9zbG8xDjAMBgNVBAoTBU5va2lh
-MTUwMwYDVQQLFCxRdCBTb2Z0d2FyZS9lbWFpbEFkZHJlc3M9bm9ib2R5QG5vZG9t
-YWluLm9yZzEjMCEGA1UEAxMacXQtdGVzdC1zZXJ2ZXIucXQtdGVzdC1uZXQwHhcN
-MTkwNjI0MTI0OTIxWhcNMjIwNjIzMTI0OTIxWjCBlzELMAkGA1UEBhMCTk8xDTAL
-BgNVBAgTBE9zbG8xDTALBgNVBAcTBE9zbG8xDjAMBgNVBAoTBU5va2lhMTUwMwYD
-VQQLFCxRdCBTb2Z0d2FyZS9lbWFpbEFkZHJlc3M9bm9ib2R5QG5vZG9tYWluLm9y
-ZzEjMCEGA1UEAxMacXQtdGVzdC1zZXJ2ZXIucXQtdGVzdC1uZXQwgZ8wDQYJKoZI
-hvcNAQEBBQADgY0AMIGJAoGBAM2q22/WNMmn8cC+5EEYGeICySLmp9W6Ay6eKHr0
-Xxp3X3epETuPfvAuxp7rOtkS18EMUegkUj8jw0IMEcbyHKFC/rTCaYOt93CxGBXM
-IChiMPAsFeYzGa/D6xzAkfcRaJRQ+Ek3CDLXPnXfo7xpABXezYcPXAJrgsgBfWrw
-HdxzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEASCKbqEX5ysC549mq90ydk4jyDW3m
-PUyet01fKpcRqVs+OJxdExFBTra3gho6WzzpTSPsuX2ZKOLF5k6KkCvdCGvhC1Kv
-HHPIExurfzvdlSRzj6HbKyPuSfxyOloH0bBp7/Gg5RIuBPKlbmfbnTLtwEjhhbMU
-SoYI8HZd3HfY87c=
+MIICyjCCAjMCFHPGDqJR+klHni4XbETMk6GLn/UEMA0GCSqGSIb3DQEBDQUAMIGj
+MRcwFQYDVQQKEw5UaGUgUXQgQ29tcGFueTEUMBIGA1UECxMLUXQgU29mdHdhcmUx
+IjAgBgkqhkiG9w0BCQEWE25vYm9keUBub2RvbWFpbi5vcmcxDTALBgNVBAcTBE9z
+bG8xDTALBgNVBAgTBE9zbG8xCzAJBgNVBAYTAk5PMSMwIQYDVQQDExpxdC10ZXN0
+LXNlcnZlci5xdC10ZXN0LW5ldDAeFw0yMjA2MjQxMTU4NDlaFw0zMjA2MjExMTU4
+NDlaMIGjMRcwFQYDVQQKEw5UaGUgUXQgQ29tcGFueTEUMBIGA1UECxMLUXQgU29m
+dHdhcmUxIjAgBgkqhkiG9w0BCQEWE25vYm9keUBub2RvbWFpbi5vcmcxDTALBgNV
+BAcTBE9zbG8xDTALBgNVBAgTBE9zbG8xCzAJBgNVBAYTAk5PMSMwIQYDVQQDExpx
+dC10ZXN0LXNlcnZlci5xdC10ZXN0LW5ldDCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
+gYkCgYEAzarbb9Y0yafxwL7kQRgZ4gLJIuan1boDLp4oevRfGndfd6kRO49+8C7G
+nus62RLXwQxR6CRSPyPDQgwRxvIcoUL+tMJpg633cLEYFcwgKGIw8CwV5jMZr8Pr
+HMCR9xFolFD4STcIMtc+dd+jvGkAFd7Nhw9cAmuCyAF9avAd3HMCAwEAATANBgkq
+hkiG9w0BAQ0FAAOBgQCZyRe25WqOjrNS6BKPs7ep7eyCON3NKdWnfABZrSjGJQ87
+PoFKl6+9YBSlSpl8qk7c29ic+wA4qFQzPJkrbYIXjwVMAr+cC1kVrlUVqcwmvnKo
+5vj57/v8S0Uc4/GesIsxZR7QM+3diPDyk7Bsc3IkpINb31Dl0mlg25nztg8NxA==
-----END CERTIFICATE-----
diff --git a/tests/auto/network/access/qnetworkreply/certs/server.key b/tests/auto/network/access/qnetworkreply/certs/server.key
index 9d1664d609..b8d0d0449b 100644
--- a/tests/auto/network/access/qnetworkreply/certs/server.key
+++ b/tests/auto/network/access/qnetworkreply/certs/server.key
@@ -1,15 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
-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
+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
-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/access/qnetworkreply/certs/server.pem b/tests/auto/network/access/qnetworkreply/certs/server.pem
index 67eb495319..47c22d9f29 100644
--- a/tests/auto/network/access/qnetworkreply/certs/server.pem
+++ b/tests/auto/network/access/qnetworkreply/certs/server.pem
@@ -1,24 +1,22 @@
-----BEGIN CERTIFICATE-----
-MIIEEzCCAvugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMCTk8x
-DTALBgNVBAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xs
-dGVjaCBBU0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50
-cm9sbC5ubzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbTAe
-Fw0wNzEyMDQwMTEwMzJaFw0zNTA0MjEwMTEwMzJaMGMxCzAJBgNVBAYTAk5PMQ0w
-CwYDVQQIEwRPc2xvMRYwFAYDVQQKEw1Ucm9sbHRlY2ggQVNBMRQwEgYDVQQLEwtE
-ZXZlbG9wbWVudDEXMBUGA1UEAxMOZmx1a2UudHJvbGwubm8wgZ8wDQYJKoZIhvcN
-AQEBBQADgY0AMIGJAoGBAKfIoErEGQUbZroy4tLxHG8XguQ5LgFRkNsENDIRIcIN
-b1nYU5BUP4OPqdOz1e4am4CuwyXJXqWvS2AFqqDRkQEfygSD41gcmTJFhHByWAOY
-SmOLQfUISdKRAmBr5GT+3aCqdAjpNEyRXxI9N01ULK1/W5hgNgKMO/ZF8ydqm5Sd
-AgMBAAGjggEaMIIBFjAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM
-IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIYUEPSMBZuX3nxqEJIqv
-Cnn05awwgbsGA1UdIwSBszCBsKGBoqSBnzCBnDELMAkGA1UEBhMCTk8xDTALBgNV
-BAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xsdGVjaCBB
-U0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50cm9sbC5u
-bzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbYIJAI6otOiR
-t1QuMA0GCSqGSIb3DQEBBQUAA4IBAQBtV1/RBUPwYgXsKnGl3BkI8sSmvbsl2cqJ
-AQ7kzx/BjMgkGDVTWXvAQ7Qy5piypu8VBQtIX+GgDJepoXfYNRgwvKmP07dUx/Gp
-nl3mGb/2PFsr2OQ+YhiIi9Mk4UCbDOYpFmKr6gUkcDaqVZPvAoEbIxCiBOtWlXX8
-+JSxXULFPzZEhV06LpBGiqK5b4euDBVAGTGQ/Dslu67xZhMNhZDZSTSP8l35ettN
-XSf2dp01jAamTKOxsrZvHdejAP1y657qRKGvITR9x0LiSZEZi8CtuoKAqHFw9DUx
-kWOEIJXpYK9ki8z/PYp2dD3IVW3kjsMrHOhCGK6f5mucNAbsavLD
+MIIDrzCCApcCFGtyyXYbHuuIIseKAiLxL5nMKEnwMA0GCSqGSIb3DQEBCwUAMIGT
+MQswCQYDVQQGEwJOTzENMAsGA1UECAwET3NsbzEQMA4GA1UEBwwHTnlkYWxlbjEN
+MAsGA1UECgwEVFF0QzEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxFzAVBgNVBAMMDmZs
+dWtlLnRyb2xsLm5vMSUwIwYJKoZIhvcNAQkBFhZhaGFuc3NlbkB0cm9sbHRlY2gu
+Y29tMB4XDTIyMDcwODA2Mjc1OVoXDTMyMDcwNTA2Mjc1OVowgZMxCzAJBgNVBAYT
+Ak5PMQ0wCwYDVQQIDARPc2xvMRAwDgYDVQQHDAdOeWRhbGVuMQ0wCwYDVQQKDARU
+UXRDMRQwEgYDVQQLDAtEZXZlbG9wbWVudDEXMBUGA1UEAwwOZmx1a2UudHJvbGwu
+bm8xJTAjBgkqhkiG9w0BCQEWFmFoYW5zc2VuQHRyb2xsdGVjaC5jb20wggEiMA0G
+CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKKdWTdAFuNL5RzNY/6Oe6AWflhm46
+cI+U8rRKZ5SJlbTHg8CReiSzstKtr5dPaGDTus8GETJBQTXepjD5FUFJ7G+HDZEO
+DvqhXXuO3uNWNvTiGEptIEqKxbhQcXSu/LOhbMnNXFqrF9wVxhPu4T63RycIeL8w
+Zf72BQjwPPjoiikIDmR8qYD5ecX/86/zCiQg3haTSWqQDJYMKD87kC/of/Nuv9Tc
+IIjl4jlxFEjBIwPFs9e/1v52C/GEwkYyS7pQwyFJ+T1pzoUJI2CFgHvDcL3MgaID
++04fKy6PAbOnNEoPNPk/+o2ouQs7G+ylSHfYEP+OCikCGg2L2kObrSItAgMBAAEw
+DQYJKoZIhvcNAQELBQADggEBALHdGWQ4YqucGJSP1n1ANrLILy+sXqEP7hMdG5HH
+GDZ/ygUhjTZ/k5Cj0+auC4Aw490l8Tj8gmzt68KJmgSH+z1erY67+fhWtAewDzU5
+zIMqKHja1hSb5JIdWaD7ZFBQzor2beBO0u+VzegWqe20kw2mkFAcdQTsV28hvr1v
+rcgpVkegQcmHpr6FBpYFmtnizpPnX5Zm+JJAlvSGvoYMI5i9Vc7/gdx790NeaXmy
+yD1ueFMfsPtAcZq8cSbGSCS5/pcuhIx+5O9+V8iwN9lKdYksTCLAn4SREHzlgi68
+SGY0OUMlXeD82K0+mDv+hzSmq4sk7CDGbSxVV5TwzFXDgNc=
-----END CERTIFICATE-----
diff --git a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
index 3d4a094c43..9668d4616c 100644
--- a/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
@@ -281,6 +281,7 @@ private Q_SLOTS:
void ioGetFromFileSpecial();
void ioGetFromFile_data();
void ioGetFromFile();
+ void ioGetFromFileUrl();
void ioGetFromFtp_data();
void ioGetFromFtp();
void ioGetFromFtpWithReuse();
@@ -501,6 +502,7 @@ private Q_SLOTS:
void ioHttpCookiesDuringRedirect();
void ioHttpRedirect_data();
void ioHttpRedirect();
+ void ioHttpRedirectWithCache();
void ioHttpRedirectFromLocalToRemote();
void ioHttpRedirectPostPut_data();
void ioHttpRedirectPostPut();
@@ -3300,6 +3302,18 @@ void tst_QNetworkReply::ioGetFromFile()
QCOMPARE(reader.data, data);
}
+void tst_QNetworkReply::ioGetFromFileUrl()
+{
+ // This immediately fails on non-windows platforms:
+ QNetworkRequest request(QUrl("file://unc-server/some/path"));
+ QNetworkReplyPtr reply(manager.get(request));
+ QSignalSpy finishedSpy(reply.get(), &QNetworkReply::finished);
+ // QTBUG-105618: This would, on non-Windows platforms, never happen because the signal
+ // was emitted before the constructor finished, leaving no chance at all to connect to the
+ // signal
+ QVERIFY(finishedSpy.wait());
+}
+
void tst_QNetworkReply::ioGetFromFtp_data()
{
QTest::addColumn<QString>("fileName");
@@ -8849,6 +8863,66 @@ void tst_QNetworkReply::ioHttpRedirect()
QVERIFY(validateRedirectedResponseHeaders(reply));
}
+/*
+ Test that, if we load a redirect from cache, we don't treat the request to
+ the destination of the redirect as a redirect.
+
+ If it was treated as a redirect the finished() signal was never emitted!
+*/
+void tst_QNetworkReply::ioHttpRedirectWithCache()
+{
+ // Disallow caching the result so that the second request must also send the request
+ QByteArray http200ResponseNoCache = "HTTP/1.1 200 OK\r\n"
+ "Content-Type: text/plain\r\n"
+ "Cache-Control: no-cache\r\n"
+ "\r\nHello";
+
+ MiniHttpServer target(http200ResponseNoCache, false);
+ QUrl targetUrl("http://localhost/");
+ targetUrl.setPort(target.serverPort());
+
+ // A cache-able redirect reply
+ QString redirectReply = QStringLiteral("HTTP/1.1 308\r\n"
+ "Content-Type: text/plain\r\n"
+ "location: %1\r\n"
+ "Cache-Control: max-age=3600\r\n"
+ "\r\nYou're being redirected").arg(targetUrl.toString());
+ MiniHttpServer redirectServer(redirectReply.toLatin1(), false);
+ QUrl url("http://localhost/");
+ url.setPort(redirectServer.serverPort());
+
+ QTemporaryDir tempDir(QDir::tempPath() + "/tmp_cache_28035");
+ QVERIFY2(tempDir.isValid(), qPrintable(tempDir.errorString()));
+ tempDir.setAutoRemove(true);
+
+ QNetworkDiskCache *diskCache = new QNetworkDiskCache();
+ diskCache->setCacheDirectory(tempDir.path());
+ // Manager takes ownership of the cache:
+ manager.setCache(diskCache);
+ QCOMPARE(diskCache->cacheSize(), 0);
+
+ // Send the first request, we end up caching the redirect reply
+ QNetworkRequest request(url);
+ request.setAttribute(QNetworkRequest::RedirectPolicyAttribute,
+ QNetworkRequest::NoLessSafeRedirectPolicy);
+ QNetworkReplyPtr reply(manager.get(request));
+
+ QCOMPARE(waitForFinish(reply), int(Success));
+ QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200);
+ QVERIFY(validateRedirectedResponseHeaders(reply));
+
+ QVERIFY(diskCache->cacheSize() != 0);
+
+ // Now for the second request, we will use the cache, and we test that the finished()
+ // signal is still emitted.
+ request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
+ reply.reset(manager.get(request));
+
+ QCOMPARE(waitForFinish(reply), int(Success));
+ QCOMPARE(reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(), 200);
+ QVERIFY(validateRedirectedResponseHeaders(reply));
+}
+
void tst_QNetworkReply::ioHttpRedirectFromLocalToRemote()
{
QUrl targetUrl("http://" + QtNetworkSettings::httpServerName() + "/qtest/rfc3252.txt");
@@ -9279,9 +9353,16 @@ void tst_QNetworkReply::autoDeleteRepliesAttribute_data()
{
QTest::addColumn<QUrl>("destination");
- QTest::newRow("http") << QUrl("http://QInvalidDomain.qt/test");
- QTest::newRow("https") << QUrl("https://QInvalidDomain.qt/test");
- QTest::newRow("ftp") << QUrl("ftp://QInvalidDomain.qt/test");
+ QUrl webServerUrl = QtNetworkSettings::httpServerIp().toString();
+ webServerUrl.setPath("/notfound");
+ webServerUrl.setScheme("http");
+ QTest::newRow("http") << webServerUrl;
+ webServerUrl.setScheme("https");
+ QTest::newRow("https") << webServerUrl;
+ QUrl ftpServerUrl = QtNetworkSettings::ftpServerName();
+ ftpServerUrl.setScheme("ftp");
+ ftpServerUrl.setPath("/test/notfound");
+ QTest::newRow("ftp") << ftpServerUrl;
QTest::newRow("file") << QUrl("file:///thisfolderdoesn'texist/probably.txt");
#ifdef Q_OS_WIN
// Only supported on windows.
diff --git a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp
index 6637be0174..654dc159ad 100644
--- a/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp
+++ b/tests/auto/network/access/qnetworkrequest/tst_qnetworkrequest.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -26,9 +26,11 @@
**
****************************************************************************/
-
-#include <QtTest/QtTest>
+#include <QTest>
#include <QtCore/QUrl>
+#if QT_CONFIG(timezone)
+# include <QtCore/QTimeZone>
+#endif
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkCookie>
@@ -236,12 +238,28 @@ void tst_QNetworkRequest::setHeader_data()
<< QVariant(QDate(2007, 11, 01))
<< true << "Last-Modified"
<< "Thu, 01 Nov 2007 00:00:00 GMT";
- QTest::newRow("Last-Modified-DateTime") << QNetworkRequest::LastModifiedHeader
- << QVariant(QDateTime(QDate(2007, 11, 01),
- QTime(18, 8, 30),
- Qt::UTC))
- << true << "Last-Modified"
- << "Thu, 01 Nov 2007 18:08:30 GMT";
+ QTest::newRow("Last-Modified-DateTime-UTC")
+ << QNetworkRequest::LastModifiedHeader
+ << QVariant(QDateTime(QDate(2007, 11, 1), QTime(18, 8, 30), Qt::UTC))
+ << true << "Last-Modified" << "Thu, 01 Nov 2007 18:08:30 GMT";
+ // QTBUG-80666: format dates correctly (as GMT) even if the date passed in isn't in UTC:
+ QTest::newRow("Last-Modified-DateTime-Local")
+ << QNetworkRequest::LastModifiedHeader
+ << QVariant(QDateTime(QDate(2007, 11, 1), QTime(18, 8, 30), Qt::UTC).toLocalTime())
+ << true << "Last-Modified" << "Thu, 01 Nov 2007 18:08:30 GMT";
+ QTest::newRow("Last-Modified-DateTime-Offset")
+ << QNetworkRequest::LastModifiedHeader
+ << QVariant(QDateTime(QDate(2007, 11, 1), QTime(18, 8, 30), Qt::UTC).toOffsetFromUtc(3600))
+ << true << "Last-Modified" << "Thu, 01 Nov 2007 18:08:30 GMT";
+#if QT_CONFIG(timezone)
+ QTimeZone cet("Europe/Oslo");
+ if (cet.isValid()) {
+ QTest::newRow("Last-Modified-DateTime-CET")
+ << QNetworkRequest::LastModifiedHeader
+ << QVariant(QDateTime(QDate(2007, 11, 1), QTime(18, 8, 30), Qt::UTC).toTimeZone(cet))
+ << true << "Last-Modified" << "Thu, 01 Nov 2007 18:08:30 GMT";
+ }
+#endif
QTest::newRow("If-Modified-Since-Date") << QNetworkRequest::IfModifiedSinceHeader
<< QVariant(QDate(2017, 7, 01))
diff --git a/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp b/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp
index cec05f8806..6ae53e2ccd 100644
--- a/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp
+++ b/tests/auto/network/kernel/qauthenticator/tst_qauthenticator.cpp
@@ -48,6 +48,8 @@ private Q_SLOTS:
void ntlmAuth_data();
void ntlmAuth();
+ void sha256AndMd5Digest();
+
void equalityOperators();
};
@@ -149,6 +151,34 @@ void tst_QAuthenticator::ntlmAuth()
QVERIFY(priv->calculateResponse("GET", "/", "").startsWith("NTLM "));
}
+// We don't (currently) support SHA256. So, when presented with the option of MD5 or SHA256,
+// we should always pick MD5.
+void tst_QAuthenticator::sha256AndMd5Digest()
+{
+ QByteArray md5 = "Digest realm=\"\", nonce=\"\", algorithm=MD5, qop=\"auth\"";
+ QByteArray sha256 = "Digest realm=\"\", nonce=\"\", algorithm=SHA-256, qop=\"auth\"";
+
+ QAuthenticator auth;
+ auth.setUser("unimportant");
+ auth.setPassword("unimportant");
+
+ QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(auth);
+
+ QCOMPARE(priv->phase, QAuthenticatorPrivate::Start);
+ QList<QPair<QByteArray, QByteArray>> headers;
+ // Put sha256 first, so that its parsed first...
+ headers.push_back({"WWW-Authenticate", sha256});
+ headers.push_back({"WWW-Authenticate", md5});
+ priv->parseHttpResponse(headers, false, QString());
+
+ QByteArray response = priv->calculateResponse("GET", "/index", {});
+ QCOMPARE(priv->phase, QAuthenticatorPrivate::Done);
+
+ QVERIFY(!response.isEmpty());
+ QVERIFY(!response.contains("algorithm=SHA-256"));
+ QVERIFY(response.contains("algorithm=MD5"));
+}
+
void tst_QAuthenticator::equalityOperators()
{
QAuthenticator s1, s2;
diff --git a/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp b/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp
index 48f05a4604..454b00eea4 100644
--- a/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp
+++ b/tests/auto/network/kernel/qhostaddress/tst_qhostaddress.cpp
@@ -354,6 +354,12 @@ void tst_QHostAddress::isEqual_data()
QTest::newRow("anyv6-anyv4-local") << QHostAddress(QHostAddress::AnyIPv6) << QHostAddress(QHostAddress::AnyIPv4) << (int)QHostAddress::ConvertLocalHost << false;
QTest::newRow("any-anyv4-local") << QHostAddress(QHostAddress::Any) << QHostAddress(QHostAddress::AnyIPv4) << (int)QHostAddress::ConvertLocalHost << false;
QTest::newRow("any-anyv6-local") << QHostAddress(QHostAddress::Any) << QHostAddress(QHostAddress::AnyIPv6) << (int)QHostAddress::ConvertLocalHost << false;
+ QTest::newRow("localhostv6-any-tolerant") << QHostAddress(QHostAddress::LocalHostIPv6) << QHostAddress(QHostAddress::Any) << (int)QHostAddress::TolerantConversion << false;
+ QTest::newRow("localhostv4-any-tolerant") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::Any) << (int)QHostAddress::TolerantConversion << false;
+ QTest::newRow("localhostv6-anyv6-tolerant") << QHostAddress(QHostAddress::LocalHostIPv6) << QHostAddress(QHostAddress::AnyIPv6) << (int)QHostAddress::TolerantConversion << false;
+ QTest::newRow("localhostv4-anyv6-tolerant") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::AnyIPv6) << (int)QHostAddress::TolerantConversion << false;
+ QTest::newRow("localhostv6-anyv4-tolerant") << QHostAddress(QHostAddress::LocalHostIPv6) << QHostAddress(QHostAddress::AnyIPv4) << (int)QHostAddress::TolerantConversion << false;
+ QTest::newRow("localhostv4-anyv4-tolerant") << QHostAddress(QHostAddress::LocalHost) << QHostAddress(QHostAddress::AnyIPv4) << (int)QHostAddress::TolerantConversion << false;
}
void tst_QHostAddress::isEqual()
diff --git a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
index 61fff6ee00..74a73fcb4b 100644
--- a/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
+++ b/tests/auto/network/socket/qsocks5socketengine/BLACKLIST
@@ -2,6 +2,7 @@
*
[passwordAuth]
ubuntu-18.04
+ubuntu-20.04
# QTBUG-74162
[passwordAuth2]
ubuntu
@@ -9,3 +10,6 @@ ubuntu
windows-10 msvc-2015
windows-7sp1
+# QTBUG-96345
+[simpleConnectToIMAP]
+ubuntu
diff --git a/tests/auto/network/socket/qtcpserver/BLACKLIST b/tests/auto/network/socket/qtcpserver/BLACKLIST
index e268468bdb..c6d4d49908 100644
--- a/tests/auto/network/socket/qtcpserver/BLACKLIST
+++ b/tests/auto/network/socket/qtcpserver/BLACKLIST
@@ -14,3 +14,6 @@ windows-10
windows-7sp1
windows-10
+[linkLocal]
+macos arm
+
diff --git a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
index 849d8b0ed1..a4585c26bd 100644
--- a/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
+++ b/tests/auto/network/socket/qtcpserver/tst_qtcpserver.cpp
@@ -958,6 +958,12 @@ void tst_QTcpServer::linkLocal()
// (we don't know why)
if (iface.name().startsWith("utun"))
continue;
+ // Do not use the iBridge interfae
+ if (iface.hardwareAddress() == "AC:DE:48:00:11:22")
+ continue;
+ // Do no use the Apple Wireless Direct Link interfaces
+ if (iface.name().startsWith("awdl"))
+ continue;
#endif
foreach (QNetworkAddressEntry addressEntry, iface.addressEntries()) {
QHostAddress addr = addressEntry.ip();
diff --git a/tests/auto/network/socket/qtcpsocket/BLACKLIST b/tests/auto/network/socket/qtcpsocket/BLACKLIST
index 129e9f0b4e..fb57715a49 100644
--- a/tests/auto/network/socket/qtcpsocket/BLACKLIST
+++ b/tests/auto/network/socket/qtcpsocket/BLACKLIST
@@ -2,3 +2,5 @@
windows
# QTBUG-66247
+[bind]
+macos arm
diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
index e397e80fe0..0a58a5cf3b 100644
--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
@@ -2093,31 +2093,50 @@ void tst_QTcpSocket::nestedEventLoopInErrorSlot()
void tst_QTcpSocket::connectToHostError_data()
{
QTest::addColumn<QString>("host");
- QTest::addColumn<int>("port");
+ QTest::addColumn<quint16>("port");
QTest::addColumn<QAbstractSocket::SocketError>("expectedError");
- QTest::newRow("localhost no service") << QStringLiteral("localhost") << 31415 << QAbstractSocket::ConnectionRefusedError;
- QTest::newRow("unreachable") << QStringLiteral("0.0.0.1") << 65000 << QAbstractSocket::NetworkError;
+ QTest::newRow("localhost no service") << QStringLiteral("localhost") << quint16(31415) << QAbstractSocket::ConnectionRefusedError;
+ QTest::newRow("unreachable") << QStringLiteral("0.0.0.1") << quint16(65000) << QAbstractSocket::NetworkError;
}
void tst_QTcpSocket::connectToHostError()
{
+ // We are aware of at least one OS in our CI, that would fail
+ // the test due to timeout - it's Ubuntu 20.04 and 'connect'
+ // to 0.0.0.1 there return EINPROGRESS, with no other error
+ // ever received, so only our own internal 30 s. timer can
+ // detect a connection timeout.
+
std::unique_ptr<QTcpSocket> socket(newSocket());
QAbstractSocket::SocketError error = QAbstractSocket::UnknownSocketError;
- QFETCH(QString, host);
- QFETCH(int, port);
+ QFETCH(const QString, host);
+ QFETCH(const quint16, port);
QFETCH(QAbstractSocket::SocketError, expectedError);
- connect(socket.get(), &QAbstractSocket::errorOccurred, [&](QAbstractSocket::SocketError socketError){
+ QTestEventLoop eventLoop;
+ connect(socket.get(), &QAbstractSocket::errorOccurred, socket.get(),
+ [&](QAbstractSocket::SocketError socketError) {
error = socketError;
+ QTimer::singleShot(0, &eventLoop, [&]{eventLoop.exitLoop();});
});
- socket->connectToHost(host, port); // no service running here, one suspects
- QTRY_COMPARE_WITH_TIMEOUT(socket->state(), QTcpSocket::UnconnectedState, 7000);
+
+ socket->connectToHost(host, port);
+ eventLoop.enterLoopMSecs(7000);
+ if (eventLoop.timeout() && port == 65000) {
+ // Let's at least verify it's not in connected state:
+ QVERIFY(socket->state() != QAbstractSocket::ConnectedState);
+ QSKIP("Connection to unreachable host timed out, skipping the rest of the test");
+ }
+
+ QCOMPARE(socket->state(), QTcpSocket::UnconnectedState);
+
if (error != expectedError && error == QAbstractSocket::ConnectionRefusedError)
QEXPECT_FAIL("unreachable", "CI firewall interfers with this test", Continue);
+
QCOMPARE(error, expectedError);
}
@@ -2201,7 +2220,7 @@ public slots:
#if defined(Q_OS_MAC)
pthread_yield_np();
#elif defined Q_OS_LINUX && !defined Q_OS_ANDROID
- pthread_yield();
+ sched_yield();
#endif
if (!sock->waitForConnected()) {
networkTimeout = true;
diff --git a/tests/auto/network/socket/qudpsocket/BLACKLIST b/tests/auto/network/socket/qudpsocket/BLACKLIST
index 40e06ca10a..690d814a2c 100644
--- a/tests/auto/network/socket/qudpsocket/BLACKLIST
+++ b/tests/auto/network/socket/qudpsocket/BLACKLIST
@@ -7,3 +7,7 @@ opensuse-leap
opensuse-42.3
[readyReadForEmptyDatagram]
linux
+[multicast]
+macos arm
+[linkLocalIPv6]
+macos arm
diff --git a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
index 4c4113d9d4..15c74f1319 100644
--- a/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
+++ b/tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
@@ -646,7 +646,7 @@ void tst_QUdpSocket::dualStack()
QCOMPARE(dgram.senderAddress(), makeNonAny(v4Sock.localAddress(), QHostAddress::Null));
if (dgram.destinationPort() != -1) {
QCOMPARE(dgram.destinationPort(), int(dualSock.localPort()));
- QVERIFY(dgram.destinationAddress().isEqual(dualSock.localAddress()));
+ QVERIFY(dgram.destinationAddress().isEqual(makeNonAny(dualSock.localAddress(), QHostAddress::LocalHost)));
} else {
qInfo("Getting IPv4 destination address failed.");
}
diff --git a/tests/auto/network/ssl/qdtls/certs/fluke.cert b/tests/auto/network/ssl/qdtls/certs/fluke.cert
index ace4e4f0eb..4cc4d9a5ea 100644
--- a/tests/auto/network/ssl/qdtls/certs/fluke.cert
+++ b/tests/auto/network/ssl/qdtls/certs/fluke.cert
@@ -1,75 +1,34 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 0 (0x0)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NO, ST=Oslo, L=Nydalen, O=Nokia Corporation and/or its subsidiary(-ies), OU=Development, CN=fluke.troll.no/emailAddress=ahanssen@trolltech.com
- Validity
- Not Before: Dec 4 01:10:32 2007 GMT
- Not After : Apr 21 01:10:32 2035 GMT
- Subject: C=NO, ST=Oslo, O=Nokia Corporation and/or its subsidiary(-ies), OU=Development, CN=fluke.troll.no
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (1024 bit)
- Modulus (1024 bit):
- 00:a7:c8:a0:4a:c4:19:05:1b:66:ba:32:e2:d2:f1:
- 1c:6f:17:82:e4:39:2e:01:51:90:db:04:34:32:11:
- 21:c2:0d:6f:59:d8:53:90:54:3f:83:8f:a9:d3:b3:
- d5:ee:1a:9b:80:ae:c3:25:c9:5e:a5:af:4b:60:05:
- aa:a0:d1:91:01:1f:ca:04:83:e3:58:1c:99:32:45:
- 84:70:72:58:03:98:4a:63:8b:41:f5:08:49:d2:91:
- 02:60:6b:e4:64:fe:dd:a0:aa:74:08:e9:34:4c:91:
- 5f:12:3d:37:4d:54:2c:ad:7f:5b:98:60:36:02:8c:
- 3b:f6:45:f3:27:6a:9b:94:9d
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 21:85:04:3D:23:01:66:E5:F7:9F:1A:84:24:8A:AF:0A:79:F4:E5:AC
- X509v3 Authority Key Identifier:
- DirName:/C=NO/ST=Oslo/L=Nydalen/O=Nokia Corporation and/or its subsidiary(-ies)/OU=Development/CN=fluke.troll.no/emailAddress=ahanssen@trolltech.com
- serial:8E:A8:B4:E8:91:B7:54:2E
-
- Signature Algorithm: sha1WithRSAEncryption
- 6d:57:5f:d1:05:43:f0:62:05:ec:2a:71:a5:dc:19:08:f2:c4:
- a6:bd:bb:25:d9:ca:89:01:0e:e4:cf:1f:c1:8c:c8:24:18:35:
- 53:59:7b:c0:43:b4:32:e6:98:b2:a6:ef:15:05:0b:48:5f:e1:
- a0:0c:97:a9:a1:77:d8:35:18:30:bc:a9:8f:d3:b7:54:c7:f1:
- a9:9e:5d:e6:19:bf:f6:3c:5b:2b:d8:e4:3e:62:18:88:8b:d3:
- 24:e1:40:9b:0c:e6:29:16:62:ab:ea:05:24:70:36:aa:55:93:
- ef:02:81:1b:23:10:a2:04:eb:56:95:75:fc:f8:94:b1:5d:42:
- c5:3f:36:44:85:5d:3a:2e:90:46:8a:a2:b9:6f:87:ae:0c:15:
- 40:19:31:90:fc:3b:25:bb:ae:f1:66:13:0d:85:90:d9:49:34:
- 8f:f2:5d:f9:7a:db:4d:5d:27:f6:76:9d:35:8c:06:a6:4c:a3:
- b1:b2:b6:6f:1d:d7:a3:00:fd:72:eb:9e:ea:44:a1:af:21:34:
- 7d:c7:42:e2:49:91:19:8b:c0:ad:ba:82:80:a8:71:70:f4:35:
- 31:91:63:84:20:95:e9:60:af:64:8b:cc:ff:3d:8a:76:74:3d:
- c8:55:6d:e4:8e:c3:2b:1c:e8:42:18:ae:9f:e6:6b:9c:34:06:
- ec:6a:f2:c3
-----BEGIN CERTIFICATE-----
-MIIEEzCCAvugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMCTk8x
-DTALBgNVBAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xs
-dGVjaCBBU0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50
-cm9sbC5ubzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbTAe
-Fw0wNzEyMDQwMTEwMzJaFw0zNTA0MjEwMTEwMzJaMGMxCzAJBgNVBAYTAk5PMQ0w
-CwYDVQQIEwRPc2xvMRYwFAYDVQQKEw1Ucm9sbHRlY2ggQVNBMRQwEgYDVQQLEwtE
-ZXZlbG9wbWVudDEXMBUGA1UEAxMOZmx1a2UudHJvbGwubm8wgZ8wDQYJKoZIhvcN
-AQEBBQADgY0AMIGJAoGBAKfIoErEGQUbZroy4tLxHG8XguQ5LgFRkNsENDIRIcIN
-b1nYU5BUP4OPqdOz1e4am4CuwyXJXqWvS2AFqqDRkQEfygSD41gcmTJFhHByWAOY
-SmOLQfUISdKRAmBr5GT+3aCqdAjpNEyRXxI9N01ULK1/W5hgNgKMO/ZF8ydqm5Sd
-AgMBAAGjggEaMIIBFjAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM
-IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIYUEPSMBZuX3nxqEJIqv
-Cnn05awwgbsGA1UdIwSBszCBsKGBoqSBnzCBnDELMAkGA1UEBhMCTk8xDTALBgNV
-BAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xsdGVjaCBB
-U0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50cm9sbC5u
-bzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbYIJAI6otOiR
-t1QuMA0GCSqGSIb3DQEBBQUAA4IBAQBtV1/RBUPwYgXsKnGl3BkI8sSmvbsl2cqJ
-AQ7kzx/BjMgkGDVTWXvAQ7Qy5piypu8VBQtIX+GgDJepoXfYNRgwvKmP07dUx/Gp
-nl3mGb/2PFsr2OQ+YhiIi9Mk4UCbDOYpFmKr6gUkcDaqVZPvAoEbIxCiBOtWlXX8
-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
+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
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qdtls/certs/fluke.key b/tests/auto/network/ssl/qdtls/certs/fluke.key
index 9d1664d609..337ce541a6 100644
--- a/tests/auto/network/ssl/qdtls/certs/fluke.key
+++ b/tests/auto/network/ssl/qdtls/certs/fluke.key
@@ -1,15 +1,52 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQCnyKBKxBkFG2a6MuLS8RxvF4LkOS4BUZDbBDQyESHCDW9Z2FOQ
-VD+Dj6nTs9XuGpuArsMlyV6lr0tgBaqg0ZEBH8oEg+NYHJkyRYRwclgDmEpji0H1
-CEnSkQJga+Rk/t2gqnQI6TRMkV8SPTdNVCytf1uYYDYCjDv2RfMnapuUnQIDAQAB
-AoGANFzLkanTeSGNFM0uttBipFT9F4a00dqHz6JnO7zXAT26I5r8sU1pqQBb6uLz
-/+Qz5Zwk8RUAQcsMRgJetuPQUb0JZjF6Duv24hNazqXBCu7AZzUenjafwmKC/8ri
-KpX3fTwqzfzi//FKGgbXQ80yykSSliDL3kn/drATxsLCgQECQQDXhEFWLJ0vVZ1s
-1Ekf+3NITE+DR16X+LQ4W6vyEHAjTbaNWtcTKdAWLA2l6N4WAAPYSi6awm+zMxx4
-VomVTsjdAkEAx0z+e7natLeFcrrq8pbU+wa6SAP1VfhQWKitxL1e7u/QO90NCpxE
-oQYKzMkmmpOOFjQwEMAy1dvFMbm4LHlewQJAC/ksDBaUcQHHqjktCtrUb8rVjAyW
-A8lscckeB2fEYyG5J6dJVaY4ClNOOs5yMDS2Afk1F6H/xKvtQ/5CzInA/QJATDub
-K+BPU8jO9q+gpuIi3VIZdupssVGmCgObVCHLakG4uO04y9IyPhV9lA9tALtoIf4c
-VIvv5fWGXBrZ48kZAQJBAJmVCdzQxd9LZI5vxijUCj5EI4e+x5DRqVUvyP8KCZrC
-AiNyoDP85T+hBZaSXK3aYGpVwelyj3bvo1GrTNwNWLw=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+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
+g0veFbyfzlJ0q8qzD/iffqqIa2ZSmQ==
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.8 b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.8
deleted file mode 100644
index 20500b221f..0000000000
--- a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.0.9.8
+++ /dev/null
@@ -1,42 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number:
- ce:db:31:28:45:c4:05:40
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
- Validity
- Not Before: Aug 4 09:53:41 2010 GMT
- Not After : Aug 29 09:53:41 2051 GMT
- Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (1024 bit)
- Modulus (1024 bit):
- 00:cd:aa:db:6f:d6:34:c9:a7:f1:c0:be:e4:41:18:
- 19:e2:02:c9:22:e6:a7:d5:ba:03:2e:9e:28:7a:f4:
- 5f:1a:77:5f:77:a9:11:3b:8f:7e:f0:2e:c6:9e:eb:
- 3a:d9:12:d7:c1:0c:51:e8:24:52:3f:23:c3:42:0c:
- 11:c6:f2:1c:a1:42:fe:b4:c2:69:83:ad:f7:70:b1:
- 18:15:cc:20:28:62:30:f0:2c:15:e6:33:19:af:c3:
- eb:1c:c0:91:f7:11:68:94:50:f8:49:37:08:32:d7:
- 3e:75:df:a3:bc:69:00:15:de:cd:87:0f:5c:02:6b:
- 82:c8:01:7d:6a:f0:1d:dc:73
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- 8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
- X509v3 Authority Key Identifier:
- keyid:8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
-
- X509v3 Basic Constraints:
- CA:TRUE
- Signature Algorithm: sha1WithRSAEncryption
- a1:74:8e:5d:36:96:2c:05:7e:ea:66:cc:2e:68:c7:3d:93:dc:
- 8c:a3:11:ad:b5:7e:6e:d0:04:c4:09:bd:0a:f9:39:3b:97:d7:
- f0:bb:0c:09:7b:83:fe:bf:87:b0:47:e8:94:b7:aa:9c:79:ad:
- 71:9e:b7:c4:99:98:6f:1d:38:32:f8:a3:75:38:c4:e5:e7:37:
- 37:21:ec:7b:50:8b:15:b0:97:1e:17:9c:50:17:3c:c1:df:94:
- 55:fb:60:2e:50:40:d1:ea:23:c6:3c:21:6f:97:8c:06:16:a5:
- 82:72:c1:63:14:64:86:eb:d7:ff:72:f6:09:f5:6d:e6:04:13:
- 7a:6a
diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1 b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1
deleted file mode 100644
index 1a7d945b76..0000000000
--- a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1
+++ /dev/null
@@ -1,42 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number:
- ce:db:31:28:45:c4:05:40
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
- Validity
- Not Before: Aug 4 09:53:41 2010 GMT
- Not After : Aug 29 09:53:41 2051 GMT
- Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (1024 bit)
- Modulus:
- 00:cd:aa:db:6f:d6:34:c9:a7:f1:c0:be:e4:41:18:
- 19:e2:02:c9:22:e6:a7:d5:ba:03:2e:9e:28:7a:f4:
- 5f:1a:77:5f:77:a9:11:3b:8f:7e:f0:2e:c6:9e:eb:
- 3a:d9:12:d7:c1:0c:51:e8:24:52:3f:23:c3:42:0c:
- 11:c6:f2:1c:a1:42:fe:b4:c2:69:83:ad:f7:70:b1:
- 18:15:cc:20:28:62:30:f0:2c:15:e6:33:19:af:c3:
- eb:1c:c0:91:f7:11:68:94:50:f8:49:37:08:32:d7:
- 3e:75:df:a3:bc:69:00:15:de:cd:87:0f:5c:02:6b:
- 82:c8:01:7d:6a:f0:1d:dc:73
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- 8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
- X509v3 Authority Key Identifier:
- keyid:8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
-
- X509v3 Basic Constraints:
- CA:TRUE
- Signature Algorithm: sha1WithRSAEncryption
- a1:74:8e:5d:36:96:2c:05:7e:ea:66:cc:2e:68:c7:3d:93:dc:
- 8c:a3:11:ad:b5:7e:6e:d0:04:c4:09:bd:0a:f9:39:3b:97:d7:
- f0:bb:0c:09:7b:83:fe:bf:87:b0:47:e8:94:b7:aa:9c:79:ad:
- 71:9e:b7:c4:99:98:6f:1d:38:32:f8:a3:75:38:c4:e5:e7:37:
- 37:21:ec:7b:50:8b:15:b0:97:1e:17:9c:50:17:3c:c1:df:94:
- 55:fb:60:2e:50:40:d1:ea:23:c6:3c:21:6f:97:8c:06:16:a5:
- 82:72:c1:63:14:64:86:eb:d7:ff:72:f6:09:f5:6d:e6:04:13:
- 7a:6a
diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1c b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1c
deleted file mode 100644
index a45ed864f4..0000000000
--- a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.1c
+++ /dev/null
@@ -1,41 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 14905561440751715648 (0xcedb312845c40540)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
- Validity
- Not Before: Aug 4 09:53:41 2010 GMT
- Not After : Aug 29 09:53:41 2051 GMT
- Subject: C=AU, ST=Some-State, O=Internet Widgits Pty Ltd
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (1024 bit)
- Modulus:
- 00:cd:aa:db:6f:d6:34:c9:a7:f1:c0:be:e4:41:18:
- 19:e2:02:c9:22:e6:a7:d5:ba:03:2e:9e:28:7a:f4:
- 5f:1a:77:5f:77:a9:11:3b:8f:7e:f0:2e:c6:9e:eb:
- 3a:d9:12:d7:c1:0c:51:e8:24:52:3f:23:c3:42:0c:
- 11:c6:f2:1c:a1:42:fe:b4:c2:69:83:ad:f7:70:b1:
- 18:15:cc:20:28:62:30:f0:2c:15:e6:33:19:af:c3:
- eb:1c:c0:91:f7:11:68:94:50:f8:49:37:08:32:d7:
- 3e:75:df:a3:bc:69:00:15:de:cd:87:0f:5c:02:6b:
- 82:c8:01:7d:6a:f0:1d:dc:73
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Subject Key Identifier:
- 8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
- X509v3 Authority Key Identifier:
- keyid:8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
-
- X509v3 Basic Constraints:
- CA:TRUE
- Signature Algorithm: sha1WithRSAEncryption
- a1:74:8e:5d:36:96:2c:05:7e:ea:66:cc:2e:68:c7:3d:93:dc:
- 8c:a3:11:ad:b5:7e:6e:d0:04:c4:09:bd:0a:f9:39:3b:97:d7:
- f0:bb:0c:09:7b:83:fe:bf:87:b0:47:e8:94:b7:aa:9c:79:ad:
- 71:9e:b7:c4:99:98:6f:1d:38:32:f8:a3:75:38:c4:e5:e7:37:
- 37:21:ec:7b:50:8b:15:b0:97:1e:17:9c:50:17:3c:c1:df:94:
- 55:fb:60:2e:50:40:d1:ea:23:c6:3c:21:6f:97:8c:06:16:a5:
- 82:72:c1:63:14:64:86:eb:d7:ff:72:f6:09:f5:6d:e6:04:13:
- 7a:6a
diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.0 b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.3.0.5
index b2ccb2751e..a2cf759c10 100644
--- a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.1.0.0
+++ b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-large-expiration-date.txt.3.0.5
@@ -27,11 +27,11 @@ Certificate:
X509v3 Subject Key Identifier:
8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
X509v3 Authority Key Identifier:
- keyid:8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
-
+ 8A:6E:19:E7:97:9B:8F:D9:7F:B3:BB:01:4F:E8:6A:2F:52:95:0D:D9
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha1WithRSAEncryption
+ Signature Value:
a1:74:8e:5d:36:96:2c:05:7e:ea:66:cc:2e:68:c7:3d:93:dc:
8c:a3:11:ad:b5:7e:6e:d0:04:c4:09:bd:0a:f9:39:3b:97:d7:
f0:bb:0c:09:7b:83:fe:bf:87:b0:47:e8:94:b7:aa:9c:79:ad:
diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
index 115d111974..fb26822894 100644
--- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
+++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp
@@ -34,6 +34,7 @@
#include <qsslcertificateextension.h>
#ifndef QT_NO_OPENSSL
+#include <openssl/opensslv.h>
#include <openssl/obj_mac.h>
#endif
@@ -1057,38 +1058,22 @@ void tst_QSslCertificate::toText()
QCOMPARE(certList.size(), 1);
const QSslCertificate &cert = certList.at(0);
- // Openssl's cert dump method changed slightly between 0.9.8, 1.0.0 and 1.01 versions, so we want it to match any output
-
- QFile f098(testDataDir + "more-certificates/cert-large-expiration-date.txt.0.9.8");
- QVERIFY(f098.open(QIODevice::ReadOnly | QFile::Text));
- QByteArray txt098 = f098.readAll();
-
- QFile f100(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.0.0");
- QVERIFY(f100.open(QIODevice::ReadOnly | QFile::Text));
- QByteArray txt100 = f100.readAll();
-
- QFile f101(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.0.1");
- QVERIFY(f101.open(QIODevice::ReadOnly | QFile::Text));
- QByteArray txt101 = f101.readAll();
-
- QFile f101c(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.0.1c");
- QVERIFY(f101c.open(QIODevice::ReadOnly | QFile::Text));
- QByteArray txt101c = f101c.readAll();
-
+ // Openssl's cert dump method changed slightly between 1.1.1 and 3.0.5 versions, so we want it to match any output
QFile f111(testDataDir + "more-certificates/cert-large-expiration-date.txt.1.1.1");
QVERIFY(f111.open(QIODevice::ReadOnly | QFile::Text));
QByteArray txt111 = f111.readAll();
+ QFile f305(testDataDir + "more-certificates/cert-large-expiration-date.txt.3.0.5");
+ QVERIFY(f305.open(QIODevice::ReadOnly | QFile::Text));
+ QByteArray txt305 = f305.readAll();
+
QString txtcert = cert.toText();
#ifdef QT_NO_OPENSSL
QEXPECT_FAIL("", "QTBUG-40884: QSslCertificate::toText is not implemented on WinRT", Continue);
#endif
- QVERIFY(QString::fromLatin1(txt098) == txtcert ||
- QString::fromLatin1(txt100) == txtcert ||
- QString::fromLatin1(txt101) == txtcert ||
- QString::fromLatin1(txt101c) == txtcert ||
- QString::fromLatin1(txt111) == txtcert );
+ QVERIFY(QString::fromLatin1(txt111) == txtcert ||
+ QString::fromLatin1(txt305) == txtcert);
}
void tst_QSslCertificate::multipleCommonNames()
@@ -1128,6 +1113,7 @@ void tst_QSslCertificate::verify()
#if QT_CONFIG(securetransport)
QSKIP("Not implemented in SecureTransport");
#endif
+
QList<QSslError> errors;
QList<QSslCertificate> toVerify;
@@ -1466,6 +1452,10 @@ void tst_QSslCertificate::pkcs12()
return;
}
+#if !defined(QT_NO_OPENSSL) && OPENSSL_VERSION_MAJOR >= 3
+ QSKIP("leaf.p12 is using RC2, which is disabled by default in OpenSSL v >= 3");
+#endif
+
QFile f(testDataDir + QLatin1String("pkcs12/leaf.p12"));
bool ok = f.open(QIODevice::ReadOnly);
QVERIFY(ok);
diff --git a/tests/auto/network/ssl/qsslcertificate/verify-certs/README b/tests/auto/network/ssl/qsslcertificate/verify-certs/README
index 87cb293ef6..f4317331b6 100644
--- a/tests/auto/network/ssl/qsslcertificate/verify-certs/README
+++ b/tests/auto/network/ssl/qsslcertificate/verify-certs/README
@@ -1,2 +1,9 @@
openssl verify -CAfile cacert.pem -untrusted test-intermediate-ca-cert.pem test-intermediate-is-ca-cert.pem
openssl verify -CAfile cacert.pem -untrusted test-ocsp-good-cert.pem test-intermediate-not-ca-cert.pem
+
+1. cacert.pem is, obviously, a root CA certificate.
+2. test-intermediate-ca-cert.pem is a certificate, signed by the root CA, an intermediate CA.
+3. test-intermediate-is-ca-cert.pem is a certificate, signed by test-intermediate-ca-cert.pem.
+4. test-ocsp-good-cert.pem is signed by root CA, it has CA:FALSE but keyUsage allowing to sign
+ CSRs - this is how OpenSSL would report us 'invalid CA certificate' instead of 'No issuer found'.
+5. test-intermediate-not-ca-cert.pem is signed by test-ocsp-good-cert.pem.
diff --git a/tests/auto/network/ssl/qsslcertificate/verify-certs/cacert.pem b/tests/auto/network/ssl/qsslcertificate/verify-certs/cacert.pem
index 8c75c54bcb..5b9b570479 100644
--- a/tests/auto/network/ssl/qsslcertificate/verify-certs/cacert.pem
+++ b/tests/auto/network/ssl/qsslcertificate/verify-certs/cacert.pem
@@ -1,23 +1,25 @@
-----BEGIN CERTIFICATE-----
-MIID6zCCAtOgAwIBAgIJAP4bjANFSx0BMA0GCSqGSIb3DQEBBQUAMIGrMSYwJAYD
-VQQDEx1XZXN0cG9pbnQgQ2VydGlmaWNhdGUgVGVzdCBDQTETMBEGA1UECBMKTGFu
-Y2FzaGlyZTELMAkGA1UEBhMCVUsxHTAbBgkqhkiG9w0BCQEWDmNhQGV4YW1wbGUu
-Y29tMUAwPgYDVQQKEzdXZXN0cG9pbnQgQ2VydGlmaWNhdGUgVGVzdCBSb290IENl
-cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTExMDczMTIxMDExNloXDTIxMDcyODIx
-MDExNlowgasxJjAkBgNVBAMTHVdlc3Rwb2ludCBDZXJ0aWZpY2F0ZSBUZXN0IENB
-MRMwEQYDVQQIEwpMYW5jYXNoaXJlMQswCQYDVQQGEwJVSzEdMBsGCSqGSIb3DQEJ
-ARYOY2FAZXhhbXBsZS5jb20xQDA+BgNVBAoTN1dlc3Rwb2ludCBDZXJ0aWZpY2F0
-ZSBUZXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3
-DQEBAQUAA4IBDwAwggEKAoIBAQC5xMKXviXuxFO67WzFIImO5RY3Y+dqt7maTB+p
-JiHkn98rJoBB4J1cDnEUIs5ErO+kqOjW7JwF50fePNJ5K+I6SbRVn9gxAI59ZA6O
-9UvOPZOw4/6GM24UY4B4mUcp8oXg9fhwgtjVhfXiMD2GvKQq3RazIiCoSW4aJWEq
-L58Q+sIo+jL72qwk648xIwIhuC3XzcOOE/+rCOtZmu812/NN08UfsL2qup0aaaGv
-aL36n6OIx5AYFcCD5uOxXAmUy14mhwQyDHAl6K42ghSm5b43VMMSQ+N9AQpentWl
-RH6Vt1eY52YTxjNxpRlj88GBnYxdr8WgjKOV7v8OPGXP6zWlAgMBAAGjEDAOMAwG
-A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADptDEfvsh8aq/tTc7ciGkHG
-jh7WFELVTcdWBTyveZ24298Hl9UOfsAfLqjMGMs3delAaZocchba9Og2xSZyRstH
-GUtlJXd4PnSJSx/TksPf2DCANo5sxBWBITs1Iprm3Nlm3/xPZM2QLIamRYi2J6Ed
-JTfWvMpoaW1umJX49jKqk1gfdcS6eUSaXetgYP2FQV7DstqPLYfQ731nEXZ1LXFM
-PO7IoPccqk4YJ0KOV7hFb7NCq4a6cz/Gf0S0qJ44vqHz6iRZpmWIo5UFivwtLw9r
-iMbdJ1mCCMR0oN5om3muKc7Sz+l2ItxdYMcLkZ1/3ouvQqOX+qIOrYEUN1RZCzI=
+MIIENzCCAx+gAwIBAgIUdn+WSglXIMBvW46H1+kauM81p1UwDQYJKoZIhvcNAQEL
+BQAwgaIxCzAJBgNVBAYTAk5PMQ8wDQYDVQQIDAZOb3J3YXkxDTALBgNVBAcMBE9z
+bG8xDTALBgNVBAoMBFRRdEMxLzAtBgNVBAsMJlRRdEMgVGVzdCBSb290IEF1dGhv
+cml6YXRpb24gQXV0aG9yaXR5MRowGAYDVQQDDBFUUXRDIHRlc3Qgcm9vdCBDQTEX
+MBUGCSqGSIb3DQEJARYIY2FAcXQuaW8wHhcNMjEwNzI5MTIzNDM5WhcNMzEwNzI3
+MTIzNDM5WjCBojELMAkGA1UEBhMCTk8xDzANBgNVBAgMBk5vcndheTENMAsGA1UE
+BwwET3NsbzENMAsGA1UECgwEVFF0QzEvMC0GA1UECwwmVFF0QyBUZXN0IFJvb3Qg
+QXV0aG9yaXphdGlvbiBBdXRob3JpdHkxGjAYBgNVBAMMEVRRdEMgdGVzdCByb290
+IENBMRcwFQYJKoZIhvcNAQkBFghjYUBxdC5pbzCCASIwDQYJKoZIhvcNAQEBBQAD
+ggEPADCCAQoCggEBAOXrt0DU0NCmvB/vsw3d5Ztn3Ab77AmnVSNSkWKOyei7bQ55
+Qx2FR+ihcPL3+HRQ+UAZsV/ryurkrCdFOOpkBC8a1Kq1ErXM9RbBdX9kyX7IG1KD
+iwnFuci/2cDgounfxNDLPCWImukKfWGUfWlpnbbF4nYdaeP/S+LvsCklgphGdtLE
+uO+bNLUNFT61X3d0eg/NQ0tMFFgjTQkKYueYpoAtS8zsHfJxLKzNVjdkUaqEsN1x
+AmE6LLVhMwf7EHwlgCMb3H59R9N+kz8bjCNQrErctF0crvdZjlX9AudZGz6e6xso
+Mmw6epkGSGF6eMjK62mQX4Y/15ruNIvuLla1dzcCAwEAAaNjMGEwHQYDVR0OBBYE
+FFpvgro1qjV/QzO+gq/hScIGw7CpMB8GA1UdIwQYMBaAFFpvgro1qjV/QzO+gq/h
+ScIGw7CpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3
+DQEBCwUAA4IBAQC+Xbv1f2r2YBXTM7/Uc48DFjdCb4dOKOF8anIGmsG5IfcG77DW
+PkyVvPVBVQYw11GtyEwdl5nYyM5VMUT2Jv0kL3sRjQASaQLQCJa3KpYKUV6/7+0W
+h8oUSb6FyP8Ks/GTVgHGlSSWU6TixG2k85kKSDNinUDHqrjyS+EYXR4FZHY68lu1
+JSSDBrdEEMmBcChj7Yze9LcdcEUbsALori4363rJCsDmfE6M5nZCFGSn1oUAB8LS
+XJ62DI16XbKjwSSFsvJA87n3Ujivytjgdq0e1EgpeNjFvcq5lJ83pQHK/G6+hIna
+toLOSqYHUzZv5+NalkbfTUOLSuecUMDTz+KG
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-ca-cert.pem b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-ca-cert.pem
index d00490caba..4e850907ad 100644
--- a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-ca-cert.pem
+++ b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-ca-cert.pem
@@ -1,66 +1,26 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 28 (0x1c)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: CN=Westpoint Certificate Test CA, ST=Lancashire, C=UK/emailAddress=ca@example.com, O=Westpoint Certificate Test Root Certification Authority
- Validity
- Not Before: Jul 31 21:01:18 2011 GMT
- Not After : Jul 28 21:01:18 2021 GMT
- Subject: ST=Lancashire, C=UK/emailAddress=test@example.com, O=Test intermediate CA
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (1024 bit)
- Modulus:
- 00:bc:bd:83:c1:bc:36:d8:9c:74:68:5a:46:48:25:
- 83:59:f8:35:1e:8f:dc:2c:52:3b:7c:2e:ea:40:c4:
- 93:b6:39:31:df:f5:a6:f8:01:17:67:93:21:59:9b:
- 89:7f:ed:2a:19:7b:25:a5:e1:71:12:99:e5:14:28:
- df:75:b5:17:1c:3b:1d:3d:74:48:4f:b7:42:f4:3a:
- ab:56:05:2b:fc:d3:27:97:01:08:5b:ad:26:9b:f2:
- 87:51:9c:7e:e1:f1:ef:1c:bf:ad:7e:38:d9:76:89:
- 30:a6:8c:2f:6f:87:9f:9e:57:13:14:b4:45:30:f3:
- be:58:df:8a:d2:ee:7b:1d:89
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- Authority Information Access:
- OCSP - URI:http://ocsp.example.com:8888/
-
- X509v3 Basic Constraints:
- CA:TRUE
- Signature Algorithm: sha1WithRSAEncryption
- 33:84:9d:0e:b2:59:04:dc:ef:e3:04:8b:00:6c:64:ea:58:9e:
- 36:59:76:27:59:a0:b8:ee:0d:86:83:ff:db:65:eb:6c:1f:16:
- 47:e7:f5:e6:c3:88:81:73:7e:ed:12:8d:7e:fd:5e:b1:5c:68:
- 47:f8:f9:ca:e3:e0:c0:f3:12:b2:24:3b:77:2c:98:de:05:6d:
- a8:ec:27:b8:af:ab:84:25:26:73:b4:58:4c:7c:c1:74:97:98:
- ab:0e:e6:99:70:bc:38:b0:9a:e3:d9:5c:75:fa:46:d2:87:55:
- 09:86:8f:ef:4a:e4:ef:3e:32:c6:ac:9d:27:86:29:b8:78:38:
- 7b:87:6c:57:72:bd:57:99:73:36:db:fa:52:bd:7b:a7:05:cd:
- 28:b8:85:fc:11:47:5e:c6:77:72:6a:fb:73:3e:8b:a4:6d:f8:
- 17:f4:12:d5:36:e0:ef:5c:f8:b2:a1:69:3e:4c:cf:86:5f:63:
- f6:02:60:95:7f:61:e8:cb:7f:14:66:da:36:2e:78:13:3e:68:
- ae:3f:13:c1:79:88:18:18:3f:23:f3:9a:e1:e7:7e:ae:50:e4:
- b7:80:76:31:92:74:79:2c:de:d0:74:fe:81:7c:f6:01:14:6a:
- 1f:5f:88:85:6a:11:1d:50:af:f1:97:4d:67:40:c3:e9:ae:6f:
- 60:e2:bc:e2
-----BEGIN CERTIFICATE-----
-MIIDUDCCAjigAwIBAgIBHDANBgkqhkiG9w0BAQUFADCBqzEmMCQGA1UEAxMdV2Vz
-dHBvaW50IENlcnRpZmljYXRlIFRlc3QgQ0ExEzARBgNVBAgTCkxhbmNhc2hpcmUx
-CzAJBgNVBAYTAlVLMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbTFAMD4G
-A1UEChM3V2VzdHBvaW50IENlcnRpZmljYXRlIFRlc3QgUm9vdCBDZXJ0aWZpY2F0
-aW9uIEF1dGhvcml0eTAeFw0xMTA3MzEyMTAxMThaFw0yMTA3MjgyMTAxMThaMGIx
-EzARBgNVBAgTCkxhbmNhc2hpcmUxCzAJBgNVBAYTAlVLMR8wHQYJKoZIhvcNAQkB
-FhB0ZXN0QGV4YW1wbGUuY29tMR0wGwYDVQQKExRUZXN0IGludGVybWVkaWF0ZSBD
-QTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvL2Dwbw22Jx0aFpGSCWDWfg1
-Ho/cLFI7fC7qQMSTtjkx3/Wm+AEXZ5MhWZuJf+0qGXslpeFxEpnlFCjfdbUXHDsd
-PXRIT7dC9DqrVgUr/NMnlwEIW60mm/KHUZx+4fHvHL+tfjjZdokwpowvb4efnlcT
-FLRFMPO+WN+K0u57HYkCAwEAAaNLMEkwOQYIKwYBBQUHAQEELTArMCkGCCsGAQUF
-BzABhh1odHRwOi8vb2NzcC5leGFtcGxlLmNvbTo4ODg4LzAMBgNVHRMEBTADAQH/
-MA0GCSqGSIb3DQEBBQUAA4IBAQAzhJ0OslkE3O/jBIsAbGTqWJ42WXYnWaC47g2G
-g//bZetsHxZH5/Xmw4iBc37tEo1+/V6xXGhH+PnK4+DA8xKyJDt3LJjeBW2o7Ce4
-r6uEJSZztFhMfMF0l5irDuaZcLw4sJrj2Vx1+kbSh1UJho/vSuTvPjLGrJ0nhim4
-eDh7h2xXcr1XmXM22/pSvXunBc0ouIX8EUdexndyavtzPoukbfgX9BLVNuDvXPiy
-oWk+TM+GX2P2AmCVf2Hoy38UZto2LngTPmiuPxPBeYgYGD8j85rh536uUOS3gHYx
-knR5LN7QdP6BfPYBFGofX4iFahEdUK/xl01nQMPprm9g4rzi
+MIIEbTCCA1WgAwIBAgICEAcwDQYJKoZIhvcNAQELBQAwgaIxCzAJBgNVBAYTAk5P
+MQ8wDQYDVQQIDAZOb3J3YXkxDTALBgNVBAcMBE9zbG8xDTALBgNVBAoMBFRRdEMx
+LzAtBgNVBAsMJlRRdEMgVGVzdCBSb290IEF1dGhvcml6YXRpb24gQXV0aG9yaXR5
+MRowGAYDVQQDDBFUUXRDIHRlc3Qgcm9vdCBDQTEXMBUGCSqGSIb3DQEJARYIY2FA
+cXQuaW8wHhcNMjEwNzI5MTcxNjA3WhcNMzEwNjA3MTcxNjA3WjCBqzELMAkGA1UE
+BhMCTk8xDzANBgNVBAgMBk5vcndheTENMAsGA1UECgwEVFF0QzEwMC4GA1UECwwn
+VFF0QyBJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MTAwLgYDVQQD
+DCdUUXRDIEludGVybWVkaWF0ZSBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxGDAWBgkq
+hkiG9w0BCQEWCWljYUBxdC5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+ggEBAK1zsW+VafypIPdVrDavxgPJ8LIdYyIJtijHNvWmGDl9fgK8EZWm6uIsvHOL
+D2ZtHmBRXCGXOuXFonZh2vpuPUzBdD8E4CQVE31QHHb2eoalpNgiIRODJEfOwMJZ
+V5FP/iE5g5TJmbiqMwui2v4g4AWoQpsiSYnlgLd/XbZePpSSAqyZYsxGmzbcf2Vq
+v5Tv8SbjLjuRZdwHsrXi/7S4qyybiPHLLoLD7+woDRo8wy+z0wQ8v2XsRzjqvBUn
+QvuOvk5MXKHQzXheClMizcDDOcjaK0AKzVopQa6s0+Pmg+DW162DOrK4SGqpeBlp
+OujEtiQk9+1hycAadbntYQ+/kHcCAwEAAaOBoTCBnjAdBgNVHQ4EFgQUemD1HaWM
+WxNLlSONkvAiFhlmtVowHwYDVR0jBBgwFoAUWm+CujWqNX9DM76Cr+FJwgbDsKkw
+EgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwOAYIKwYBBQUHAQEE
+LDAqMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5leGFtcGxlLmNvbTo4ODg4MA0G
+CSqGSIb3DQEBCwUAA4IBAQBxfeQrh/xnjL8vLLQB0PrPawCUB4X0RHheNAB8BZh/
+5t96StDZspB1p14iW1b9ziiN+w8hghdLO+UbEmbnfK9m0sxXPxGdO/dK5PeKkEZA
+1Clbu1qPEwmbCeuPDHpcXMzYUEm/vHTJFNxfvLgiLYwZpxhYZiHeMMEUYxQRrmI1
+DJbcpZT4nYyaVKinvMmw5KG85cLsyjIgzhUwLGSAfB+p4pIX+R8GQZtdn26+FN9c
+U+ZDfAUJ0hrPmd89KuSXm96tarx/EYnGzwletTL2IJWS1zxpGFlpyFgWq3m054iD
+UAWX8IPCQRMwhoKmSqNbhtYIKLXyDe3Xg6yD0ySDKjlB
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-is-ca-cert.pem b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-is-ca-cert.pem
index 396cad86cb..3f13c93473 100644
--- a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-is-ca-cert.pem
+++ b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-is-ca-cert.pem
@@ -1,53 +1,25 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 29 (0x1d)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: ST=Lancashire, C=UK/emailAddress=test@example.com, O=Test intermediate CA
- Validity
- Not Before: Jul 31 21:01:18 2011 GMT
- Not After : Jul 28 21:01:18 2021 GMT
- Subject: CN=example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (1024 bit)
- Modulus:
- 00:c9:bb:98:5b:27:cd:b1:8a:a9:38:fc:aa:bb:ad:
- a1:ed:cb:94:94:3e:79:90:ae:35:f3:87:b1:2a:4e:
- d5:ff:55:93:e0:1a:68:2a:36:94:05:38:a7:72:64:
- a3:31:0f:61:5c:ec:76:41:f1:35:4a:5e:bc:ef:51:
- 90:9e:33:b4:08:7a:3f:f0:04:a8:46:99:96:25:b3:
- 03:c8:cd:8c:33:42:76:82:b9:db:61:c6:91:ed:76:
- 86:ae:04:38:d7:e5:5c:a9:a9:f9:b6:13:f4:90:40:
- 6d:ec:2f:ba:ed:bc:ff:88:05:f0:7b:c8:ac:bd:d0:
- 72:3a:91:64:86:06:89:66:0d
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Authority Information Access:
- OCSP - URI:http://ocsp.example.com:8888/
-
- Signature Algorithm: sha1WithRSAEncryption
- 22:30:97:01:ea:d0:a8:d8:b5:32:97:c8:c9:8b:7d:01:02:53:
- 74:f8:0a:10:dc:fc:73:b2:50:bb:59:47:f3:e4:9f:44:94:d5:
- ca:c0:64:da:83:00:95:43:15:a5:e3:30:ce:66:ca:55:8c:16:
- 03:1e:55:02:8b:c7:ad:ed:2e:ae:ee:31:59:53:37:ff:26:86:
- 93:9d:e2:69:2e:c0:2a:66:38:a5:b5:54:a1:02:0a:83:67:e0:
- 91:cf:fc:09:c3:70:71:b6:cf:fc:d3:e9:9f:f5:1c:4d:55:ec:
- 66:f7:07:71:fc:d6:17:de:e1:ab:e6:f2:7b:83:46:1e:b9:96:
- 95:8f
-----BEGIN CERTIFICATE-----
-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
+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
+qLirP+moVzEWJKJP0HWT/jo7Ze53FA==
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-not-ca-cert.pem b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-not-ca-cert.pem
index 34ad2b10a8..836afd85d3 100644
--- a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-not-ca-cert.pem
+++ b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-intermediate-not-ca-cert.pem
@@ -1,54 +1,24 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 27 (0x1b)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: CN=example.com, ST=Lancashire, C=UK/emailAddress=test@example.com, O=Some organisation
- Validity
- Not Before: Jul 31 21:01:18 2011 GMT
- Not After : Jul 28 21:01:18 2021 GMT
- Subject: CN=example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (1024 bit)
- Modulus:
- 00:ea:d6:97:b5:3c:f4:37:8a:58:b4:7a:49:31:55:
- dd:c8:84:ee:36:f6:72:3a:31:99:d1:df:af:bb:f9:
- 17:e9:d8:47:d2:20:4b:94:ce:ea:c1:6b:23:9a:da:
- 02:41:29:51:34:05:13:c0:98:4d:87:f8:91:a8:85:
- 81:e4:ab:26:3d:26:59:29:16:7d:04:db:57:7b:f0:
- b6:2b:5d:cf:e7:82:ba:83:a7:bc:63:43:03:2a:2b:
- 18:40:89:4c:1e:90:bc:bf:10:24:81:50:0d:2e:e8:
- 8e:a9:0a:fc:f8:cd:97:98:3c:cc:55:b7:f2:b2:0d:
- 0e:36:53:3a:b2:d0:45:90:8b
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Authority Information Access:
- OCSP - URI:http://ocsp.example.com:8888/
-
- Signature Algorithm: sha1WithRSAEncryption
- 82:d8:53:9c:d8:0b:0a:b3:9d:b4:0a:9f:93:ec:96:a6:31:6b:
- 79:c9:d2:1c:76:0b:b7:f3:9f:b9:7a:dd:d7:b7:7b:26:ba:0a:
- 54:2a:a3:ad:89:8e:3c:b8:8e:ea:09:53:58:73:9a:b3:a0:40:
- 90:02:f2:60:04:b8:f0:2a:61:bd:91:9b:5e:81:5f:bf:cc:f2:
- 33:33:8a:70:07:f5:ea:c0:05:38:34:f7:dc:ea:0c:74:01:5d:
- dd:92:ab:f2:87:64:1b:7c:be:ae:37:c1:6c:ae:99:73:a5:aa:
- 45:20:32:57:19:cb:30:45:61:2c:3b:23:52:ee:f0:cc:12:80:
- 97:34
-----BEGIN CERTIFICATE-----
-MIICSTCCAbKgAwIBAgIBGzANBgkqhkiG9w0BAQUFADB1MRQwEgYDVQQDEwtleGFt
-cGxlLmNvbTETMBEGA1UECBMKTGFuY2FzaGlyZTELMAkGA1UEBhMCVUsxHzAdBgkq
-hkiG9w0BCQEWEHRlc3RAZXhhbXBsZS5jb20xGjAYBgNVBAoTEVNvbWUgb3JnYW5p
-c2F0aW9uMB4XDTExMDczMTIxMDExOFoXDTIxMDcyODIxMDExOFowFjEUMBIGA1UE
-AxMLZXhhbXBsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOrWl7U8
-9DeKWLR6STFV3ciE7jb2cjoxmdHfr7v5F+nYR9IgS5TO6sFrI5raAkEpUTQFE8CY
-TYf4kaiFgeSrJj0mWSkWfQTbV3vwtitdz+eCuoOnvGNDAyorGECJTB6QvL8QJIFQ
-DS7ojqkK/PjNl5g8zFW38rINDjZTOrLQRZCLAgMBAAGjSDBGMAkGA1UdEwQCMAAw
-OQYIKwYBBQUHAQEELTArMCkGCCsGAQUFBzABhh1odHRwOi8vb2NzcC5leGFtcGxl
-LmNvbTo4ODg4LzANBgkqhkiG9w0BAQUFAAOBgQCC2FOc2AsKs520Cp+T7JamMWt5
-ydIcdgu385+5et3Xt3smugpUKqOtiY48uI7qCVNYc5qzoECQAvJgBLjwKmG9kZte
-gV+/zPIzM4pwB/XqwAU4NPfc6gx0AV3dkqvyh2QbfL6uN8FsrplzpapFIDJXGcsw
-RWEsOyNS7vDMEoCXNA==
+MIID+jCCAuKgAwIBAgIUM3pG/f45Mn2QOCxAjTxuzXfIYj4wDQYJKoZIhvcNAQEL
+BQAwgYcxCzAJBgNVBAYTAk5PMQ8wDQYDVQQIDAZOb3J3YXkxDTALBgNVBAcMBE9z
+bG8xDTALBgNVBAoMBFRRdEMxEjAQBgNVBAsMCVNvbWUgVW5pdDEUMBIGA1UEAwwL
+ZXhhbXBsZS5jb20xHzAdBgkqhkiG9w0BCQEWEHRlc3RAZXhhbXBsZS5jb20wHhcN
+MjEwODA2MDQ0MjE1WhcNMzEwNjE1MDQ0MjE1WjCBjDELMAkGA1UEBhMCTk8xDzAN
+BgNVBAgMBk5vcndheTENMAsGA1UEBwwET3NsbzENMAsGA1UECgwEVFF0QzEUMBIG
+A1UECwwLRm91bmRhdGlvbnMxFDASBgNVBAMMC2V4YW1wbGUuY29tMSIwIAYJKoZI
+hvcNAQkBFhNzaWduZWRieW5vbmNhQHF0LmlvMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEApXDPgUmyVw89XB1o+9yPepTyXOUnY4/4JHu333l3IQcEsK17
+tmOftWOa2TGzScrN0sbi73IhCx48/hYI3skHNiocXhHlrNI8tHkwHKWf5k957tMN
+xeSIgddRXMegMc4Xxo9IMxFmvAi1q7gnIkEpBg+6NWRGhB3N2Iw8nUtyOc+wx6Us
+EzRi/HpITzNsmeuwHPzlKe8HQsL5VeM9oo7HdH7Bb2M7t4+oizZe8jbvhbUWbylb
+HDkD1ZoxDRyYAPYkYyvsIodDBSFOQmon7kZtshrmZO+VGPEDisaDJFYppyZNOmmA
+g65IUf+0oJW73uuG5dZWwmjEhHlKhkmvqXBoUQIDAQABo1cwVTAOBgNVHQ8BAf8E
+BAMCBeAwOAYIKwYBBQUHAQEELDAqMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5l
+eGFtcGxlLmNvbTo4ODg4MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQADggEBACBb
+ERwLEJ9zGMk4lpnSK4hr2v8JZdVRbozKHUo0Vky3yyVoaFfKZqha9JpP0Ig71lSv
+h8tmM41uFmIWCBc+JEu3PIGvZcs45/Py7NHHY5bua3/szRhkz0FbsEYbrCCE/Fom
+rYxOd21q9+Aj0/ZGFccpc5v47SW8UFFjn5rhDKXqX7IZjFY/O6ILD/MnDePK963C
+pGltAzKw1RRTQoXQWWWOQZx6jT+JFRQ1cc+QlY106461/qg1m1AhBG6/S6tjkcdI
+h1jq4yMhfPP9BhxquZB4/mrBUY2rvUO40973m50trszjXSsdRgyScmEJKWco4MAZ
+ZccSsplcBjL5ksfejH4=
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-ocsp-good-cert.pem b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-ocsp-good-cert.pem
index 34b26c6d5e..d4cd3e1f92 100644
--- a/tests/auto/network/ssl/qsslcertificate/verify-certs/test-ocsp-good-cert.pem
+++ b/tests/auto/network/ssl/qsslcertificate/verify-certs/test-ocsp-good-cert.pem
@@ -1,67 +1,24 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: CN=Westpoint Certificate Test CA, ST=Lancashire, C=UK/emailAddress=ca@example.com, O=Westpoint Certificate Test Root Certification Authority
- Validity
- Not Before: Jul 31 21:01:16 2011 GMT
- Not After : Jul 28 21:01:16 2021 GMT
- Subject: CN=example.com, ST=Lancashire, C=UK/emailAddress=test@example.com, O=Some organisation
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (1024 bit)
- Modulus:
- 00:97:c9:92:27:81:a7:4c:64:82:a2:30:d6:07:b7:
- 57:e0:9c:ea:cd:eb:53:be:ea:b6:b5:47:66:d0:68:
- 54:25:a7:ed:21:5c:dc:fd:da:41:f6:c7:c0:35:ae:
- 97:72:fd:8b:af:29:3d:38:5a:67:8b:39:8a:ce:86:
- 25:0f:38:a7:b5:38:b3:8e:81:f0:ea:79:99:cb:f5:
- 23:64:55:f3:4b:a4:b6:23:64:29:ea:ba:f3:29:52:
- a7:7f:32:dc:0d:b6:d9:d4:e6:13:de:01:41:86:9a:
- 2d:8f:bb:0c:18:88:09:ac:d4:6a:e9:cb:8a:17:8a:
- 85:09:a6:ae:a6:1c:05:e9:55
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Authority Information Access:
- OCSP - URI:http://ocsp.example.com:8888/
-
- Signature Algorithm: sha1WithRSAEncryption
- 8b:9b:96:fb:8e:1b:77:f5:70:39:fe:76:51:ac:a9:6b:80:a5:
- b7:95:8b:c3:1a:9c:1f:bb:d1:d1:68:43:40:96:62:d6:a6:da:
- d9:fd:9d:9a:9e:8a:84:fa:f5:54:ce:a8:d7:37:c7:0c:95:fc:
- 11:8b:e9:32:53:e5:59:61:0a:53:70:f3:d6:ed:3f:b1:f4:49:
- bf:86:c1:77:0d:b1:ac:65:7e:62:d2:f2:5a:31:50:a7:ed:28:
- bb:63:d5:f3:4f:43:3a:3f:bf:3b:d0:94:aa:a1:74:95:be:a4:
- 0f:8b:e0:6f:d8:33:84:76:71:b2:da:f4:0e:1e:d2:eb:f0:c3:
- 1e:33:79:21:35:93:18:05:38:db:63:85:1a:e4:84:41:0a:c3:
- fb:fd:5c:69:3d:18:0a:38:b8:16:18:d3:23:b9:51:47:2e:54:
- 08:d1:fc:2e:b6:63:62:78:9c:26:59:c2:5e:5a:38:76:47:e7:
- f0:f8:7b:b7:00:46:34:b0:44:28:a9:33:d7:e5:1d:52:c8:fb:
- 32:a5:25:86:21:0c:80:f0:4b:37:60:a0:45:69:9f:6b:b0:34:
- 91:5e:4c:62:45:99:83:1d:80:48:78:bb:ee:d4:83:39:76:c3:
- e6:fb:31:e9:20:f0:64:90:24:4e:c6:07:75:40:1f:7e:97:77:
- 1f:bf:a2:ef
-----BEGIN CERTIFICATE-----
-MIIDYDCCAkigAwIBAgIBATANBgkqhkiG9w0BAQUFADCBqzEmMCQGA1UEAxMdV2Vz
-dHBvaW50IENlcnRpZmljYXRlIFRlc3QgQ0ExEzARBgNVBAgTCkxhbmNhc2hpcmUx
-CzAJBgNVBAYTAlVLMR0wGwYJKoZIhvcNAQkBFg5jYUBleGFtcGxlLmNvbTFAMD4G
-A1UEChM3V2VzdHBvaW50IENlcnRpZmljYXRlIFRlc3QgUm9vdCBDZXJ0aWZpY2F0
-aW9uIEF1dGhvcml0eTAeFw0xMTA3MzEyMTAxMTZaFw0yMTA3MjgyMTAxMTZaMHUx
-FDASBgNVBAMTC2V4YW1wbGUuY29tMRMwEQYDVQQIEwpMYW5jYXNoaXJlMQswCQYD
-VQQGEwJVSzEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxlLmNvbTEaMBgGA1UE
-ChMRU29tZSBvcmdhbmlzYXRpb24wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
-AJfJkieBp0xkgqIw1ge3V+Cc6s3rU77qtrVHZtBoVCWn7SFc3P3aQfbHwDWul3L9
-i68pPThaZ4s5is6GJQ84p7U4s46B8Op5mcv1I2RV80uktiNkKeq68ylSp38y3A22
-2dTmE94BQYaaLY+7DBiICazUaunLiheKhQmmrqYcBelVAgMBAAGjSDBGMAkGA1Ud
-EwQCMAAwOQYIKwYBBQUHAQEELTArMCkGCCsGAQUFBzABhh1odHRwOi8vb2NzcC5l
-eGFtcGxlLmNvbTo4ODg4LzANBgkqhkiG9w0BAQUFAAOCAQEAi5uW+44bd/VwOf52
-Uaypa4Clt5WLwxqcH7vR0WhDQJZi1qba2f2dmp6KhPr1VM6o1zfHDJX8EYvpMlPl
-WWEKU3Dz1u0/sfRJv4bBdw2xrGV+YtLyWjFQp+0ou2PV809DOj+/O9CUqqF0lb6k
-D4vgb9gzhHZxstr0Dh7S6/DDHjN5ITWTGAU422OFGuSEQQrD+/1caT0YCji4FhjT
-I7lRRy5UCNH8LrZjYnicJlnCXlo4dkfn8Ph7twBGNLBEKKkz1+UdUsj7MqUlhiEM
-gPBLN2CgRWmfa7A0kV5MYkWZgx2ASHi77tSDOXbD5vsx6SDwZJAkTsYHdUAffpd3
-H7+i7w==
+MIIEEDCCAvigAwIBAgIUQrpDlYwLae3IBtw7fjH/oCSCWMYwDQYJKoZIhvcNAQEL
+BQAwgaIxCzAJBgNVBAYTAk5PMQ8wDQYDVQQIDAZOb3J3YXkxDTALBgNVBAcMBE9z
+bG8xDTALBgNVBAoMBFRRdEMxLzAtBgNVBAsMJlRRdEMgVGVzdCBSb290IEF1dGhv
+cml6YXRpb24gQXV0aG9yaXR5MRowGAYDVQQDDBFUUXRDIHRlc3Qgcm9vdCBDQTEX
+MBUGCSqGSIb3DQEJARYIY2FAcXQuaW8wHhcNMjEwODA2MDQzNzIyWhcNMzEwNjE1
+MDQzNzIyWjCBhzELMAkGA1UEBhMCTk8xDzANBgNVBAgMBk5vcndheTENMAsGA1UE
+BwwET3NsbzENMAsGA1UECgwEVFF0QzESMBAGA1UECwwJU29tZSBVbml0MRQwEgYD
+VQQDDAtleGFtcGxlLmNvbTEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxlLmNv
+bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMEmu/GCuiQwbQf8qluK
+5UovaQ4L3MHScVFbHlHu1Nyc12wmhhpzC3jC+OikxdCPpvxdNmdsOHonhNkO55sL
+YygX4c4sCNM4B6VbJTfdOKHRBV6ySxFVS4jjBwB88Ouz9KieGiOAA6Lf6nqIBitU
+eYQtBPye1lSqX4dAFHx7Il6Ad8Z3U9hUkqEpcW3AGSxFS6GebfTNleN85lXyLhHm
+v66vEcHOGM7YSjWjUDto4C5LpYQHMvKe4/oZylQkRwevy8pZ+dK6ZiJuxzKVu2M2
++LuYFeCRnFry5NBUBhpeLSOgJO2BYJZroRWygjBNUD6yToZFOX77ctL0+lXIgqZ8
+vT0CAwEAAaNXMFUwDgYDVR0PAQH/BAQDAgLkMDgGCCsGAQUFBwEBBCwwKjAoBggr
+BgEFBQcwAYYcaHR0cDovL29jc3AuZXhhbXBsZS5jb206ODg4ODAJBgNVHRMEAjAA
+MA0GCSqGSIb3DQEBCwUAA4IBAQAReaLhTl0k8+pmVNvnqkPg7UvwmZ1EStWyz0hn
+Ar+NZSIdHUWqGqvoQVzcH5ODW3yfkNadhwfm8BJcFuy0ioTqhGuho3cI8Qr9MRQl
+s0NNIjeENYbBElBXmJup4OdgCSy0GL3DeCoe3xR+IwHYeER/oH6VDBZrpVovHAk9
+6FlL6eBXgWu1YzXhKU4/enVIJ0A4LRF9WnyhQSucLwo3+bOvPxLBtmP+lWtXyKap
+wMMNPu6EULAQ2IYcTgafCW9BWR1UWDXHBRO5ytBV4KFrhXiPoPmA4x0ACxnclH41
+b3Pj0pBur9cQuvap/FSz1uEfJdsYISw6srTfD4zNUuXXhSbz
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
index d91d93d9ab..80bcb6d792 100644
--- a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
+++ b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp
@@ -112,6 +112,7 @@ private:
QString testDataDir;
bool fileContainsUnsupportedEllipticCurve(const QString &fileName) const;
+ bool algorithmsSupported(const QString &fileName) const;
QVector<QString> unsupportedCurves;
};
@@ -154,6 +155,36 @@ bool tst_QSslKey::fileContainsUnsupportedEllipticCurve(const QString &fileName)
return false;
}
+bool tst_QSslKey::algorithmsSupported(const QString &fileName) const
+{
+#if defined(Q_OS_WINRT) || QT_CONFIG(schannel)
+ if (fileName.contains("RC2-64")) // WinRT/Schannel treats RC2 as 128 bit
+ return false;
+#endif
+
+#if !defined(QT_NO_SSL) && defined(QT_NO_OPENSSL) // generic backend
+ // No AES support in the generic back-end, PKCS#12 algorithms not supported either.
+ return !(fileName.contains(QRegularExpression("-aes\\d\\d\\d-")) || fileName.contains("pkcs8-pkcs12"));
+#endif
+
+#if OPENSSL_VERSION_MAJOR < 3
+ // If it's not built with OpenSSL or it's OpenSSL v < 3.
+ return true;
+#else
+ // OpenSSL v3 first introduced the notion of 'providers'. Many algorithms
+ // were moved into the 'legacy' provider. While they are still supported in theory,
+ // the 'legacy' provider is NOT loaded by default and we are not loading it either.
+ // Thus, some of the keys we are using in tst_QSslKey would fail the test. We
+ // have to filter them out.
+ const auto name = fileName.toLower();
+ if (name.contains("-des."))
+ return false;
+
+ return !name.contains("-rc2-") && !name.contains("-rc4-");
+#endif
+}
+
+
void tst_QSslKey::initTestCase()
{
testDataDir = QFileInfo(QFINDTESTDATA("rsa-without-passphrase.pem")).absolutePath();
@@ -221,16 +252,8 @@ void tst_QSslKey::createPlainTestRows(bool pemOnly)
foreach (KeyInfo keyInfo, keyInfoList) {
if (pemOnly && keyInfo.format != QSsl::EncodingFormat::Pem)
continue;
-#if defined(Q_OS_WINRT) || QT_CONFIG(schannel)
- if (keyInfo.fileInfo.fileName().contains("RC2-64"))
- continue; // WinRT/Schannel treats RC2 as 128 bit
-#endif
-#if !defined(QT_NO_SSL) && defined(QT_NO_OPENSSL) // generic backend
- if (keyInfo.fileInfo.fileName().contains(QRegularExpression("-aes\\d\\d\\d-")))
- continue; // No AES support in the generic back-end
- if (keyInfo.fileInfo.fileName().contains("pkcs8-pkcs12"))
- continue; // The generic back-end doesn't support PKCS#12 algorithms
-#endif
+ if (!algorithmsSupported(keyInfo.fileInfo.fileName()))
+ continue;
QTest::newRow(keyInfo.fileInfo.fileName().toLatin1())
<< keyInfo.fileInfo.absoluteFilePath() << keyInfo.algorithm << keyInfo.type
@@ -521,10 +544,16 @@ void tst_QSslKey::passphraseChecks_data()
const QByteArray pass("123");
const QByteArray aesPass("1234");
+#if OPENSSL_VERSION_MAJOR < 3
+ // DES and RC2 are not provided by default in OpenSSL v3.
+ // This part is for either non-OpenSSL build, or OpenSSL v < 3.x.
QTest::newRow("DES") << QString(testDataDir + "rsa-with-passphrase-des.pem") << pass;
- QTest::newRow("3DES") << QString(testDataDir + "rsa-with-passphrase-3des.pem") << pass;
QTest::newRow("RC2") << QString(testDataDir + "rsa-with-passphrase-rc2.pem") << pass;
-#if (!defined(QT_NO_OPENSSL) && !defined(OPENSSL_NO_AES)) || (defined(QT_NO_OPENSSL) && QT_CONFIG(ssl))
+#endif // OPENSSL_VERSION_MAJOR
+
+ QTest::newRow("3DES") << QString(testDataDir + "rsa-with-passphrase-3des.pem") << pass;
+
+#if defined(QT_NO_OPENSSL) || !defined(OPENSSL_NO_AES) || (defined(QT_NO_OPENSSL) && QT_CONFIG(ssl))
QTest::newRow("AES128") << QString(testDataDir + "rsa-with-passphrase-aes128.pem") << aesPass;
QTest::newRow("AES192") << QString(testDataDir + "rsa-with-passphrase-aes192.pem") << aesPass;
QTest::newRow("AES256") << QString(testDataDir + "rsa-with-passphrase-aes256.pem") << aesPass;
@@ -615,6 +644,9 @@ void tst_QSslKey::encrypt_data()
QTest::addColumn<QByteArray>("iv");
QByteArray iv("abcdefgh");
+#if OPENSSL_VERSION_MAJOR < 3
+ // Either non-OpenSSL build, or OpenSSL v < 3
+ // (with DES and other legacy algorithms available by default)
QTest::newRow("DES-CBC, length 0")
<< QSslKeyPrivate::DesCbc << QByteArray("01234567")
<< QByteArray()
@@ -704,6 +736,7 @@ void tst_QSslKey::encrypt_data()
<< QByteArray(8, 'a')
<< QByteArray::fromHex("5AEC1A5B295660B02613454232F7DECE")
<< iv;
+#endif // OPENSSL_VERSION_MAJOR
#if (!defined(QT_NO_OPENSSL) && !defined(OPENSSL_NO_AES)) || (defined(QT_NO_OPENSSL) && QT_CONFIG(ssl))
// AES needs a longer IV
diff --git a/tests/auto/network/ssl/qsslsocket/certs/ca-generate.sh b/tests/auto/network/ssl/qsslsocket/certs/ca-generate.sh
new file mode 100644
index 0000000000..10aea0905e
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/ca-generate.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+# Copyright (C) 2016 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+# generate ca.crt
+openssl genrsa -out ca.key 8192
+openssl req -x509 -new -sha512 -nodes -key ca.key -days 10000 -out ca.crt -config ca.conf
+
+# generate inter.crt
+openssl genrsa -out inter.key 8192
+openssl req -new -sha512 -nodes -key inter.key -out inter.csr -config inter.conf
+openssl x509 -req -sha512 -days 45 -in inter.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out inter.crt
+rm inter.csr
+rm ca.srl
+
+# generate leaf.crt
+openssl genrsa -out leaf.key 8192
+openssl req -new -sha512 -nodes -key leaf.key -out leaf.csr -config leaf.conf
+openssl x509 -req -sha512 -days 45 -in leaf.csr -CA inter.crt -CAkey inter.key -CAcreateserial -out leaf.crt
+rm leaf.csr
+rm inter.srl
diff --git a/tests/auto/network/ssl/qsslsocket/certs/ca.conf b/tests/auto/network/ssl/qsslsocket/certs/ca.conf
new file mode 100644
index 0000000000..1f94247a2f
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/ca.conf
@@ -0,0 +1,10 @@
+basicConstraints = CA:TRUE
+keyUsage = cRLSign, keyCertSign
+[req]
+distinguished_name = network-tests.qt-project.org
+prompt = no
+[network-tests.qt-project.org]
+C = NO
+ST = Oslo
+L = Oslo
+CN = Fake Qt Project Certificate Authority
diff --git a/tests/auto/network/ssl/qsslsocket/certs/ca.crt b/tests/auto/network/ssl/qsslsocket/certs/ca.crt
index 5cbe8ef726..8e6c6e255c 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/ca.crt
+++ b/tests/auto/network/ssl/qsslsocket/certs/ca.crt
@@ -1,22 +1,52 @@
-----BEGIN CERTIFICATE-----
-MIIDpTCCAl2gAwIBAgIQAKraD9BoqaSa75qOqcP7ZTANBgkqhkiG9w0BAQUFADA8
-MQswCQYDVQQGEwJHQjEZMBcGA1UEChMQV2VzdHBvaW50IENBIEtleTESMBAGA1UE
-ChMJV2VzdHBvaW50MB4XDTEzMDIxNjE2NTMwOFoXDTIzMDIxNjE2NTMwOFowPDEL
-MAkGA1UEBhMCR0IxGTAXBgNVBAoTEFdlc3Rwb2ludCBDQSBLZXkxEjAQBgNVBAoT
-CVdlc3Rwb2ludDCCAVIwDQYJKoZIhvcNAQEBBQADggE/ADCCAToCggExAJv0H92j
-WjDB9h1DmSQzt772IPSirpE82sN9ls5J19TJcPnw49LdUUqkELJkpS1ty2hYPdUw
-7q3n00D+nzS+rt1QIDSKwDVoqeIyFZw4h0ULbASErfy51xBjVIr6NNoiqazp59wQ
-RDvqps7of+b/NcbOh73MsiYi8T5OoI4Quv9rMBefQTAI3d2NRQ4GUzS6Hzh2INOc
-4twApTDYY+yrU8IalXttIOVdKJZTHeTCdIXD3HMfHCkzyELz8rCI1/wDEp8zyoqF
-/tpBStZ5LUSrlRRM7PegqcnM+aojXyrEiXBvPuqO7tabU3nsfix9+8+7GDweDXsP
-OUHv+ahGNTUya7hBDaQmVk3/5hbig9kQlNiOcvcdnYYyJqiXhvjPPzOBbRaFNvBT
-uG/ehHNHYsdhEBkCAwEAAaNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8E
-BQMDBwYAMB0GA1UdDgQWBBSUJzi1uYQUxqb3Nr33LOLCaUUTyTANBgkqhkiG9w0B
-AQUFAAOCATEAPeGh2GiIhT3cii3DU8ihd5TmnEstuHKz2FwHDChmen0zxE8lf08/
-onL1yIeaxbDA8KwZnv71/zZHJv02sPtIMUfuXQc0wOIFjDf0ngc6xIBuU7FUpLxF
-2dK7g9OsiNeC7L/ZemRXgpJURdNF2Ujge9/H9yfpHFBXZztmaWir+TXc5g3PKIu6
-97t75Og+stPhTcSlph8ZHYep08b2uthCfcnuIRGeDW9LkfR8VugnuUf7GoIlqSTs
-SR6bNuyTnnCHQMJzbsQ472+ag3aZS5HzoR8wyGiPmpc43lQM5ZEDrWGu8bub2gKa
-/+KeqHd0wnl7Y5cxnmAptQjxvzBXX/pl4sWczesiGcYm5z5mabp4CY09Y8JtrJZT
-IJodXy9ykRmEurgtRoRVc1aSp+xfV725bQ==
+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
+i+VYGJPNrI6E/LMy1lq/iCVQJQ==
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/ca.key b/tests/auto/network/ssl/qsslsocket/certs/ca.key
new file mode 100644
index 0000000000..eb2c48dbac
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/ca.key
@@ -0,0 +1,99 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/fluke.cert b/tests/auto/network/ssl/qsslsocket/certs/fluke.cert
index 069fa6b341..4cc4d9a5ea 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/fluke.cert
+++ b/tests/auto/network/ssl/qsslsocket/certs/fluke.cert
@@ -1,75 +1,34 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 0 (0x0)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NO, ST=Oslo, L=Nydalen, O=Nokia Corporation and/or its subsidiary(-ies), OU=Development, CN=fluke.troll.no/emailAddress=ahanssen@trolltech.com
- Validity
- Not Before: Dec 4 01:10:32 2007 GMT
- Not After : Apr 21 01:10:32 2035 GMT
- Subject: C=NO, ST=Oslo, O=Nokia Corporation and/or its subsidiary(-ies), OU=Development, CN=fluke.troll.no
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (1024 bit)
- Modulus (1024 bit):
- 00:a7:c8:a0:4a:c4:19:05:1b:66:ba:32:e2:d2:f1:
- 1c:6f:17:82:e4:39:2e:01:51:90:db:04:34:32:11:
- 21:c2:0d:6f:59:d8:53:90:54:3f:83:8f:a9:d3:b3:
- d5:ee:1a:9b:80:ae:c3:25:c9:5e:a5:af:4b:60:05:
- aa:a0:d1:91:01:1f:ca:04:83:e3:58:1c:99:32:45:
- 84:70:72:58:03:98:4a:63:8b:41:f5:08:49:d2:91:
- 02:60:6b:e4:64:fe:dd:a0:aa:74:08:e9:34:4c:91:
- 5f:12:3d:37:4d:54:2c:ad:7f:5b:98:60:36:02:8c:
- 3b:f6:45:f3:27:6a:9b:94:9d
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- Netscape Comment:
- OpenSSL Generated Certificate
- X509v3 Subject Key Identifier:
- 21:85:04:3D:23:01:66:E5:F7:9F:1A:84:24:8A:AF:0A:79:F4:E5:AC
- X509v3 Authority Key Identifier:
- DirName:/C=NO/ST=Oslo/L=Nydalen/O=Nokia Corporation and/or its subsidiary(-ies)/OU=Development/CN=fluke.troll.no/emailAddress=ahanssen@trolltech.com
- serial:8E:A8:B4:E8:91:B7:54:2E
-
- Signature Algorithm: sha1WithRSAEncryption
- 6d:57:5f:d1:05:43:f0:62:05:ec:2a:71:a5:dc:19:08:f2:c4:
- a6:bd:bb:25:d9:ca:89:01:0e:e4:cf:1f:c1:8c:c8:24:18:35:
- 53:59:7b:c0:43:b4:32:e6:98:b2:a6:ef:15:05:0b:48:5f:e1:
- a0:0c:97:a9:a1:77:d8:35:18:30:bc:a9:8f:d3:b7:54:c7:f1:
- a9:9e:5d:e6:19:bf:f6:3c:5b:2b:d8:e4:3e:62:18:88:8b:d3:
- 24:e1:40:9b:0c:e6:29:16:62:ab:ea:05:24:70:36:aa:55:93:
- ef:02:81:1b:23:10:a2:04:eb:56:95:75:fc:f8:94:b1:5d:42:
- c5:3f:36:44:85:5d:3a:2e:90:46:8a:a2:b9:6f:87:ae:0c:15:
- 40:19:31:90:fc:3b:25:bb:ae:f1:66:13:0d:85:90:d9:49:34:
- 8f:f2:5d:f9:7a:db:4d:5d:27:f6:76:9d:35:8c:06:a6:4c:a3:
- b1:b2:b6:6f:1d:d7:a3:00:fd:72:eb:9e:ea:44:a1:af:21:34:
- 7d:c7:42:e2:49:91:19:8b:c0:ad:ba:82:80:a8:71:70:f4:35:
- 31:91:63:84:20:95:e9:60:af:64:8b:cc:ff:3d:8a:76:74:3d:
- c8:55:6d:e4:8e:c3:2b:1c:e8:42:18:ae:9f:e6:6b:9c:34:06:
- ec:6a:f2:c3
-----BEGIN CERTIFICATE-----
-MIIEEzCCAvugAwIBAgIBADANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMCTk8x
-DTALBgNVBAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xs
-dGVjaCBBU0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50
-cm9sbC5ubzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbTAe
-Fw0wNzEyMDQwMTEwMzJaFw0zNTA0MjEwMTEwMzJaMGMxCzAJBgNVBAYTAk5PMQ0w
-CwYDVQQIEwRPc2xvMRYwFAYDVQQKEw1Ucm9sbHRlY2ggQVNBMRQwEgYDVQQLEwtE
-ZXZlbG9wbWVudDEXMBUGA1UEAxMOZmx1a2UudHJvbGwubm8wgZ8wDQYJKoZIhvcN
-AQEBBQADgY0AMIGJAoGBAKfIoErEGQUbZroy4tLxHG8XguQ5LgFRkNsENDIRIcIN
-b1nYU5BUP4OPqdOz1e4am4CuwyXJXqWvS2AFqqDRkQEfygSD41gcmTJFhHByWAOY
-SmOLQfUISdKRAmBr5GT+3aCqdAjpNEyRXxI9N01ULK1/W5hgNgKMO/ZF8ydqm5Sd
-AgMBAAGjggEaMIIBFjAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM
-IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUIYUEPSMBZuX3nxqEJIqv
-Cnn05awwgbsGA1UdIwSBszCBsKGBoqSBnzCBnDELMAkGA1UEBhMCTk8xDTALBgNV
-BAgTBE9zbG8xEDAOBgNVBAcTB055ZGFsZW4xFjAUBgNVBAoTDVRyb2xsdGVjaCBB
-U0ExFDASBgNVBAsTC0RldmVsb3BtZW50MRcwFQYDVQQDEw5mbHVrZS50cm9sbC5u
-bzElMCMGCSqGSIb3DQEJARYWYWhhbnNzZW5AdHJvbGx0ZWNoLmNvbYIJAI6otOiR
-t1QuMA0GCSqGSIb3DQEBBQUAA4IBAQBtV1/RBUPwYgXsKnGl3BkI8sSmvbsl2cqJ
-AQ7kzx/BjMgkGDVTWXvAQ7Qy5piypu8VBQtIX+GgDJepoXfYNRgwvKmP07dUx/Gp
-nl3mGb/2PFsr2OQ+YhiIi9Mk4UCbDOYpFmKr6gUkcDaqVZPvAoEbIxCiBOtWlXX8
-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
+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
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/fluke.key b/tests/auto/network/ssl/qsslsocket/certs/fluke.key
index 9d1664d609..337ce541a6 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/fluke.key
+++ b/tests/auto/network/ssl/qsslsocket/certs/fluke.key
@@ -1,15 +1,52 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXAIBAAKBgQCnyKBKxBkFG2a6MuLS8RxvF4LkOS4BUZDbBDQyESHCDW9Z2FOQ
-VD+Dj6nTs9XuGpuArsMlyV6lr0tgBaqg0ZEBH8oEg+NYHJkyRYRwclgDmEpji0H1
-CEnSkQJga+Rk/t2gqnQI6TRMkV8SPTdNVCytf1uYYDYCjDv2RfMnapuUnQIDAQAB
-AoGANFzLkanTeSGNFM0uttBipFT9F4a00dqHz6JnO7zXAT26I5r8sU1pqQBb6uLz
-/+Qz5Zwk8RUAQcsMRgJetuPQUb0JZjF6Duv24hNazqXBCu7AZzUenjafwmKC/8ri
-KpX3fTwqzfzi//FKGgbXQ80yykSSliDL3kn/drATxsLCgQECQQDXhEFWLJ0vVZ1s
-1Ekf+3NITE+DR16X+LQ4W6vyEHAjTbaNWtcTKdAWLA2l6N4WAAPYSi6awm+zMxx4
-VomVTsjdAkEAx0z+e7natLeFcrrq8pbU+wa6SAP1VfhQWKitxL1e7u/QO90NCpxE
-oQYKzMkmmpOOFjQwEMAy1dvFMbm4LHlewQJAC/ksDBaUcQHHqjktCtrUb8rVjAyW
-A8lscckeB2fEYyG5J6dJVaY4ClNOOs5yMDS2Afk1F6H/xKvtQ/5CzInA/QJATDub
-K+BPU8jO9q+gpuIi3VIZdupssVGmCgObVCHLakG4uO04y9IyPhV9lA9tALtoIf4c
-VIvv5fWGXBrZ48kZAQJBAJmVCdzQxd9LZI5vxijUCj5EI4e+x5DRqVUvyP8KCZrC
-AiNyoDP85T+hBZaSXK3aYGpVwelyj3bvo1GrTNwNWLw=
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+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
+g0veFbyfzlJ0q8qzD/iffqqIa2ZSmQ==
+-----END PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/inter.conf b/tests/auto/network/ssl/qsslsocket/certs/inter.conf
new file mode 100644
index 0000000000..ed350da8ea
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/inter.conf
@@ -0,0 +1,14 @@
+[req]
+default_md = sha512
+basicConstraints = CA:TRUE
+keyUsage = cRLSign, keyCertSign
+[req]
+distinguished_name = intermediate_authority
+prompt = no
+[intermediate_authority]
+C = NO
+ST = Oslo
+L = Oslo
+O = The Qt Project
+OU = The Qt Project
+CN = Fake Qt Project Intermediate Certificate
diff --git a/tests/auto/network/ssl/qsslsocket/certs/inter.crt b/tests/auto/network/ssl/qsslsocket/certs/inter.crt
index 4e1d67c3e0..2d924f3a96 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/inter.crt
+++ b/tests/auto/network/ssl/qsslsocket/certs/inter.crt
@@ -1,22 +1,53 @@
-----BEGIN CERTIFICATE-----
-MIIDvDCCAnSgAwIBAgIQO+uZxerYC10Ll11PBnVL4TANBgkqhkiG9w0BAQUFADA8
-MQswCQYDVQQGEwJHQjEZMBcGA1UEChMQV2VzdHBvaW50IENBIEtleTESMBAGA1UE
-ChMJV2VzdHBvaW50MB4XDTEzMDIxNjE2NTMwOFoXDTIzMDIxNjE2NTMwOFowMjEL
-MAkGA1UEBhMCR0IxIzAhBgNVBAoTGldlc3Rwb2ludCBJbnRlcm1lZGlhdGUgS2V5
-MIIBUjANBgkqhkiG9w0BAQEFAAOCAT8AMIIBOgKCATEAsR4tRskg2IFfQFMfGBJ1
-eqlrNejANw0oM6k5HlEB8uFA9qeyAzmflwQUPoJ55KRQ/gVHTOBdWrtgGgPMiekF
-1Q36Ry1elwbAl4a+LZ6qsc9ASipvk8HirKpt1v5L9hG+aI4yDxyvjNztFtg5R4P5
-zqsh/WwhCgsYmEVfcSDbhUjqoqxGRLaZxPKO+IMCNFrjZqi0yxc8f6Un4G5SQzHA
-4szi/ezcITnAFYWxHG2yaed4hawpxNS1WXabk2rzCi0pWeIcHuIczaCfZ7ElRcqV
-VNNXbGTtUDlfIsh6FAVI5kTUDcPV27uf6BmHuFOu/R9Tjni25+vBFvohwQh7ZwCX
-5COXnfkJLPkJQQEFVQv8nS27ht/vmyoKjERUeiuMd+hFcN5zl7bS5A2JCgi7erlP
-ZQIDAQABo2QwYjAPBgNVHRMBAf8EBTADAQH/MA8GA1UdDwEB/wQFAwMHBgAwHQYD
-VR0OBBYEFGn5shQ0SeTcc3x/cNu6TkoV0bPmMB8GA1UdIwQYMBaAFJQnOLW5hBTG
-pvc2vfcs4sJpRRPJMA0GCSqGSIb3DQEBBQUAA4IBMQAVDS0enQQ1FL0d92xOFfwx
-mjcNPz9oO7jMyEVxAs2eR2QD+xZ3Xj4gAiUEp40aGieDcLv+dg+cmuBFWF61IYSR
-UyuoakVm08VDcLAwUzU+xtSvJiSSROb0GsAnVsYZj4TYlvKDplqfapOYaiIkwF+c
-iE4n7G0hQW9fzqO+n3FGtBD8YUjghRqLggeRVJ2+8S3Bm8cfx8xPpRIO3ksA6opn
-CORRGuzetDHihbks59mkoY3GqKFgBOyrC3kG07nv5wtKjdKDtmD/kS/SAc4fIXKy
-Uruq2uXNf/1BUgF5gFGRyj22yB2D0763fJJpl5nqcLrL5RmnVObQKZGhE2VsRTV0
-untj+AmiJivhiAjjkHfw3XDf8tuL7D4pTmEkGgl5xl23fyeTIuygDCLT8fRD3ZqQ
+MIIJczCCBVsCFBFyNLwh5soEJBP4NUiEpuneliIVMA0GCSqGSIb3DQEBDQUAMFsx
+CzAJBgNVBAYTAk5PMQ0wCwYDVQQIDARPc2xvMQ0wCwYDVQQHDARPc2xvMS4wLAYD
+VQQDDCVGYWtlIFF0IFByb2plY3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTIy
+MDkwMjE1MDIyMVoXDTIyMTAxNzE1MDIyMVowgZAxCzAJBgNVBAYTAk5PMQ0wCwYD
+VQQIDARPc2xvMQ0wCwYDVQQHDARPc2xvMRcwFQYDVQQKDA5UaGUgUXQgUHJvamVj
+dDEXMBUGA1UECwwOVGhlIFF0IFByb2plY3QxMTAvBgNVBAMMKEZha2UgUXQgUHJv
+amVjdCBJbnRlcm1lZGlhdGUgQ2VydGlmaWNhdGUwggQiMA0GCSqGSIb3DQEBAQUA
+A4IEDwAwggQKAoIEAQDf31Hd+5tMLrBf966j4BiTBP7yIS7BJ7jBSUWVStd8F1Pc
+hxB/h8hKj8T8M8Fq2prmxkkjg4epxmgqYeGqYnBqPY0Gke0RXC506WGW8B4IQ+qk
+szVHJyNC2dnZ7byaqj1/vleQESmaQhXRxSvaw3Qu54/SbXuEOot8tiBZ90oVvHHt
+yn1nQYpGGDszTATKMaaqaE+D/lsNzxJGGzndbg9yjrvLRKBRbFIhT7L7ME4d2NLm
+AcXvFHHjV2bEBCvQrShXE0t11qAUrT48rDcBA0OsMW6YwxCBoFXvnpg5iuCfbQGf
+zRVgGIhb8Bo1dV2nTBTMpz9ssupTOmlS1/WJ99w4nPHUHBtYe8QBaWigHbIqyxlP
+hm6NBe4i1EoqY7fsfI6uH9eo0l8ZvB/tLCgFRE5OqHQZXPUHutnlhSoouj7gA7Lp
+VPYundGY8mauVV9YFVDECh8oiJI9/dqq4i6QhLHFXFUG6P95yqgzv9fsy2HKKr06
+2deBjOGMoQv7CRgRr9/JOAYOdk8SeQ1eWRA2O2Vx9N2davIczvuODqP2Y2IqJ9/x
+xvYVZNlnLIrtJvTCh4ROe3+ecdLeg/hFT/J2BmG6oHeNm0TJPnI1bK6TDJYb/Nqi
+EIuDDpbNs4IZn70DCU+Fg1FiV+evAziQ67utijyOg/xooUKVvXH4c5s7jUcFmYJd
+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
+wvnYOPu8PDnRWerAdoRZUNlKigb6oUA=
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/inter.key b/tests/auto/network/ssl/qsslsocket/certs/inter.key
new file mode 100644
index 0000000000..8d282647e5
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/inter.key
@@ -0,0 +1,99 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/leaf.conf b/tests/auto/network/ssl/qsslsocket/certs/leaf.conf
new file mode 100644
index 0000000000..5ecbd31b55
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket/certs/leaf.conf
@@ -0,0 +1,14 @@
+[req]
+default_md = sha512
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+[req]
+distinguished_name = leaf_cert
+prompt = no
+[leaf_cert]
+C = NO
+ST = Oslo
+L = Oslo
+O = The Qt Project
+OU = The Qt Project
+CN = networking-tests.qt-project.org
diff --git a/tests/auto/network/ssl/qsslsocket/certs/leaf.crt b/tests/auto/network/ssl/qsslsocket/certs/leaf.crt
index 4a7dc40540..b9af13b896 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/leaf.crt
+++ b/tests/auto/network/ssl/qsslsocket/certs/leaf.crt
@@ -1,23 +1,54 @@
-----BEGIN CERTIFICATE-----
-MIID3zCCApegAwIBAgIQEKCtd1j2bq5Gk6ND+VmKnjANBgkqhkiG9w0BAQUFADAy
-MQswCQYDVQQGEwJHQjEjMCEGA1UEChMaV2VzdHBvaW50IEludGVybWVkaWF0ZSBL
-ZXkwHhcNMTMwMjE2MTY1MzA4WhcNMjMwMjE2MTY1MzA4WjA1MQswCQYDVQQGEwJH
-QjESMBAGA1UEChMJV2VzdHBvaW50MRIwEAYDVQQDEwkxMjcuMC4wLjEwggFSMA0G
-CSqGSIb3DQEBAQUAA4IBPwAwggE6AoIBMQC7EIWIzb7XCfmQQ1KFdZ5E9f49eNK/
-KvsXYfq/iV29K1cz2hUyvfdKgyU5F/+BOPQKQ5zdWn1CraZosFv/ibuO3mhRpMfB
-SfNn3rfdrE7WtA0wgT2YNIN0L4aCe+C15j2ESdmyMaFLUaUIS47JS66UtaYxp5ia
-mJFO1hSNaoI0pGHyPFTTtfOza9z/01qkBbHB4htzauqs/fX5ZrnyCDSrfpVipXke
-zkPKg4MkkytEkjRKw6tSXLpWIgF3ee2N/jBdefqlw8YPW08K0wmwF5qGuX6PZ8vB
-sOZeWeCfVr136BopkbfP3TkGWw2BrD8xSzOUez9HVc0v4SZ/7pe5w3L4V/mzYQLt
-O+1AHevCjX8+M58HYGBaWCAjxYUPGcGKcj0LLtgZgL6wY88N7RtfeOY3AgMBAAGj
-gY0wgYowFAYDVR0RBA0wC4IJMTI3LjAuMC4xMAwGA1UdEwEB/wQCMAAwEwYDVR0l
-BAwwCgYIKwYBBQUHAwEwDwYDVR0PAQH/BAUDAwcoADAdBgNVHQ4EFgQUKKuyJSrT
-Y+dnm1do7l0sVMX96SYwHwYDVR0jBBgwFoAUafmyFDRJ5NxzfH9w27pOShXRs+Yw
-DQYJKoZIhvcNAQEFBQADggExAHELijlIFdcncP3B+vxEp0SGKl0arIaCXahivb2F
-VxeM3WajN6O+oDRLFltzMeDKA9RVkao7fgITzXQgCGzeNhKv0vc9iDyvR9/67vuS
-W8xEEJrYowtw3VK5H1y0ewqZaxJhvKUjm4TBRWe8FGKD3s64lEsfbjOaI5VPidVc
-DXmdAlXsj0Hk+v4Ej8mshPQAnVSyJ3D0ZMgTjk8Di28N0qROFIYJaTObK1rCb1nQ
-GaCcmbZU6JnkYvVZ+iUe5U0GXFbb+LRNTUT8/fw1zADeHnv/G+WWVrfND+sov5Oc
-33fkNE6z+n6ayABVnGLuCYhbzD38sv0dnxeh8vbykNBPzYdzPg6nw3Czv2vlhKpJ
-8Yj/maoXuAyTXVf30K1/fAWyU45noq57MjQpU6UxIX1D7qw=
+MIIJoDCCBYgCFFjfM8GbvMVRegCGZEOUQeIm7z+JMA0GCSqGSIb3DQEBDQUAMIGQ
+MQswCQYDVQQGEwJOTzENMAsGA1UECAwET3NsbzENMAsGA1UEBwwET3NsbzEXMBUG
+A1UECgwOVGhlIFF0IFByb2plY3QxFzAVBgNVBAsMDlRoZSBRdCBQcm9qZWN0MTEw
+LwYDVQQDDChGYWtlIFF0IFByb2plY3QgSW50ZXJtZWRpYXRlIENlcnRpZmljYXRl
+MB4XDTIyMDkwMjE1MDIzMFoXDTIyMTAxNzE1MDIzMFowgYcxCzAJBgNVBAYTAk5P
+MQ0wCwYDVQQIDARPc2xvMQ0wCwYDVQQHDARPc2xvMRcwFQYDVQQKDA5UaGUgUXQg
+UHJvamVjdDEXMBUGA1UECwwOVGhlIFF0IFByb2plY3QxKDAmBgNVBAMMH25ldHdv
+cmtpbmctdGVzdHMucXQtcHJvamVjdC5vcmcwggQiMA0GCSqGSIb3DQEBAQUAA4IE
+DwAwggQKAoIEAQCjQsmsZpATuLv54ERkqSdjWZYuulm5gZwzz9fS7R/K1CoSFQza
+T+rY7Kauv1zpalfZGNs4zmEiHDsJ/hhVxCC0L6L2PqmkZjFT9psAkPHENRMIvBYl
+QsrJbSNj09UeBfAR+ux2vktreyZc3UFyq74iQbHeXFuzDnH17BZMR8nMs72wDD5J
+QMaRmvtEvOlNuiT6X7YluO7L3f4EAGbLh3s4OxDHOIqtSXkFjMlgmqU3fKBsZ89F
+YlYH/v0X6ItK7tMbwJjXea1gPomO7pIH2H7CzTQ2DNL6fGRvqCFjZeseZudgRhwN
+LYz67yDKtZ0TvjqD3ShEboh5CxjL+8kskmofBf4WcF0z8xg2GtopAwFQU6ZI+FKY
+rNbUvTWcew4Q/Q0Ya01obeTXsOKZ7IVAo5SxOFSdBa+wS4Igekl7A0C9d9QTduxA
+4fnD+Rhw0dvZqL3lBnSisIsCIo/WK6g2L/gYvgRG/3ChRibfeW81rU8q6+MJIx4P
+Ad3f1wvEWGAWiYYnHfF0qpxhd3UYUN/31w3idaA4LAuQCOSfQHKnGEhp0hVng68H
+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
+y7Sk5pZgg67qgXybVQfxbPwEK6A=
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/leaf.key b/tests/auto/network/ssl/qsslsocket/certs/leaf.key
index 54327925d8..738d5ea8b9 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/leaf.key
+++ b/tests/auto/network/ssl/qsslsocket/certs/leaf.key
@@ -1,32 +1,99 @@
-----BEGIN RSA PRIVATE KEY-----
-MIIFfAIBAAKCATEAuxCFiM2+1wn5kENShXWeRPX+PXjSvyr7F2H6v4ldvStXM9oV
-Mr33SoMlORf/gTj0CkOc3Vp9Qq2maLBb/4m7jt5oUaTHwUnzZ9633axO1rQNMIE9
-mDSDdC+GgnvgteY9hEnZsjGhS1GlCEuOyUuulLWmMaeYmpiRTtYUjWqCNKRh8jxU
-07Xzs2vc/9NapAWxweIbc2rqrP31+Wa58gg0q36VYqV5Hs5DyoODJJMrRJI0SsOr
-Uly6ViIBd3ntjf4wXXn6pcPGD1tPCtMJsBeahrl+j2fLwbDmXlngn1a9d+gaKZG3
-z905BlsNgaw/MUszlHs/R1XNL+Emf+6XucNy+Ff5s2EC7TvtQB3rwo1/PjOfB2Bg
-WlggI8WFDxnBinI9Cy7YGYC+sGPPDe0bX3jmNwIDAQABAoIBMQCczBNyAStGqjjC
-oHuKHHWmTh9mPWFBFfDTv6/jXmvxRWPZtaHxH2Qp09Wejqv/D9MWy2ev7spx2oZS
-2Ai1ICjTbz83uAwryyW4Wen6aBTJSLCJiLstWk8ZU0DHHLjVH4FO4mwUPh95t5zC
-YDr2JXbXdY8xrc5vPxUFZNJjWvR61ZK37bQYpTn5mZ7r3KfsNk2yOylRTDwa9XFo
-ZZ+B82NKdrrz0UvGOnXZa5qd1ap7V+67FIAS2Mt8AMzSCG8TW0JXRUk89ISgAd8r
-NQTPtX9XCnMZSbBzDKdznXfHS9ZlJcSrpsbQCPcvMVNrdBfCF0eNnsRJffJGdaXI
-MsN6PvbcXWD08lXNGyeLjon03RdJnTAamNM3YQEIcjFmu5Y0o0CCJkZSCJPKJGMG
-0d/1tN/5AoGZANOcOgQZ9Wiu0ej3YoQ3aSHu3y8ZBJH4B3ViX8i+2x/6UnG7KNaa
-4Ygid1upnX6hk4CW5WZcoxGFacrFRpInKh5Ng8lEIHGp0VSzOBVDR0L5sAxutFuX
-6N9C0CuH80vD101mOloNnfT5KHZMI5RXqP6sDGUFlwak2XybDL1qOAza3gZAy25H
-vS/ll1BneBavikR5j+zxoTztAoGZAOJOJ5RyOrqpNuhiWZylah5LIFT9N1lCF4Hl
-ZbFIjUZ4jcApJ7JxkMXNQ4RU/3AiKCC1xr5ib7dd/qyjKXhdMo4SnLoKhapx5R9G
-3XOsQMahiCD/Zcymv9tmk8MxxzbLxhZYhEPzIP/NFkua3CHiX+d1e6fkzFLF/EiX
-ZGQOgRcFKrlzUeBputRQRXAkKJH+kMClgAWvy28zAoGYKyaMXhG9DV+4xjzMBhIW
-iijfsgbz+6AMRU+OIK1qmZa+ARsdNMXYf54noLVxvETOg0ZB+SGizwvZitO3lE4Q
-NKWx3fTaeNMcMJ1rLkrN2UZ5M8/PT24muoAxWu8aGbURzmKuO3bTYwT7z0OvbayC
-dYw36tG8/knXX6Vub6GdVGG9LKFB2nceiQnUVT0EK/wXwebYBoUvT/ECgZgF9qdG
-Wyg/CPyAbS8NWLKOL86fTrjpqjsyWhgu7smCROT/XlZEdoepHrqbvx2oF85U5lVh
-aPimrVxrsjUCjfoqEkV9BY/2KOAvzc9CIBTo5xLOQ8yr8uz1XCOiriogwIfsyNJb
-dAm3k/D1dxQ79FowoEDs8LONrtfyFcM4e8VdFO7GSkqrDj41IBRkWx+SkVHBMdtI
-yxQiTwKBmQCWym2iDCJg1ZZq4/lVwRudMhVmHoD0yoCAwADYHjjAi8QBplM0vfdd
-CESKsnBhlcrPGB279BKVJyZHehKZG+/dfnFs+to14l6A3IqU2d6+pu3EyFNX34HS
-xo+64QxMeF0akWnSaIPfUJfk36phjCvLBr4eLXN1i4jW3RdGFwF1THXt29VSSGmU
-q/hM51H0bsQ13AIVUSdNHA==
+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
-----END RSA PRIVATE KEY-----
diff --git a/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cacert.pem b/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cacert.pem
index c5aea0d7c9..29fd755de7 100644
--- a/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cacert.pem
+++ b/tests/auto/network/ssl/qsslsocket/certs/qt-test-server-cacert.pem
@@ -1,17 +1,17 @@
-----BEGIN CERTIFICATE-----
-MIICpzCCAhACCQCzAF1hyRVzAjANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UEBhMC
-Tk8xDTALBgNVBAgTBE9zbG8xDTALBgNVBAcTBE9zbG8xDjAMBgNVBAoTBU5va2lh
-MTUwMwYDVQQLFCxRdCBTb2Z0d2FyZS9lbWFpbEFkZHJlc3M9bm9ib2R5QG5vZG9t
-YWluLm9yZzEjMCEGA1UEAxMacXQtdGVzdC1zZXJ2ZXIucXQtdGVzdC1uZXQwHhcN
-MTkwNjI0MTI0OTIxWhcNMjIwNjIzMTI0OTIxWjCBlzELMAkGA1UEBhMCTk8xDTAL
-BgNVBAgTBE9zbG8xDTALBgNVBAcTBE9zbG8xDjAMBgNVBAoTBU5va2lhMTUwMwYD
-VQQLFCxRdCBTb2Z0d2FyZS9lbWFpbEFkZHJlc3M9bm9ib2R5QG5vZG9tYWluLm9y
-ZzEjMCEGA1UEAxMacXQtdGVzdC1zZXJ2ZXIucXQtdGVzdC1uZXQwgZ8wDQYJKoZI
-hvcNAQEBBQADgY0AMIGJAoGBAM2q22/WNMmn8cC+5EEYGeICySLmp9W6Ay6eKHr0
-Xxp3X3epETuPfvAuxp7rOtkS18EMUegkUj8jw0IMEcbyHKFC/rTCaYOt93CxGBXM
-IChiMPAsFeYzGa/D6xzAkfcRaJRQ+Ek3CDLXPnXfo7xpABXezYcPXAJrgsgBfWrw
-HdxzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEASCKbqEX5ysC549mq90ydk4jyDW3m
-PUyet01fKpcRqVs+OJxdExFBTra3gho6WzzpTSPsuX2ZKOLF5k6KkCvdCGvhC1Kv
-HHPIExurfzvdlSRzj6HbKyPuSfxyOloH0bBp7/Gg5RIuBPKlbmfbnTLtwEjhhbMU
-SoYI8HZd3HfY87c=
+MIICyjCCAjMCFHPGDqJR+klHni4XbETMk6GLn/UEMA0GCSqGSIb3DQEBDQUAMIGj
+MRcwFQYDVQQKEw5UaGUgUXQgQ29tcGFueTEUMBIGA1UECxMLUXQgU29mdHdhcmUx
+IjAgBgkqhkiG9w0BCQEWE25vYm9keUBub2RvbWFpbi5vcmcxDTALBgNVBAcTBE9z
+bG8xDTALBgNVBAgTBE9zbG8xCzAJBgNVBAYTAk5PMSMwIQYDVQQDExpxdC10ZXN0
+LXNlcnZlci5xdC10ZXN0LW5ldDAeFw0yMjA2MjQxMTU4NDlaFw0zMjA2MjExMTU4
+NDlaMIGjMRcwFQYDVQQKEw5UaGUgUXQgQ29tcGFueTEUMBIGA1UECxMLUXQgU29m
+dHdhcmUxIjAgBgkqhkiG9w0BCQEWE25vYm9keUBub2RvbWFpbi5vcmcxDTALBgNV
+BAcTBE9zbG8xDTALBgNVBAgTBE9zbG8xCzAJBgNVBAYTAk5PMSMwIQYDVQQDExpx
+dC10ZXN0LXNlcnZlci5xdC10ZXN0LW5ldDCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
+gYkCgYEAzarbb9Y0yafxwL7kQRgZ4gLJIuan1boDLp4oevRfGndfd6kRO49+8C7G
+nus62RLXwQxR6CRSPyPDQgwRxvIcoUL+tMJpg633cLEYFcwgKGIw8CwV5jMZr8Pr
+HMCR9xFolFD4STcIMtc+dd+jvGkAFd7Nhw9cAmuCyAF9avAd3HMCAwEAATANBgkq
+hkiG9w0BAQ0FAAOBgQCZyRe25WqOjrNS6BKPs7ep7eyCON3NKdWnfABZrSjGJQ87
+PoFKl6+9YBSlSpl8qk7c29ic+wA4qFQzPJkrbYIXjwVMAr+cC1kVrlUVqcwmvnKo
+5vj57/v8S0Uc4/GesIsxZR7QM+3diPDyk7Bsc3IkpINb31Dl0mlg25nztg8NxA==
-----END CERTIFICATE-----
diff --git a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
index 51fcff9a8d..0ee4d1b3e4 100644
--- a/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
+++ b/tests/auto/network/ssl/qsslsocket/qsslsocket.pro
@@ -3,6 +3,8 @@ CONFIG += testcase
SOURCES += tst_qsslsocket.cpp
QT = core core-private network-private testlib
+INCLUDEPATH += ../../../../shared/
+
TARGET = tst_qsslsocket
win32 {
diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
index a40ec30622..5dd5f66eba 100644
--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp
@@ -50,6 +50,7 @@
#include "private/qiodevice_p.h" // for QIODEVICE_BUFFERSIZE
#include "../../../network-settings.h"
+#include "emulationdetector.h"
#ifndef QT_NO_SSL
@@ -237,9 +238,6 @@ private slots:
void writeBigChunk();
void blacklistedCertificates();
void versionAccessors();
-#ifndef QT_NO_OPENSSL
- void sslOptions();
-#endif
void encryptWithoutConnecting();
void resume_data();
void resume();
@@ -1201,7 +1199,7 @@ public:
config(QSslConfiguration::defaultConfiguration()),
ignoreSslErrors(true),
peerVerifyMode(QSslSocket::AutoVerifyPeer),
- protocol(QSsl::TlsV1_0),
+ protocol(QSsl::TlsV1_2),
m_keyFile(keyFile),
m_certFile(certFile),
m_interFile(interFile)
@@ -1292,32 +1290,25 @@ void tst_QSslSocket::protocolServerSide_data()
QTest::addColumn<QSsl::SslProtocol>("clientProtocol");
QTest::addColumn<bool>("works");
- QTest::newRow("tls1.0-tls1.0") << QSsl::TlsV1_0 << QSsl::TlsV1_0 << true;
- QTest::newRow("tls1ssl3-tls1ssl3") << QSsl::TlsV1SslV3 << QSsl::TlsV1SslV3 << true;
QTest::newRow("any-any") << QSsl::AnyProtocol << QSsl::AnyProtocol << true;
QTest::newRow("secure-secure") << QSsl::SecureProtocols << QSsl::SecureProtocols << true;
- QTest::newRow("tls1-tls1ssl3") << QSsl::TlsV1_0 << QSsl::TlsV1SslV3 << true;
- QTest::newRow("tls1.0-secure") << QSsl::TlsV1_0 << QSsl::SecureProtocols << true;
- QTest::newRow("tls1.0-any") << QSsl::TlsV1_0 << QSsl::AnyProtocol << true;
-
- QTest::newRow("tls1ssl3-tls1.0") << QSsl::TlsV1SslV3 << QSsl::TlsV1_0 << true;
- QTest::newRow("tls1ssl3-secure") << QSsl::TlsV1SslV3 << QSsl::SecureProtocols << true;
- QTest::newRow("tls1ssl3-any") << QSsl::TlsV1SslV3 << QSsl::AnyProtocol << true;
+ const bool tls1Works =
+#ifndef QT_NO_OPENSSL
+ QSslSocket::sslLibraryVersionNumber() >> 28 < 3;
+#else
+ true;
+#endif // QT_NO_OPENSSL
- QTest::newRow("secure-tls1.0") << QSsl::SecureProtocols << QSsl::TlsV1_0 << true;
- QTest::newRow("secure-tls1ssl3") << QSsl::SecureProtocols << QSsl::TlsV1SslV3 << true;
+ QTest::newRow("tls1.0-secure") << QSsl::TlsV1_0 << QSsl::SecureProtocols << tls1Works;
+ QTest::newRow("secure-tls1.0") << QSsl::SecureProtocols << QSsl::TlsV1_0 << tls1Works;
QTest::newRow("secure-any") << QSsl::SecureProtocols << QSsl::AnyProtocol << true;
- QTest::newRow("tls1.0orlater-tls1.0") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_0 << true;
- QTest::newRow("tls1.0orlater-tls1.1") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_1 << true;
QTest::newRow("tls1.0orlater-tls1.2") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_2 << true;
#ifdef TLS1_3_VERSION
QTest::newRow("tls1.0orlater-tls1.3") << QSsl::TlsV1_0OrLater << QSsl::TlsV1_3 << true;
#endif
-
QTest::newRow("tls1.1orlater-tls1.0") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_0 << false;
- QTest::newRow("tls1.1orlater-tls1.1") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_1 << true;
QTest::newRow("tls1.1orlater-tls1.2") << QSsl::TlsV1_1OrLater << QSsl::TlsV1_2 << true;
#ifdef TLS1_3_VERSION
@@ -1329,16 +1320,12 @@ void tst_QSslSocket::protocolServerSide_data()
QTest::newRow("tls1.2orlater-tls1.2") << QSsl::TlsV1_2OrLater << QSsl::TlsV1_2 << true;
#ifdef TLS1_3_VERSION
QTest::newRow("tls1.2orlater-tls1.3") << QSsl::TlsV1_2OrLater << QSsl::TlsV1_3 << true;
-#endif
-#ifdef TLS1_3_VERSION
QTest::newRow("tls1.3orlater-tls1.0") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_0 << false;
QTest::newRow("tls1.3orlater-tls1.1") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_1 << false;
QTest::newRow("tls1.3orlater-tls1.2") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_2 << false;
QTest::newRow("tls1.3orlater-tls1.3") << QSsl::TlsV1_3OrLater << QSsl::TlsV1_3 << true;
#endif // TLS1_3_VERSION
- QTest::newRow("any-tls1.0") << QSsl::AnyProtocol << QSsl::TlsV1_0 << true;
- QTest::newRow("any-tls1ssl3") << QSsl::AnyProtocol << QSsl::TlsV1SslV3 << true;
QTest::newRow("any-secure") << QSsl::AnyProtocol << QSsl::SecureProtocols << true;
}
@@ -1411,10 +1398,28 @@ void tst_QSslSocket::serverCipherPreferences()
if (setProxy)
return;
- // First using the default (server preference)
+ QSslCipher testedCiphers[2];
{
+ // First using the default (server preference)
+ const auto supportedCiphers = QSslConfiguration::supportedCiphers();
+ int nSet = 0;
+ for (const auto &cipher : supportedCiphers) {
+ // Ciphersuites from TLS 1.2 and 1.3 are set separately,
+ // let's select 1.3 or above explicitly.
+ if (cipher.protocol() < QSsl::TlsV1_3)
+ continue;
+
+ testedCiphers[nSet++] = cipher;
+ if (nSet == 2)
+ break;
+ }
+
+ if (nSet != 2)
+ QSKIP("Failed to find two proper ciphersuites to test, bailing out.");
+
SslServer server;
- server.ciphers = {QSslCipher("AES128-SHA"), QSslCipher("AES256-SHA")};
+ server.protocol = QSsl::TlsV1_2OrLater;
+ server.ciphers = {testedCiphers[0], testedCiphers[1]};
QVERIFY(server.listen());
QEventLoop loop;
@@ -1424,7 +1429,8 @@ void tst_QSslSocket::serverCipherPreferences()
socket = &client;
auto sslConfig = socket->sslConfiguration();
- sslConfig.setCiphers({QSslCipher("AES256-SHA"), QSslCipher("AES128-SHA")});
+ sslConfig.setProtocol(QSsl::TlsV1_2OrLater);
+ sslConfig.setCiphers({testedCiphers[1], testedCiphers[0]});
socket->setSslConfiguration(sslConfig);
// upon SSL wrong version error, errorOccurred will be triggered, not sslErrors
@@ -1437,16 +1443,19 @@ void tst_QSslSocket::serverCipherPreferences()
loop.exec();
QVERIFY(client.isEncrypted());
- QCOMPARE(client.sessionCipher().name(), QString("AES128-SHA"));
+ QCOMPARE(client.sessionCipher().name(), testedCiphers[0].name());
}
{
+ if (EmulationDetector::isRunningArmOnX86())
+ QSKIP("This test is known to crash on QEMU emulation for no good reason.");
// Now using the client preferences
SslServer server;
QSslConfiguration config = QSslConfiguration::defaultConfiguration();
config.setSslOption(QSsl::SslOptionDisableServerCipherPreference, true);
server.config = config;
- server.ciphers = {QSslCipher("AES128-SHA"), QSslCipher("AES256-SHA")};
+ server.protocol = QSsl::TlsV1_2OrLater;
+ server.ciphers = {testedCiphers[0], testedCiphers[1]};
QVERIFY(server.listen());
QEventLoop loop;
@@ -1456,7 +1465,8 @@ void tst_QSslSocket::serverCipherPreferences()
socket = &client;
auto sslConfig = socket->sslConfiguration();
- sslConfig.setCiphers({QSslCipher("AES256-SHA"), QSslCipher("AES128-SHA")});
+ sslConfig.setProtocol(QSsl::TlsV1_2OrLater);
+ sslConfig.setCiphers({testedCiphers[1], testedCiphers[0]});
socket->setSslConfiguration(sslConfig);
// upon SSL wrong version error, errorOccurred will be triggered, not sslErrors
@@ -1469,7 +1479,7 @@ void tst_QSslSocket::serverCipherPreferences()
loop.exec();
QVERIFY(client.isEncrypted());
- QCOMPARE(client.sessionCipher().name(), QString("AES256-SHA"));
+ QCOMPARE(client.sessionCipher().name(), testedCiphers[1].name());
}
}
@@ -1553,8 +1563,10 @@ void tst_QSslSocket::setLocalCertificateChain()
Abort);
#endif
QCOMPARE(chain.size(), 2);
- QCOMPARE(chain[0].serialNumber(), QByteArray("10:a0:ad:77:58:f6:6e:ae:46:93:a3:43:f9:59:8a:9e"));
- QCOMPARE(chain[1].serialNumber(), QByteArray("3b:eb:99:c5:ea:d8:0b:5d:0b:97:5d:4f:06:75:4b:e1"));
+ QCOMPARE(chain[0].serialNumber(),
+ QByteArray("58:df:33:c1:9b:bc:c5:51:7a:00:86:64:43:94:41:e2:26:ef:3f:89"));
+ QCOMPARE(chain[1].serialNumber(),
+ QByteArray("11:72:34:bc:21:e6:ca:04:24:13:f8:35:48:84:a6:e9:de:96:22:15"));
}
void tst_QSslSocket::tlsConfiguration()
@@ -1623,6 +1635,9 @@ void tst_QSslSocket::setSocketDescriptor()
void tst_QSslSocket::setSslConfiguration_data()
{
+#if QT_CONFIG(securetransport)
+ QSKIP("Skipping the cases with certificate, SecureTransport does not like old certificate on the test server");
+#endif // securetransport
QTest::addColumn<QSslConfiguration>("configuration");
QTest::addColumn<bool>("works");
@@ -2819,60 +2834,6 @@ void tst_QSslSocket::versionAccessors()
qDebug() << QString::number(QSslSocket::sslLibraryVersionNumber(), 16);
}
-#ifndef QT_NO_OPENSSL
-void tst_QSslSocket::sslOptions()
-{
- if (!QSslSocket::supportsSsl())
- return;
-
-#ifdef SSL_OP_NO_COMPRESSION
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSslConfigurationPrivate::defaultSslOptions),
- long(SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_COMPRESSION|SSL_OP_CIPHER_SERVER_PREFERENCE));
-#else
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSslConfigurationPrivate::defaultSslOptions),
- long(SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_CIPHER_SERVER_PREFERENCE));
-#endif
-
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSsl::SslOptionDisableEmptyFragments
- |QSsl::SslOptionDisableLegacyRenegotiation),
- long(SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_CIPHER_SERVER_PREFERENCE));
-
-#ifdef SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSsl::SslOptionDisableEmptyFragments),
- long((SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION|SSL_OP_CIPHER_SERVER_PREFERENCE)));
-#endif
-
-#ifdef SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSsl::SslOptionDisableLegacyRenegotiation),
- long((SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_CIPHER_SERVER_PREFERENCE) & ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS));
-#endif
-
-#ifdef SSL_OP_NO_TICKET
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSsl::SslOptionDisableEmptyFragments
- |QSsl::SslOptionDisableLegacyRenegotiation
- |QSsl::SslOptionDisableSessionTickets),
- long((SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TICKET|SSL_OP_CIPHER_SERVER_PREFERENCE)));
-#endif
-
-#ifdef SSL_OP_NO_TICKET
-#ifdef SSL_OP_NO_COMPRESSION
- QCOMPARE(QSslSocketBackendPrivate::setupOpenSslOptions(QSsl::SecureProtocols,
- QSsl::SslOptionDisableEmptyFragments
- |QSsl::SslOptionDisableLegacyRenegotiation
- |QSsl::SslOptionDisableSessionTickets
- |QSsl::SslOptionDisableCompression),
- long((SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TICKET|SSL_OP_NO_COMPRESSION|SSL_OP_CIPHER_SERVER_PREFERENCE)));
-#endif
-#endif
-}
-#endif
-
void tst_QSslSocket::encryptWithoutConnecting()
{
if (!QSslSocket::supportsSsl())
@@ -3462,6 +3423,7 @@ void tst_QSslSocket::verifyClientCertificate()
#endif
SslServer server;
+ server.protocol = QSsl::TlsV1_2;
server.addCaCertificates = testDataDir + "certs/bogus-ca.crt";
server.ignoreSslErrors = false;
server.peerVerifyMode = peerVerifyMode;
@@ -4370,13 +4332,17 @@ void tst_QSslSocket::oldErrorsOnSocketReuse()
if (setProxy)
return; // not relevant
SslServer server;
+#ifdef QT_NO_OPENSSL
server.protocol = QSsl::TlsV1_1;
+#endif
server.m_certFile = testDataDir + "certs/fluke.cert";
server.m_keyFile = testDataDir + "certs/fluke.key";
QVERIFY(server.listen(QHostAddress::SpecialAddress::LocalHost));
QSslSocket socket;
+#ifdef QT_NO_OPENSSL
socket.setProtocol(QSsl::TlsV1_1);
+#endif
QList<QSslError> errorList;
auto connection = connect(&socket, QOverload<const QList<QSslError> &>::of(&QSslSocket::sslErrors),
[&socket, &errorList](const QList<QSslError> &errors) {
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST
new file mode 100644
index 0000000000..4207625536
--- /dev/null
+++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/BLACKLIST
@@ -0,0 +1,3 @@
+# QTBUG-63481
+[onDemandRootCertLoadingMemberMethods]
+*
diff --git a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp
index 000f2f4da9..bfa610b083 100644
--- a/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp
+++ b/tests/auto/network/ssl/qsslsocket_onDemandCertificates_member/tst_qsslsocket_onDemandCertificates_member.cpp
@@ -219,6 +219,7 @@ static bool waitForEncrypted(QSslSocket *socket)
void tst_QSslSocket_onDemandCertificates_member::onDemandRootCertLoadingMemberMethods()
{
+#define ERR(socket) socket->errorString().toLatin1()
const QString host("www.qt.io");
// not using any root certs -> should not work
@@ -228,13 +229,13 @@ void tst_QSslSocket_onDemandCertificates_member::onDemandRootCertLoadingMemberMe
sslConfig.setCaCertificates(QList<QSslCertificate>());
socket2->setSslConfiguration(sslConfig);
socket2->connectToHostEncrypted(host, 443);
- QVERIFY(!waitForEncrypted(socket2.data()));
+ QVERIFY2(!waitForEncrypted(socket2.data()), ERR(socket2));
// default: using on demand loading -> should work
QSslSocketPtr socket = newSocket();
this->socket = socket.data();
socket->connectToHostEncrypted(host, 443);
- QVERIFY2(waitForEncrypted(socket.data()), qPrintable(socket->errorString()));
+ QVERIFY2(waitForEncrypted(socket.data()), ERR(socket));
// not using any root certs again -> should not work
QSslSocketPtr socket3 = newSocket();
@@ -243,7 +244,7 @@ void tst_QSslSocket_onDemandCertificates_member::onDemandRootCertLoadingMemberMe
sslConfig.setCaCertificates(QList<QSslCertificate>());
socket3->setSslConfiguration(sslConfig);
socket3->connectToHostEncrypted(host, 443);
- QVERIFY(!waitForEncrypted(socket3.data()));
+ QVERIFY2(!waitForEncrypted(socket3.data()), ERR(socket3));
// setting empty SSL configuration explicitly -> depends on on-demand loading
QSslSocketPtr socket4 = newSocket();
@@ -254,16 +255,20 @@ void tst_QSslSocket_onDemandCertificates_member::onDemandRootCertLoadingMemberMe
#ifdef QT_BUILD_INTERNAL
const bool works = QSslSocketPrivate::rootCertOnDemandLoadingSupported();
#if defined(Q_OS_LINUX) || defined(Q_OS_WIN)
- QCOMPARE(works, true);
+ QVERIFY2(works, ERR(socket4));
#elif defined(Q_OS_MAC)
- QCOMPARE(works, false);
+ QVERIFY2(!works, ERR(socket4));
#endif // other platforms: undecided.
// When we *allow* on-demand loading, we enable it by default; so, on Unix,
// it will work without setting any certificates. Otherwise, the configuration
// contains an empty set of certificates, so on-demand loading shall fail.
- QCOMPARE(waitForEncrypted(socket4.data()), works);
+ const bool result = waitForEncrypted(socket4.data());
+ if (result != works)
+ qDebug() << socket4->errorString();
+ QCOMPARE(waitForEncrypted(socket4.data()), works);
#endif // QT_BUILD_INTERNAL
}
+#undef ERR
#endif // QT_NO_OPENSSL
diff --git a/tests/auto/opengl/qgl/BLACKLIST b/tests/auto/opengl/qgl/BLACKLIST
index 705d8f8926..6ad3dba4a8 100644
--- a/tests/auto/opengl/qgl/BLACKLIST
+++ b/tests/auto/opengl/qgl/BLACKLIST
@@ -7,3 +7,6 @@ rhel-7.4
opensuse-42.3
sles
+# QTBUG-96271
+[closeAndThenShow]
+macos-11
diff --git a/tests/auto/opengl/qgl/tst_qgl.cpp b/tests/auto/opengl/qgl/tst_qgl.cpp
index 7c43c52236..c5441770f3 100644
--- a/tests/auto/opengl/qgl/tst_qgl.cpp
+++ b/tests/auto/opengl/qgl/tst_qgl.cpp
@@ -44,6 +44,7 @@
#include <QGraphicsView>
#include <QGraphicsProxyWidget>
#include <QVBoxLayout>
+#include <QOperatingSystemVersion>
#ifdef QT_BUILD_INTERNAL
#include <qpa/qplatformpixmap.h>
@@ -2537,6 +2538,10 @@ public:
void tst_QGL::closeAndThenShow()
{
+#ifdef Q_OS_MACOS
+ if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur)
+ QSKIP("Test is crashing flaky on macos-11.0 - QTBUG-96271");
+#endif
QWidget *w = new QWidget;
w->resize(640, 480);
QVBoxLayout *layout = new QVBoxLayout(w);
diff --git a/tests/auto/other/android/testdata/top_level_dir/file_in_top_dir.txt b/tests/auto/other/android/testdata/top_level_dir/file_in_top_dir.txt
new file mode 100644
index 0000000000..87b10bd8e6
--- /dev/null
+++ b/tests/auto/other/android/testdata/top_level_dir/file_in_top_dir.txt
@@ -0,0 +1 @@
+FooBar
diff --git a/tests/auto/other/android/testdata/top_level_dir/sub_dir/file_in_sub_dir.txt b/tests/auto/other/android/testdata/top_level_dir/sub_dir/file_in_sub_dir.txt
new file mode 100644
index 0000000000..87b10bd8e6
--- /dev/null
+++ b/tests/auto/other/android/testdata/top_level_dir/sub_dir/file_in_sub_dir.txt
@@ -0,0 +1 @@
+FooBar
diff --git a/tests/auto/other/android/testdata/top_level_dir/sub_dir/sub_dir2/sub_dir3/file_in_sub_dir_3.txt b/tests/auto/other/android/testdata/top_level_dir/sub_dir/sub_dir2/sub_dir3/file_in_sub_dir_3.txt
new file mode 100644
index 0000000000..87b10bd8e6
--- /dev/null
+++ b/tests/auto/other/android/testdata/top_level_dir/sub_dir/sub_dir2/sub_dir3/file_in_sub_dir_3.txt
@@ -0,0 +1 @@
+FooBar
diff --git a/tests/auto/other/android/tst_android.cpp b/tests/auto/other/android/tst_android.cpp
index 57d592d45f..389d465427 100644
--- a/tests/auto/other/android/tst_android.cpp
+++ b/tests/auto/other/android/tst_android.cpp
@@ -27,6 +27,7 @@
****************************************************************************/
#include <QtTest/QtTest>
+#include <QtCore/qdiriterator.h>
class tst_Android : public QObject
{
@@ -34,6 +35,7 @@ Q_OBJECT
private slots:
void assetsRead();
void assetsNotWritable();
+ void assetsIterating();
};
void tst_Android::assetsRead()
@@ -59,6 +61,25 @@ void tst_Android::assetsNotWritable()
QVERIFY(!file.open(QIODevice::Append));
}
+void tst_Android::assetsIterating()
+{
+ QStringList assets = {"assets:/top_level_dir/file_in_top_dir.txt",
+ "assets:/top_level_dir/sub_dir",
+ "assets:/top_level_dir/sub_dir/file_in_sub_dir.txt",
+ "assets:/top_level_dir/sub_dir/sub_dir_2",
+ "assets:/top_level_dir/sub_dir/sub_dir_2/sub_dir_3",
+ "assets:/top_level_dir/sub_dir/sub_dir_2/sub_dir_3/file_in_sub_dir_3.txt"};
+ // Note that we have an "assets:/top_level_dir/sub_dir/empty_sub_dir" in the test's
+ // assets physical directory, but empty folders are not packaged in the built apk,
+ // so it's expected to not have such folder be listed in the assets on runtime
+ QDirIterator it("assets:/top_level_dir", QDirIterator::Subdirectories);
+ QStringList iteratorAssets;
+ while (it.hasNext())
+ iteratorAssets.append(it.next());
+ QVERIFY(assets == iteratorAssets);
+}
+
+
QTEST_MAIN(tst_Android)
#include "tst_android.moc"
diff --git a/tests/auto/other/gestures/BLACKLIST b/tests/auto/other/gestures/BLACKLIST
index 480b5a3ad1..1de0e369a9 100644
--- a/tests/auto/other/gestures/BLACKLIST
+++ b/tests/auto/other/gestures/BLACKLIST
@@ -3,30 +3,53 @@ rhel-7.4
rhel-7.6
ubuntu-18.04
sles-15
+sles-15.4
+rhel-8.4
[customGesture]
opensuse-leap
# QTBUG-67254
opensuse-42.3
[graphicsItemGesture]
+# QTBUG-103054
+ubuntu-20
ubuntu-18.04
rhel-7.4
rhel-7.6
sles-15
+sles-15.4
+rhel-8.4
[graphicsItemTreeGesture]
+# QTBUG-103054
+ubuntu-20
ubuntu-18.04
[graphicsView]
+# QTBUG-103054
+ubuntu-20
ubuntu-18.04
rhel-7.4
rhel-7.6
sles-15
+sles-15.4
+rhel-8.4
[explicitGraphicsObjectTarget]
+# QTBUG-103054
+ubuntu-20
ubuntu-18.04
rhel-7.4
rhel-7.6
sles-15
+sles-15.4
+rhel-8.4
[autoCancelGestures2]
+# QTBUG-103054
+ubuntu-20
ubuntu-18.04
rhel-7.4
rhel-7.6
sles-15
+sles-15.4
+rhel-8.4
+#QTBUG-103054
+[testReuseCanceledGestures]
+ubuntu-20 \ No newline at end of file
diff --git a/tests/auto/other/lancelot/paintcommands.cpp b/tests/auto/other/lancelot/paintcommands.cpp
index e98df3781e..0dab5376a0 100644
--- a/tests/auto/other/lancelot/paintcommands.cpp
+++ b/tests/auto/other/lancelot/paintcommands.cpp
@@ -376,6 +376,10 @@ void PaintCommands::staticInit()
"^drawLine\\s+(-?[\\w.]*)\\s+(-?[\\w.]*)\\s+(-?[\\w.]*)\\s+(-?[\\w.]*)$",
"drawLine <x1> <y1> <x2> <y2>",
"drawLine 10.0 10.0 20.0 20.0");
+ DECL_PAINTCOMMAND("drawLines", command_drawLines,
+ "^drawLines\\s+\\[([\\w\\s\\-.]*)\\]$",
+ "drawLines <[ <l1x1> <l1y1> <l1x2> <l1y2> <l2x1> <l2y1> ... ]>",
+ "drawLines [ 10 10 50 10 50 20 10 20 ]");
DECL_PAINTCOMMAND("drawRect", command_drawRect,
"^drawRect\\s+(-?[\\w.]*)\\s+(-?[\\w.]*)\\s+(-?[\\w.]*)\\s+(-?[\\w.]*)$",
"drawRect <x> <y> <w> <h>",
@@ -433,7 +437,7 @@ void PaintCommands::staticInit()
"drawConvexPolygon <[ <x1> <y1> ... <xn> <yn> ]>",
"drawConvexPolygon [ 1 4 6 8 5 3 ]");
DECL_PAINTCOMMAND("drawPolyline", command_drawPolyline,
- "^drawPolyline\\s+\\[([\\w\\s]*)\\]$",
+ "^drawPolyline\\s+\\[([\\w\\s\\-.]*)\\]$",
"drawPolyline <[ <x1> <y1> ... <xn> <yn> ]>",
"drawPolyline [ 1 4 6 8 5 3 ]");
DECL_PAINTCOMMAND("drawText", command_drawText,
@@ -975,6 +979,25 @@ void PaintCommands::command_drawLine(QRegularExpressionMatch re)
}
/***************************************************************************************************/
+void PaintCommands::command_drawLines(QRegularExpressionMatch re)
+{
+ static QRegularExpression separators("\\s");
+ QStringList numbers = re.captured(1).split(separators, Qt::SkipEmptyParts);
+
+ QVector<QLineF> array;
+ for (int i = 0; i + 3 < numbers.size(); i += 4) {
+ QPointF pt1(numbers.at(i).toFloat(), numbers.at(i + 1).toFloat());
+ QPointF pt2(numbers.at(i + 2).toFloat(), numbers.at(i + 3).toFloat());
+ array.append(QLineF(pt1, pt2));
+ }
+
+ if (m_verboseMode)
+ printf(" -(lance) drawLines(size=%zd)\n", size_t(array.size()));
+
+ m_painter->drawLines(array);
+}
+
+/***************************************************************************************************/
void PaintCommands::command_drawPath(QRegularExpressionMatch re)
{
if (m_verboseMode)
diff --git a/tests/auto/other/lancelot/paintcommands.h b/tests/auto/other/lancelot/paintcommands.h
index 816ecd6fa2..4a1a89556d 100644
--- a/tests/auto/other/lancelot/paintcommands.h
+++ b/tests/auto/other/lancelot/paintcommands.h
@@ -187,6 +187,7 @@ private:
void command_drawEllipse(QRegularExpressionMatch re);
void command_drawImage(QRegularExpressionMatch re);
void command_drawLine(QRegularExpressionMatch re);
+ void command_drawLines(QRegularExpressionMatch re);
void command_drawPath(QRegularExpressionMatch re);
void command_drawPie(QRegularExpressionMatch re);
void command_drawPixmap(QRegularExpressionMatch re);
diff --git a/tests/auto/other/lancelot/scripts/cosmetic.qps b/tests/auto/other/lancelot/scripts/cosmetic.qps
new file mode 100644
index 0000000000..3c730cf26f
--- /dev/null
+++ b/tests/auto/other/lancelot/scripts/cosmetic.qps
@@ -0,0 +1,55 @@
+drawRect 0 0 800 800
+
+setRenderHint Antialiasing true
+image_load dome_argb32.png img
+
+save
+setBrush springgreen SolidPattern
+
+begin_block primitives
+
+setPen black 2 DashLine
+pen_setCosmetic true
+drawLine 10 60 60 10
+drawRect 80 10.0 30 50
+drawText 130 50 "Foo"
+drawImage img 160 10 50 50
+
+pen_setCosmetic false
+drawLine 10 160 60 110
+drawRect 80 110.0 30 50
+drawText 130 150 "Foo"
+drawImage img 160 110 50 50
+
+setPen NoPen
+drawLine 10 260 60 210
+drawRect 80 210.0 30 50
+drawText 130 250 "Foo"
+drawImage img 160 210 50 50
+
+end_block primitives
+
+
+translate 250 0
+rotate 10
+scale 2.5 1
+repeat_block primitives
+
+resetMatrix
+# Force non-simple pen in Pdf
+setOpacity 0.5
+translate 0 400
+repeat_block primitives
+
+translate 250 0
+rotate 10
+scale 2.5 1
+repeat_block primitives
+
+restore
+setPen blue 4 DotLine
+setBrush olive SolidPattern
+pen_setCosmetic true
+translate 50 720
+scale 2 2
+drawRect 0 0 30 30
diff --git a/tests/auto/other/lancelot/scripts/linedashes2.qps b/tests/auto/other/lancelot/scripts/linedashes2.qps
index 1dc4fd310e..b9a4cb9566 100644
--- a/tests/auto/other/lancelot/scripts/linedashes2.qps
+++ b/tests/auto/other/lancelot/scripts/linedashes2.qps
@@ -111,8 +111,9 @@ translate 0 780
repeat_block vertical
resetMatrix
-translate 40 400
-setPen 0xffff0000 5 dashdotline flatcap
+translate 20 380
+setPen 0xffff00ff 5 dashdotline flatcap
+begin_block offset
pen_setDashPattern [1 1 4 1 1 4]
pen_setDashOffset -4
drawLine 0 0 300 0
@@ -146,9 +147,50 @@ drawLine 0 0 300 0
translate 0 8
pen_setDashOffset 16
drawLine 0 0 300 0
+end_block offset
+
+resetMatrix
+translate 420 380
+setPen 0xffff00ff 5 dashdotline roundcap
+repeat_block offset
resetMatrix
setPen black 3 dashdotline
pen_setCosmetic true
translate 0 -150
-drawLine 500 160 500 410 \ No newline at end of file
+drawLine 500 160 500 410
+
+resetMatrix
+translate 300 480
+setPen blue 0
+
+begin_block clip_lines
+pen_setDashPattern [ 20 4 5 4 1 4 ]
+pen_setDashOffset 26.0
+drawLines [0 0 1000000 10 1000000 10 -1000000 20 -1000000 20 0 30]
+end_block clip_lines
+
+translate 0 45
+setPen blue 5
+repeat_block clip_lines
+
+translate 0 45
+setPen blue 5 SolidLine RoundCap
+repeat_block clip_lines
+
+translate 0 45
+setPen green 0
+
+begin_block clip_poly
+pen_setDashPattern [ 20 4 5 4 1 4 ]
+pen_setDashOffset 26.0
+drawPolyline [0 0 1000000 10 -1000000 20 0 30]
+end_block clip_poly
+
+translate 0 45
+setPen green 5
+repeat_block clip_poly
+
+translate 0 45
+setPen green 5 SolidLine RoundCap
+repeat_block clip_poly
diff --git a/tests/auto/other/lancelot/tst_lancelot.cpp b/tests/auto/other/lancelot/tst_lancelot.cpp
index 7c0d809c01..516cf09f2f 100644
--- a/tests/auto/other/lancelot/tst_lancelot.cpp
+++ b/tests/auto/other/lancelot/tst_lancelot.cpp
@@ -30,6 +30,9 @@
#include <qbaselinetest.h>
#include <QDir>
#include <QPainter>
+#include <QPdfWriter>
+#include <QTemporaryFile>
+#include <QProcess>
#ifndef QT_NO_OPENGL
#include <QOpenGLFramebufferObjectFormat>
@@ -53,7 +56,8 @@ public:
private:
enum GraphicsEngine {
Raster = 0,
- OpenGL = 1
+ OpenGL = 1,
+ Pdf = 2
};
void setupTestSuite(const QStringList& blacklist = QStringList());
@@ -88,6 +92,9 @@ private slots:
void testRasterRGBA64PM_data();
void testRasterRGBA64PM();
+ void testPdf_data();
+ void testPdf();
+
#ifndef QT_NO_OPENGL
void testOpenGL_data();
void testOpenGL();
@@ -239,6 +246,21 @@ void tst_Lancelot::testRasterRGBA64PM()
}
+void tst_Lancelot::testPdf_data()
+{
+#ifdef Q_OS_MACOS
+ setupTestSuite();
+#else
+ QSKIP("Pdf testing only implemented for macOS");
+#endif
+}
+
+void tst_Lancelot::testPdf()
+{
+ runTestSuite(Pdf, QImage::Format_RGB32);
+}
+
+
#ifndef QT_NO_OPENGL
bool tst_Lancelot::checkSystemGLSupport()
{
@@ -370,6 +392,28 @@ void tst_Lancelot::runTestSuite(GraphicsEngine engine, QImage::Format format, co
paint(&pdv, engine, format, script, QFileInfo(filePath).absoluteFilePath());
rendered = fbo.toImage().convertToFormat(format);
#endif
+ } else if (engine == Pdf) {
+ QString tempStem(QDir::tempPath() + QLatin1String("/lancelot_XXXXXX_") + qpsFile.chopped(4));
+
+ QTemporaryFile pdfFile(tempStem + QLatin1String(".pdf"));
+ pdfFile.open();
+ QPdfWriter writer(&pdfFile);
+ writer.setPdfVersion(QPdfWriter::PdfVersion_1_6);
+ writer.setResolution(150);
+ paint(&writer, engine, format, script, QFileInfo(filePath).absoluteFilePath());
+ pdfFile.close();
+
+ // Convert pdf to something we can read into a QImage, using macOS' sips utility
+ QTemporaryFile pngFile(tempStem + QLatin1String(".png"));
+ pngFile.open(); // Just create the file name
+ pngFile.close();
+ QProcess proc;
+ const char *rawArgs = "-s format png --cropOffset 20 20 -c 800 800 -o";
+ QStringList argList = QString::fromLatin1(rawArgs).split(QLatin1Char(' '));
+ proc.start(QLatin1String("sips"), argList << pngFile.fileName() << pdfFile.fileName());
+ proc.waitForFinished(2 * 60 * 1000); // May need some time
+
+ rendered = QImage(pngFile.fileName());
}
QBASELINE_TEST(rendered);
@@ -384,6 +428,9 @@ void tst_Lancelot::paint(QPaintDevice *device, GraphicsEngine engine, QImage::Fo
case OpenGL:
pcmd.setType(OpenGLBufferType); // version/profile is communicated through the context's format()
break;
+ case Pdf:
+ pcmd.setType(PdfType);
+ break;
case Raster: // fallthrough
default:
pcmd.setType(ImageType);
diff --git a/tests/auto/other/networkselftest/BLACKLIST b/tests/auto/other/networkselftest/BLACKLIST
index 55ebad985d..8b59f391f3 100644
--- a/tests/auto/other/networkselftest/BLACKLIST
+++ b/tests/auto/other/networkselftest/BLACKLIST
@@ -2,4 +2,5 @@
[ftpProxyServer]
windows-7sp1
windows-10
-
+[smbServer]
+opensuse-leap-15.4 # QTBUG-89209
diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
index 2a2ccfbf8d..97ffafc9a5 100644
--- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
@@ -38,6 +38,7 @@
# include <winuser.h>
#endif
#include <QtTest/QtTest>
+#include <QSignalSpy>
#include <QtGui>
#include <QtWidgets>
#include <math.h>
@@ -4079,6 +4080,124 @@ void tst_QAccessibility::focusChild()
delete tabBar;
QTestAccessibility::clearEvents();
}
+
+ {
+ QMainWindow mainWindow;
+ QTableWidget *tableView = new QTableWidget(3, 3);
+
+ QSignalSpy spy(tableView, SIGNAL(currentCellChanged(int,int,int,int)));
+
+ tableView->setColumnCount(3);
+ QStringList hHeader;
+ hHeader << "h1" << "h2" << "h3";
+ tableView->setHorizontalHeaderLabels(hHeader);
+
+ QStringList vHeader;
+ vHeader << "v1" << "v2" << "v3";
+ tableView->setVerticalHeaderLabels(vHeader);
+
+ for (int i = 0; i < 9; ++i) {
+ QTableWidgetItem *item = new QTableWidgetItem;
+ item->setText(QString::number(i/3) + QString(".") + QString::number(i%3));
+ tableView->setItem(i/3, i%3, item);
+ }
+
+ mainWindow.setCentralWidget(tableView);
+ mainWindow.resize(600, 600);
+ mainWindow.show();
+
+ QVERIFY(QTest::qWaitForWindowExposed(tableView));
+
+ tableView->setFocus();
+
+ QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(tableView);
+ QVERIFY(iface);
+
+ spy.clear();
+ tableView->setCurrentCell(2, 1);
+ QTRY_COMPARE(spy.count(), 1);
+
+ QAccessibleInterface *child = iface->focusChild();
+ QVERIFY(child);
+ QCOMPARE(child->text(QAccessible::Name), QStringLiteral("2.1"));
+
+ spy.clear();
+ tableView->setCurrentCell(1, 2);
+ QTRY_COMPARE(spy.count(), 1);
+
+ child = iface->focusChild();
+ QVERIFY(child);
+ QCOMPARE(child->text(QAccessible::Name), QStringLiteral("1.2"));
+
+ delete tableView;
+ QTestAccessibility::clearEvents();
+ }
+
+ {
+ QMainWindow mainWindow;
+ QTreeWidget *treeView = new QTreeWidget();
+
+ QSignalSpy spy(treeView, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)));
+
+ treeView->setColumnCount(2);
+ QTreeWidgetItem *header = new QTreeWidgetItem;
+ header->setText(0, "Artist");
+ header->setText(1, "Work");
+ treeView->setHeaderItem(header);
+
+ QTreeWidgetItem *root1 = new QTreeWidgetItem;
+ root1->setText(0, "Spain");
+ treeView->addTopLevelItem(root1);
+
+ QTreeWidgetItem *item1 = new QTreeWidgetItem;
+ item1->setText(0, "Picasso");
+ item1->setText(1, "Guernica");
+ root1->addChild(item1);
+
+ QTreeWidgetItem *item2 = new QTreeWidgetItem;
+ item2->setText(0, "Tapies");
+ item2->setText(1, "Ambrosia");
+ root1->addChild(item2);
+
+ QTreeWidgetItem *root2 = new QTreeWidgetItem;
+ root2->setText(0, "Austria");
+ treeView->addTopLevelItem(root2);
+
+ QTreeWidgetItem *item3 = new QTreeWidgetItem;
+ item3->setText(0, "Klimt");
+ item3->setText(1, "The Kiss");
+ root2->addChild(item3);
+
+ mainWindow.setCentralWidget(treeView);
+ mainWindow.resize(600, 600);
+ mainWindow.show();
+
+ QVERIFY(QTest::qWaitForWindowExposed(treeView));
+
+ treeView->setFocus();
+
+ QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(treeView);
+ QVERIFY(iface);
+
+ spy.clear();
+ treeView->setCurrentItem(item2);
+ QTRY_COMPARE(spy.count(), 1);
+
+ QAccessibleInterface *child = iface->focusChild();
+ QVERIFY(child);
+ QCOMPARE(child->text(QAccessible::Name), QStringLiteral("Tapies"));
+
+ spy.clear();
+ treeView->setCurrentItem(item3);
+ QTRY_COMPARE(spy.count(), 1);
+
+ child = iface->focusChild();
+ QVERIFY(child);
+ QCOMPARE(child->text(QAccessible::Name), QStringLiteral("Klimt"));
+
+ delete treeView;
+ QTestAccessibility::clearEvents();
+ }
}
diff --git a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm
index d97a0db939..174d86a941 100644
--- a/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm
+++ b/tests/auto/other/qaccessibilitymac/tst_qaccessibilitymac_helpers.mm
@@ -86,6 +86,7 @@ QDebug operator<<(QDebug dbg, AXErrorTag err)
return false; \
} \
+#define TRY_EXPECT(cond) EXPECT(QTest::qWaitFor([&]{ return (cond); }))
@interface TestAXObject : NSObject
{
@@ -546,21 +547,17 @@ bool notifications(QWidget *w)
EXPECT(notificationList.length() == 0);
le2->setFocus();
- QCoreApplication::processEvents();
- EXPECT(notificationList.length() == 1);
- EXPECT(notificationList.at(0) == QAccessible::Focus);
+ TRY_EXPECT(notificationList.length() == 1);
+ TRY_EXPECT(notificationList.at(0) == QAccessible::Focus);
le1->setFocus();
- QCoreApplication::processEvents();
- EXPECT(notificationList.length() == 2);
- EXPECT(notificationList.at(1) == QAccessible::Focus);
+ TRY_EXPECT(notificationList.length() == 2);
+ TRY_EXPECT(notificationList.at(1) == QAccessible::Focus);
le1->setText("hello");
- QCoreApplication::processEvents();
- EXPECT(notificationList.length() == 3);
- EXPECT(notificationList.at(2) == QAccessible::ValueChanged);
+ TRY_EXPECT(notificationList.length() == 3);
+ TRY_EXPECT(notificationList.at(2) == QAccessible::ValueChanged);
le1->setText("foo");
- QCoreApplication::processEvents();
- EXPECT(notificationList.length() == 4);
- EXPECT(notificationList.at(3) == QAccessible::ValueChanged);
+ TRY_EXPECT(notificationList.length() == 4);
+ TRY_EXPECT(notificationList.at(3) == QAccessible::ValueChanged);
return true;
}
diff --git a/tests/auto/sql/kernel/qsqlquery/BLACKLIST b/tests/auto/sql/kernel/qsqlquery/BLACKLIST
new file mode 100644
index 0000000000..80a9277959
--- /dev/null
+++ b/tests/auto/sql/kernel/qsqlquery/BLACKLIST
@@ -0,0 +1,3 @@
+# See qtbase/src/testlib/qtestblacklist.cpp for format
+[queryOnInvalidDatabase]
+ci macos # QTBUG-106513
diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
index 76df61c892..1b760e87ba 100644
--- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
+++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -68,6 +68,8 @@ private slots:
void query_exec();
void execErrorRecovery_data() { generic_data(); }
void execErrorRecovery();
+ void prematureExec_data() { generic_data(); }
+ void prematureExec();
void first_data() { generic_data(); }
void first();
void next_data() { generic_data(); }
@@ -249,6 +251,9 @@ private slots:
void sqlite_real_data() { generic_data("QSQLITE"); }
void sqlite_real();
+ void prepared_query_json_row_data() { generic_data(); }
+ void prepared_query_json_row();
+
void aggregateFunctionTypes_data() { generic_data(); }
void aggregateFunctionTypes();
@@ -2770,6 +2775,35 @@ void tst_QSqlQuery::execErrorRecovery()
QVERIFY_SQL( q, exec() );
}
+void tst_QSqlQuery::prematureExec()
+{
+ QFETCH(QString, dbName);
+ // We only want the engine name, for addDatabase():
+ int cut = dbName.indexOf(QChar('@'));
+ if (cut < 0)
+ QSKIP("Failed to parse database type out of name");
+ dbName.truncate(cut);
+ cut = dbName.indexOf(QChar('_'));
+ if (cut >= 0)
+ dbName = dbName.mid(cut + 1);
+
+ auto db = QSqlDatabase::addDatabase(dbName);
+ QSqlQuery q(db);
+
+ QTest::ignoreMessage(QtWarningMsg,
+ "QSqlDatabasePrivate::removeDatabase: connection "
+ "'qt_sql_default_connection' is still in use, all "
+ "queries will cease to work.");
+ QTest::ignoreMessage(QtWarningMsg,
+ "QSqlDatabasePrivate::addDatabase: duplicate connection name "
+ "'qt_sql_default_connection', old connection removed.");
+ auto otherDb = QSqlDatabase::addDatabase(dbName);
+
+ QTest::ignoreMessage(QtWarningMsg, "QSqlQuery::exec: called before driver has been set up");
+ // QTBUG-100037: shouldn't crash !
+ QVERIFY(!q.exec("select stuff from TheVoid"));
+}
+
void tst_QSqlQuery::lastInsertId()
{
QFETCH( QString, dbName );
@@ -4277,6 +4311,43 @@ void tst_QSqlQuery::sqlite_real()
QCOMPARE(q.value(0).toDouble(), 5.6);
}
+void tst_QSqlQuery::prepared_query_json_row()
+{
+ QFETCH(QString, dbName);
+ QSqlDatabase db = QSqlDatabase::database(dbName);
+ CHECK_DATABASE(db);
+ if (tst_Databases::getDatabaseType(db) != QSqlDriver::MySqlServer &&
+ tst_Databases::getDatabaseType(db) != QSqlDriver::PostgreSQL) {
+ QSKIP("PostgreSQL / MySQL specific test");
+ }
+
+ const QString tableName(qTableName("tableWithJsonRow", __FILE__, db));
+ tst_Databases::safeDropTable(db, tableName);
+
+ QSqlQuery q(db);
+ const QLatin1String vals[] = {QLatin1String("{\"certificateNumber\": \"CERT-001\"}"),
+ QLatin1String("{\"certificateNumber\": \"CERT-002\"}")};
+ QVERIFY_SQL(q, exec(QLatin1String("CREATE TABLE %1 (id INTEGER, value JSON)").arg(tableName)));
+ for (const QLatin1String &json : vals) {
+ QVERIFY_SQL(q, exec(QLatin1String("INSERT INTO %1 (id, value) VALUES (1, '%2')")
+ .arg(tableName, json)));
+ }
+
+ QVERIFY_SQL(q, prepare(QLatin1String("SELECT id, value FROM %1 WHERE id = ?").arg(tableName)));
+ q.addBindValue(1);
+ QVERIFY_SQL(q, exec());
+
+ size_t iCount = 0;
+ while (q.next()) {
+ QVERIFY(iCount < sizeof(vals));
+ const int id = q.value(0).toInt();
+ const QByteArray json = q.value(1).toByteArray();
+ QCOMPARE(id, 1);
+ QCOMPARE(json, vals[iCount].data());
+ ++iCount;
+ }
+}
+
void tst_QSqlQuery::aggregateFunctionTypes()
{
QFETCH(QString, dbName);
diff --git a/tests/auto/testlib/selftests/expected_float.junitxml b/tests/auto/testlib/selftests/expected_float.junitxml
deleted file mode 100644
index 51a711efb7..0000000000
--- a/tests/auto/testlib/selftests/expected_float.junitxml
+++ /dev/null
@@ -1,307 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<testsuite errors="0" failures="96" tests="6" name="tst_float">
- <properties>
- <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/>
- <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/>
- <property value="" name="QtBuild"/>
- </properties>
- <testcase result="pass" name="initTestCase"/>
- <testcase result="fail" name="doubleComparisons">
- <failure tag="should FAIL 1" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3" result="fail"/>
- <failure tag="should FAIL 2" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1e&#x002D;07
- Expected (operandRight): 3e&#x002D;07" result="fail"/>
- <failure tag="should FAIL 3" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 999999999999
- Expected (operandRight): 999999999998" result="fail"/>
- <failure tag="should FAIL 4" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1e&#x002D;12
- Expected (operandRight): 9.99999999999e&#x002D;13" result="fail"/>
- <failure tag="should FAIL 5" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 9.99999999999e+306
- Expected (operandRight): 9.99999999997e+306" result="fail"/>
- <failure tag="should FAIL: NaN != 0" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != NaN" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: NaN != 1" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != NaN" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: inf != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: inf != nan" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: nan != inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != nan" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: nan != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != 0" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != 0" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != 1" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != 1" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != max" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1.79769313486e+308" result="fail"/>
- <failure tag="should FAIL: inf != &#x002D;max" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): &#x002D;1.79769313486e+308" result="fail"/>
- <failure tag="should FAIL: max != inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1.79769313486e+308
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;max != inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;1.79769313486e+308
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != max" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 1.79769313486e+308" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): &#x002D;1.79769313486e+308" result="fail"/>
- <failure tag="should FAIL: max != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1.79769313486e+308
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;1.79769313486e+308
- Expected (operandRight): &#x002D;inf" result="fail"/>
- </testcase>
- <testcase result="fail" name="floatComparisons">
- <failure tag="should FAIL 1" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3" result="fail"/>
- <failure tag="should FAIL 2" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1e&#x002D;05
- Expected (operandRight): 3e&#x002D;05" result="fail"/>
- <failure tag="should FAIL 3" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99999
- Expected (operandRight): 99998" result="fail"/>
- <failure tag="should FAIL 4" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1.00001e&#x002D;05
- Expected (operandRight): 9.9999e&#x002D;06" result="fail"/>
- <failure tag="should FAIL 5" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 9.9999e+37
- Expected (operandRight): 9.9997e+37" result="fail"/>
- <failure tag="should FAIL: NaN != 0" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != NaN" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: NaN != 1" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != NaN" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: inf != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: inf != nan" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: nan != inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != nan" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: nan != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != 0" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != 0" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != 1" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != 1" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != max" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 3.40282e+38" result="fail"/>
- <failure tag="should FAIL: inf != &#x002D;max" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): &#x002D;3.40282e+38" result="fail"/>
- <failure tag="should FAIL: max != inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 3.40282e+38
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;max != inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;3.40282e+38
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != max" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 3.40282e+38" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): &#x002D;3.40282e+38" result="fail"/>
- <failure tag="should FAIL: max != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 3.40282e+38
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;3.40282e+38
- Expected (operandRight): &#x002D;inf" result="fail"/>
- </testcase>
- <testcase result="fail" name="float16Comparisons">
- <failure tag="should FAIL 1" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3" result="fail"/>
- <failure tag="should FAIL 2" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.000999
- Expected (operandRight): 0.003" result="fail"/>
- <failure tag="should FAIL 3" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 98
- Expected (operandRight): 99" result="fail"/>
- <failure tag="should FAIL 4" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.00101
- Expected (operandRight): 0.00099" result="fail"/>
- <failure tag="should FAIL 5" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 5.94e+04
- Expected (operandRight): 5.88e+04" result="fail"/>
- <failure tag="should FAIL: NaN != 0" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != NaN" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: NaN != 1" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != NaN" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: inf != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: inf != nan" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: nan != inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != nan" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): nan" result="fail"/>
- <failure tag="should FAIL: nan != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != 0" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != 0" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 0" result="fail"/>
- <failure tag="should FAIL: 0 != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != 1" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != 1" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 1" result="fail"/>
- <failure tag="should FAIL: 1 != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: inf != max" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 6.55e+04" result="fail"/>
- <failure tag="should FAIL: inf != &#x002D;max" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): &#x002D;6.55e+04" result="fail"/>
- <failure tag="should FAIL: max != inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 6.55e+04
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;max != inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;6.55e+04
- Expected (operandRight): inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != max" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): 6.55e+04" result="fail"/>
- <failure tag="should FAIL: &#x002D;inf != &#x002D;max" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;inf
- Expected (operandRight): &#x002D;6.55e+04" result="fail"/>
- <failure tag="should FAIL: max != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 6.55e+04
- Expected (operandRight): &#x002D;inf" result="fail"/>
- <failure tag="should FAIL: &#x002D;max != &#x002D;inf" message="Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : &#x002D;6.55e+04
- Expected (operandRight): &#x002D;inf" result="fail"/>
- </testcase>
- <testcase result="fail" name="compareFloatTests">
- <failure tag="1e0" message="Compared floats are not the same (fuzzy compare)
- Actual (t1): 1
- Expected (t3): 3" result="fail"/>
- <failure tag="1e&#x002D;5" message="Compared floats are not the same (fuzzy compare)
- Actual (t1): 1e&#x002D;05
- Expected (t3): 3e&#x002D;05" result="fail"/>
- <failure tag="1e+7" message="Compared floats are not the same (fuzzy compare)
- Actual (t1): 1e+07
- Expected (t3): 3e+07" result="fail"/>
- </testcase>
- <testcase result="pass" name="cleanupTestCase"/>
- <system-err/>
-</testsuite>
diff --git a/tests/auto/testlib/selftests/expected_float.lightxml b/tests/auto/testlib/selftests/expected_float.lightxml
deleted file mode 100644
index cf82929fd0..0000000000
--- a/tests/auto/testlib/selftests/expected_float.lightxml
+++ /dev/null
@@ -1,665 +0,0 @@
-<Environment>
- <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
- <QtBuild/>
- <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
-</Environment>
-<TestFunction name="initTestCase">
-<Incident type="pass" file="" line="0" />
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="doubleComparisons">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 1]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 2]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1e-07
- Expected (operandRight): 3e-07]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 2]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 3]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 999999999999
- Expected (operandRight): 999999999998]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 3]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 4]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1e-12
- Expected (operandRight): 9.99999999999e-13]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 4]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 5]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 9.99999999999e+306
- Expected (operandRight): 9.99999999997e+306]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1.79769313486e+308
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -1.79769313486e+308
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): -1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1.79769313486e+308
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -1.79769313486e+308
- Expected (operandRight): -inf]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="floatComparisons">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 1]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 2]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1e-05
- Expected (operandRight): 3e-05]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 2]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 3]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99999
- Expected (operandRight): 99998]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 3]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 4]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1.00001e-05
- Expected (operandRight): 9.9999e-06]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 4]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 5]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 9.9999e+37
- Expected (operandRight): 9.9997e+37]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 3.40282e+38
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -3.40282e+38
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): -3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 3.40282e+38
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -3.40282e+38
- Expected (operandRight): -inf]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="float16Comparisons">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 1]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 2]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.000999
- Expected (operandRight): 0.003]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 2]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 3]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 98
- Expected (operandRight): 99]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 3]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 4]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.00101
- Expected (operandRight): 0.00099]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 4]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 5]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 5.94e+04
- Expected (operandRight): 5.88e+04]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 6.55e+04
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -6.55e+04
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): -6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 6.55e+04
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -6.55e+04
- Expected (operandRight): -inf]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="compareFloatTests">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[1e0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (t1): 1
- Expected (t3): 3]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[1e-5]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (t1): 1e-05
- Expected (t3): 3e-05]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[1e+7]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (t1): 1e+07
- Expected (t3): 3e+07]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="cleanupTestCase">
-<Incident type="pass" file="" line="0" />
- <Duration msecs="0"/>
-</TestFunction>
-<Duration msecs="0"/>
diff --git a/tests/auto/testlib/selftests/expected_float.tap b/tests/auto/testlib/selftests/expected_float.tap
deleted file mode 100644
index f5249b8b4e..0000000000
--- a/tests/auto/testlib/selftests/expected_float.tap
+++ /dev/null
@@ -1,1181 +0,0 @@
-TAP version 13
-# tst_float
-ok 1 - initTestCase()
-not ok 2 - doubleComparisons(should FAIL 1)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 3 (operandRight)
- found: 1 (operandLeft)
- expected: 3 (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-ok 3 - doubleComparisons(should PASS 1)
-not ok 4 - doubleComparisons(should FAIL 2)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 3e-07 (operandRight)
- found: 1e-07 (operandLeft)
- expected: 3e-07 (operandRight)
- actual: 1e-07 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-ok 5 - doubleComparisons(should PASS 2)
-not ok 6 - doubleComparisons(should FAIL 3)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 999999999998 (operandRight)
- found: 999999999999 (operandLeft)
- expected: 999999999998 (operandRight)
- actual: 999999999999 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-ok 7 - doubleComparisons(should PASS 3)
-not ok 8 - doubleComparisons(should FAIL 4)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 9.99999999999e-13 (operandRight)
- found: 1e-12 (operandLeft)
- expected: 9.99999999999e-13 (operandRight)
- actual: 1e-12 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-ok 9 - doubleComparisons(should PASS 4)
-not ok 10 - doubleComparisons(should FAIL 5)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 9.99999999997e+306 (operandRight)
- found: 9.99999999999e+306 (operandLeft)
- expected: 9.99999999997e+306 (operandRight)
- actual: 9.99999999999e+306 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-ok 11 - doubleComparisons(should PASS: NaN == NaN)
-not ok 12 - doubleComparisons(should FAIL: NaN != 0)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: nan (operandLeft)
- expected: 0 (operandRight)
- actual: nan (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 13 - doubleComparisons(should FAIL: 0 != NaN)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: 0 (operandLeft)
- expected: nan (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 14 - doubleComparisons(should FAIL: NaN != 1)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: nan (operandLeft)
- expected: 1 (operandRight)
- actual: nan (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 15 - doubleComparisons(should FAIL: 1 != NaN)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: 1 (operandLeft)
- expected: nan (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-ok 16 - doubleComparisons(should PASS: inf == inf)
-ok 17 - doubleComparisons(should PASS: -inf == -inf)
-not ok 18 - doubleComparisons(should FAIL: inf != -inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: inf (operandLeft)
- expected: -inf (operandRight)
- actual: inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 19 - doubleComparisons(should FAIL: -inf != inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: -inf (operandLeft)
- expected: inf (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 20 - doubleComparisons(should FAIL: inf != nan)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: inf (operandLeft)
- expected: nan (operandRight)
- actual: inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 21 - doubleComparisons(should FAIL: nan != inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: nan (operandLeft)
- expected: inf (operandRight)
- actual: nan (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 22 - doubleComparisons(should FAIL: -inf != nan)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: -inf (operandLeft)
- expected: nan (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 23 - doubleComparisons(should FAIL: nan != -inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: nan (operandLeft)
- expected: -inf (operandRight)
- actual: nan (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 24 - doubleComparisons(should FAIL: inf != 0)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: inf (operandLeft)
- expected: 0 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 25 - doubleComparisons(should FAIL: 0 != inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 0 (operandLeft)
- expected: inf (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 26 - doubleComparisons(should FAIL: -inf != 0)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: -inf (operandLeft)
- expected: 0 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 27 - doubleComparisons(should FAIL: 0 != -inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 0 (operandLeft)
- expected: -inf (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 28 - doubleComparisons(should FAIL: inf != 1)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: inf (operandLeft)
- expected: 1 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 29 - doubleComparisons(should FAIL: 1 != inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 1 (operandLeft)
- expected: inf (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 30 - doubleComparisons(should FAIL: -inf != 1)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: -inf (operandLeft)
- expected: 1 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 31 - doubleComparisons(should FAIL: 1 != -inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 1 (operandLeft)
- expected: -inf (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 32 - doubleComparisons(should FAIL: inf != max)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 1.79769313486e+308 (operandRight)
- found: inf (operandLeft)
- expected: 1.79769313486e+308 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 33 - doubleComparisons(should FAIL: inf != -max)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -1.79769313486e+308 (operandRight)
- found: inf (operandLeft)
- expected: -1.79769313486e+308 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 34 - doubleComparisons(should FAIL: max != inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 1.79769313486e+308 (operandLeft)
- expected: inf (operandRight)
- actual: 1.79769313486e+308 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 35 - doubleComparisons(should FAIL: -max != inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: -1.79769313486e+308 (operandLeft)
- expected: inf (operandRight)
- actual: -1.79769313486e+308 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 36 - doubleComparisons(should FAIL: -inf != max)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: 1.79769313486e+308 (operandRight)
- found: -inf (operandLeft)
- expected: 1.79769313486e+308 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 37 - doubleComparisons(should FAIL: -inf != -max)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -1.79769313486e+308 (operandRight)
- found: -inf (operandLeft)
- expected: -1.79769313486e+308 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 38 - doubleComparisons(should FAIL: max != -inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 1.79769313486e+308 (operandLeft)
- expected: -inf (operandRight)
- actual: 1.79769313486e+308 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 39 - doubleComparisons(should FAIL: -max != -inf)
- ---
- type: QCOMPARE
- message: Compared doubles are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: -1.79769313486e+308 (operandLeft)
- expected: -inf (operandRight)
- actual: -1.79769313486e+308 (operandLeft)
- at: tst_float::doubleComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:103)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 103
- ...
-not ok 40 - floatComparisons(should FAIL 1)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3 (operandRight)
- found: 1 (operandLeft)
- expected: 3 (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-ok 41 - floatComparisons(should PASS 1)
-not ok 42 - floatComparisons(should FAIL 2)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3e-05 (operandRight)
- found: 1e-05 (operandLeft)
- expected: 3e-05 (operandRight)
- actual: 1e-05 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-ok 43 - floatComparisons(should PASS 2)
-not ok 44 - floatComparisons(should FAIL 3)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 99998 (operandRight)
- found: 99999 (operandLeft)
- expected: 99998 (operandRight)
- actual: 99999 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-ok 45 - floatComparisons(should PASS 3)
-not ok 46 - floatComparisons(should FAIL 4)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 9.9999e-06 (operandRight)
- found: 1.00001e-05 (operandLeft)
- expected: 9.9999e-06 (operandRight)
- actual: 1.00001e-05 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-ok 47 - floatComparisons(should PASS 4)
-not ok 48 - floatComparisons(should FAIL 5)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 9.9997e+37 (operandRight)
- found: 9.9999e+37 (operandLeft)
- expected: 9.9997e+37 (operandRight)
- actual: 9.9999e+37 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-ok 49 - floatComparisons(should PASS: NaN == NaN)
-not ok 50 - floatComparisons(should FAIL: NaN != 0)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: nan (operandLeft)
- expected: 0 (operandRight)
- actual: nan (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 51 - floatComparisons(should FAIL: 0 != NaN)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: 0 (operandLeft)
- expected: nan (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 52 - floatComparisons(should FAIL: NaN != 1)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: nan (operandLeft)
- expected: 1 (operandRight)
- actual: nan (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 53 - floatComparisons(should FAIL: 1 != NaN)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: 1 (operandLeft)
- expected: nan (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-ok 54 - floatComparisons(should PASS: inf == inf)
-ok 55 - floatComparisons(should PASS: -inf == -inf)
-not ok 56 - floatComparisons(should FAIL: inf != -inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: inf (operandLeft)
- expected: -inf (operandRight)
- actual: inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 57 - floatComparisons(should FAIL: -inf != inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: -inf (operandLeft)
- expected: inf (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 58 - floatComparisons(should FAIL: inf != nan)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: inf (operandLeft)
- expected: nan (operandRight)
- actual: inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 59 - floatComparisons(should FAIL: nan != inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: nan (operandLeft)
- expected: inf (operandRight)
- actual: nan (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 60 - floatComparisons(should FAIL: -inf != nan)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: -inf (operandLeft)
- expected: nan (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 61 - floatComparisons(should FAIL: nan != -inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: nan (operandLeft)
- expected: -inf (operandRight)
- actual: nan (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 62 - floatComparisons(should FAIL: inf != 0)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: inf (operandLeft)
- expected: 0 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 63 - floatComparisons(should FAIL: 0 != inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 0 (operandLeft)
- expected: inf (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 64 - floatComparisons(should FAIL: -inf != 0)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: -inf (operandLeft)
- expected: 0 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 65 - floatComparisons(should FAIL: 0 != -inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 0 (operandLeft)
- expected: -inf (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 66 - floatComparisons(should FAIL: inf != 1)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: inf (operandLeft)
- expected: 1 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 67 - floatComparisons(should FAIL: 1 != inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 1 (operandLeft)
- expected: inf (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 68 - floatComparisons(should FAIL: -inf != 1)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: -inf (operandLeft)
- expected: 1 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 69 - floatComparisons(should FAIL: 1 != -inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 1 (operandLeft)
- expected: -inf (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 70 - floatComparisons(should FAIL: inf != max)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3.40282e+38 (operandRight)
- found: inf (operandLeft)
- expected: 3.40282e+38 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 71 - floatComparisons(should FAIL: inf != -max)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -3.40282e+38 (operandRight)
- found: inf (operandLeft)
- expected: -3.40282e+38 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 72 - floatComparisons(should FAIL: max != inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 3.40282e+38 (operandLeft)
- expected: inf (operandRight)
- actual: 3.40282e+38 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 73 - floatComparisons(should FAIL: -max != inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: -3.40282e+38 (operandLeft)
- expected: inf (operandRight)
- actual: -3.40282e+38 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 74 - floatComparisons(should FAIL: -inf != max)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3.40282e+38 (operandRight)
- found: -inf (operandLeft)
- expected: 3.40282e+38 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 75 - floatComparisons(should FAIL: -inf != -max)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -3.40282e+38 (operandRight)
- found: -inf (operandLeft)
- expected: -3.40282e+38 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 76 - floatComparisons(should FAIL: max != -inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 3.40282e+38 (operandLeft)
- expected: -inf (operandRight)
- actual: 3.40282e+38 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 77 - floatComparisons(should FAIL: -max != -inf)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: -3.40282e+38 (operandLeft)
- expected: -inf (operandRight)
- actual: -3.40282e+38 (operandLeft)
- at: tst_float::floatComparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:139)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 139
- ...
-not ok 78 - float16Comparisons(should FAIL 1)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 3 (operandRight)
- found: 1 (operandLeft)
- expected: 3 (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-ok 79 - float16Comparisons(should PASS 1)
-not ok 80 - float16Comparisons(should FAIL 2)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 0.003 (operandRight)
- found: 0.000999 (operandLeft)
- expected: 0.003 (operandRight)
- actual: 0.000999 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-ok 81 - float16Comparisons(should PASS 2)
-not ok 82 - float16Comparisons(should FAIL 3)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 99 (operandRight)
- found: 98 (operandLeft)
- expected: 99 (operandRight)
- actual: 98 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-ok 83 - float16Comparisons(should PASS 3)
-not ok 84 - float16Comparisons(should FAIL 4)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 0.00099 (operandRight)
- found: 0.00101 (operandLeft)
- expected: 0.00099 (operandRight)
- actual: 0.00101 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-ok 85 - float16Comparisons(should PASS 4)
-not ok 86 - float16Comparisons(should FAIL 5)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 5.88e+04 (operandRight)
- found: 5.94e+04 (operandLeft)
- expected: 5.88e+04 (operandRight)
- actual: 5.94e+04 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-ok 87 - float16Comparisons(should PASS: NaN == NaN)
-not ok 88 - float16Comparisons(should FAIL: NaN != 0)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: nan (operandLeft)
- expected: 0 (operandRight)
- actual: nan (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 89 - float16Comparisons(should FAIL: 0 != NaN)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: 0 (operandLeft)
- expected: nan (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 90 - float16Comparisons(should FAIL: NaN != 1)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: nan (operandLeft)
- expected: 1 (operandRight)
- actual: nan (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 91 - float16Comparisons(should FAIL: 1 != NaN)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: 1 (operandLeft)
- expected: nan (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-ok 92 - float16Comparisons(should PASS: inf == inf)
-ok 93 - float16Comparisons(should PASS: -inf == -inf)
-not ok 94 - float16Comparisons(should FAIL: inf != -inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: inf (operandLeft)
- expected: -inf (operandRight)
- actual: inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 95 - float16Comparisons(should FAIL: -inf != inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: -inf (operandLeft)
- expected: inf (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 96 - float16Comparisons(should FAIL: inf != nan)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: inf (operandLeft)
- expected: nan (operandRight)
- actual: inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 97 - float16Comparisons(should FAIL: nan != inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: nan (operandLeft)
- expected: inf (operandRight)
- actual: nan (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 98 - float16Comparisons(should FAIL: -inf != nan)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: nan (operandRight)
- found: -inf (operandLeft)
- expected: nan (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 99 - float16Comparisons(should FAIL: nan != -inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: nan (operandLeft)
- expected: -inf (operandRight)
- actual: nan (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 100 - float16Comparisons(should FAIL: inf != 0)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: inf (operandLeft)
- expected: 0 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 101 - float16Comparisons(should FAIL: 0 != inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 0 (operandLeft)
- expected: inf (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 102 - float16Comparisons(should FAIL: -inf != 0)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 0 (operandRight)
- found: -inf (operandLeft)
- expected: 0 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 103 - float16Comparisons(should FAIL: 0 != -inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 0 (operandLeft)
- expected: -inf (operandRight)
- actual: 0 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 104 - float16Comparisons(should FAIL: inf != 1)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: inf (operandLeft)
- expected: 1 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 105 - float16Comparisons(should FAIL: 1 != inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 1 (operandLeft)
- expected: inf (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 106 - float16Comparisons(should FAIL: -inf != 1)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 1 (operandRight)
- found: -inf (operandLeft)
- expected: 1 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 107 - float16Comparisons(should FAIL: 1 != -inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 1 (operandLeft)
- expected: -inf (operandRight)
- actual: 1 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 108 - float16Comparisons(should FAIL: inf != max)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 6.55e+04 (operandRight)
- found: inf (operandLeft)
- expected: 6.55e+04 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 109 - float16Comparisons(should FAIL: inf != -max)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -6.55e+04 (operandRight)
- found: inf (operandLeft)
- expected: -6.55e+04 (operandRight)
- actual: inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 110 - float16Comparisons(should FAIL: max != inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: 6.55e+04 (operandLeft)
- expected: inf (operandRight)
- actual: 6.55e+04 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 111 - float16Comparisons(should FAIL: -max != inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: inf (operandRight)
- found: -6.55e+04 (operandLeft)
- expected: inf (operandRight)
- actual: -6.55e+04 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 112 - float16Comparisons(should FAIL: -inf != max)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: 6.55e+04 (operandRight)
- found: -inf (operandLeft)
- expected: 6.55e+04 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 113 - float16Comparisons(should FAIL: -inf != -max)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -6.55e+04 (operandRight)
- found: -inf (operandLeft)
- expected: -6.55e+04 (operandRight)
- actual: -inf (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 114 - float16Comparisons(should FAIL: max != -inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: 6.55e+04 (operandLeft)
- expected: -inf (operandRight)
- actual: 6.55e+04 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 115 - float16Comparisons(should FAIL: -max != -inf)
- ---
- type: QCOMPARE
- message: Compared qfloat16s are not the same (fuzzy compare)
- wanted: -inf (operandRight)
- found: -6.55e+04 (operandLeft)
- expected: -inf (operandRight)
- actual: -6.55e+04 (operandLeft)
- at: tst_float::float16Comparisons() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:174)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 174
- ...
-not ok 116 - compareFloatTests(1e0)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3 (t3)
- found: 1 (t1)
- expected: 3 (t3)
- actual: 1 (t1)
- at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:215)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 215
- ...
-not ok 117 - compareFloatTests(1e-5)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3e-05 (t3)
- found: 1e-05 (t1)
- expected: 3e-05 (t3)
- actual: 1e-05 (t1)
- at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:215)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 215
- ...
-not ok 118 - compareFloatTests(1e+7)
- ---
- type: QCOMPARE
- message: Compared floats are not the same (fuzzy compare)
- wanted: 3e+07 (t3)
- found: 1e+07 (t1)
- expected: 3e+07 (t3)
- actual: 1e+07 (t1)
- at: tst_float::compareFloatTests() (qtbase/tests/auto/testlib/selftests/float/tst_float.cpp:215)
- file: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp
- line: 215
- ...
-ok 119 - cleanupTestCase()
-1..119
-# tests 119
-# pass 23
-# fail 96
diff --git a/tests/auto/testlib/selftests/expected_float.teamcity b/tests/auto/testlib/selftests/expected_float.teamcity
deleted file mode 100644
index f8d65a71c7..0000000000
--- a/tests/auto/testlib/selftests/expected_float.teamcity
+++ /dev/null
@@ -1,336 +0,0 @@
-##teamcity[testSuiteStarted name='tst_float' flowId='tst_float']
-##teamcity[testStarted name='initTestCase()' flowId='tst_float']
-##teamcity[testFinished name='initTestCase()' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL 1)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): 3' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL 1)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS 1)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS 1)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL 2)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL 2)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1e-07|n Expected (operandRight): 3e-07' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL 2)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS 2)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS 2)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 999999999999|n Expected (operandRight): 999999999998' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS 3)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS 3)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL 4)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL 4)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1e-12|n Expected (operandRight): 9.99999999999e-13' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL 4)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS 4)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS 4)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL 5)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL 5)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 9.99999999999e+306|n Expected (operandRight): 9.99999999997e+306' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL 5)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS: NaN == NaN)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS: NaN == NaN)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: NaN != 0)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: NaN != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: NaN != 0)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: 0 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: NaN != 1)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: NaN != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: NaN != 1)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: 1 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS: inf == inf)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS: inf == inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should PASS: -inf == -inf)' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should PASS: -inf == -inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: inf != -inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: inf != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: inf != -inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: inf != nan)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: inf != nan)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: nan != inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: nan != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: nan != inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != nan)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != nan)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: nan != -inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: nan != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: nan != -inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: inf != 0)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: inf != 0)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: 0 != inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: 0 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: 0 != inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != 0)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != 0)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: 0 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: inf != 1)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: inf != 1)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: 1 != inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: 1 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: 1 != inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != 1)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != 1)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: 1 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: inf != max)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1.79769313486e+308' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: inf != max)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: inf != -max)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -1.79769313486e+308' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: inf != -max)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: max != inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1.79769313486e+308|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: max != inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -max != inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -1.79769313486e+308|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -max != inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != max)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1.79769313486e+308' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != max)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -inf != -max)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): -1.79769313486e+308' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -inf != -max)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: max != -inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : 1.79769313486e+308|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: max != -inf)' flowId='tst_float']
-##teamcity[testStarted name='doubleComparisons(should FAIL: -max != -inf)' flowId='tst_float']
-##teamcity[testFailed name='doubleComparisons(should FAIL: -max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared doubles are not the same (fuzzy compare)|n Actual (operandLeft) : -1.79769313486e+308|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='doubleComparisons(should FAIL: -max != -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL 1)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): 3' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL 1)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS 1)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS 1)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL 2)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL 2)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1e-05|n Expected (operandRight): 3e-05' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL 2)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS 2)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS 2)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 99999|n Expected (operandRight): 99998' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS 3)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS 3)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL 4)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL 4)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1.00001e-05|n Expected (operandRight): 9.9999e-06' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL 4)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS 4)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS 4)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL 5)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL 5)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 9.9999e+37|n Expected (operandRight): 9.9997e+37' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL 5)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS: NaN == NaN)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS: NaN == NaN)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: NaN != 0)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: NaN != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: NaN != 0)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: 0 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: 0 != NaN)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: NaN != 1)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: NaN != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: NaN != 1)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: 1 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: 1 != NaN)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS: inf == inf)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS: inf == inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should PASS: -inf == -inf)' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should PASS: -inf == -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: inf != -inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: inf != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: inf != -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -inf != inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -inf != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -inf != inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: inf != nan)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: inf != nan)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: nan != inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: nan != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: nan != inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -inf != nan)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -inf != nan)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: nan != -inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: nan != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: nan != -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: inf != 0)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: inf != 0)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: 0 != inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: 0 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: 0 != inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -inf != 0)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -inf != 0)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: 0 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: 0 != -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: inf != 1)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: inf != 1)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: 1 != inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: 1 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: 1 != inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -inf != 1)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -inf != 1)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: 1 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: 1 != -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: inf != max)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 3.40282e+38' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: inf != max)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: inf != -max)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -3.40282e+38' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: inf != -max)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: max != inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 3.40282e+38|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: max != inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -max != inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -3.40282e+38|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -max != inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -inf != max)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 3.40282e+38' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -inf != max)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -inf != -max)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): -3.40282e+38' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -inf != -max)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: max != -inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : 3.40282e+38|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: max != -inf)' flowId='tst_float']
-##teamcity[testStarted name='floatComparisons(should FAIL: -max != -inf)' flowId='tst_float']
-##teamcity[testFailed name='floatComparisons(should FAIL: -max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (operandLeft) : -3.40282e+38|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='floatComparisons(should FAIL: -max != -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL 1)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): 3' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL 1)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS 1)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS 1)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL 2)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL 2)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 0.000999|n Expected (operandRight): 0.003' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL 2)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS 2)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS 2)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL 3)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 98|n Expected (operandRight): 99' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL 3)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS 3)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS 3)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL 4)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL 4)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 0.00101|n Expected (operandRight): 0.00099' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL 4)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS 4)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS 4)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL 5)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL 5)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 5.94e+04|n Expected (operandRight): 5.88e+04' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL 5)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS: NaN == NaN)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS: NaN == NaN)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: NaN != 0)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: NaN != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: NaN != 0)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: 0 != NaN)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: 0 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: 0 != NaN)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: NaN != 1)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: NaN != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: NaN != 1)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: 1 != NaN)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: 1 != NaN)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: 1 != NaN)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS: inf == inf)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS: inf == inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should PASS: -inf == -inf)' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should PASS: -inf == -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: inf != -inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: inf != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: inf != -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -inf != inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -inf != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -inf != inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: inf != nan)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: inf != nan)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: nan != inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: nan != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: nan != inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -inf != nan)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -inf != nan)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): nan' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -inf != nan)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: nan != -inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: nan != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : nan|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: nan != -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: inf != 0)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: inf != 0)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: 0 != inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: 0 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: 0 != inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -inf != 0)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -inf != 0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 0' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -inf != 0)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: 0 != -inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: 0 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 0|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: 0 != -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: inf != 1)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: inf != 1)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: 1 != inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: 1 != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: 1 != inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -inf != 1)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -inf != 1)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 1' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -inf != 1)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: 1 != -inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: 1 != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 1|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: 1 != -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: inf != max)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): 6.55e+04' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: inf != max)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: inf != -max)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : inf|n Expected (operandRight): -6.55e+04' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: inf != -max)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: max != inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 6.55e+04|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: max != inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -max != inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -max != inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -6.55e+04|n Expected (operandRight): inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -max != inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -inf != max)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -inf != max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): 6.55e+04' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -inf != max)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -inf != -max)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -inf != -max)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -inf|n Expected (operandRight): -6.55e+04' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -inf != -max)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: max != -inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : 6.55e+04|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: max != -inf)' flowId='tst_float']
-##teamcity[testStarted name='float16Comparisons(should FAIL: -max != -inf)' flowId='tst_float']
-##teamcity[testFailed name='float16Comparisons(should FAIL: -max != -inf)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared qfloat16s are not the same (fuzzy compare)|n Actual (operandLeft) : -6.55e+04|n Expected (operandRight): -inf' flowId='tst_float']
-##teamcity[testFinished name='float16Comparisons(should FAIL: -max != -inf)' flowId='tst_float']
-##teamcity[testStarted name='compareFloatTests(1e0)' flowId='tst_float']
-##teamcity[testFailed name='compareFloatTests(1e0)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (t1): 1|n Expected (t3): 3' flowId='tst_float']
-##teamcity[testFinished name='compareFloatTests(1e0)' flowId='tst_float']
-##teamcity[testStarted name='compareFloatTests(1e-5)' flowId='tst_float']
-##teamcity[testFailed name='compareFloatTests(1e-5)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (t1): 1e-05|n Expected (t3): 3e-05' flowId='tst_float']
-##teamcity[testFinished name='compareFloatTests(1e-5)' flowId='tst_float']
-##teamcity[testStarted name='compareFloatTests(1e+7)' flowId='tst_float']
-##teamcity[testFailed name='compareFloatTests(1e+7)' message='Failure! |[Loc: qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)|]' details='Compared floats are not the same (fuzzy compare)|n Actual (t1): 1e+07|n Expected (t3): 3e+07' flowId='tst_float']
-##teamcity[testFinished name='compareFloatTests(1e+7)' flowId='tst_float']
-##teamcity[testStarted name='cleanupTestCase()' flowId='tst_float']
-##teamcity[testFinished name='cleanupTestCase()' flowId='tst_float']
-##teamcity[testSuiteFinished name='tst_float' flowId='tst_float']
diff --git a/tests/auto/testlib/selftests/expected_float.txt b/tests/auto/testlib/selftests/expected_float.txt
index 25c8c6b6de..a0a2d1846b 100644
--- a/tests/auto/testlib/selftests/expected_float.txt
+++ b/tests/auto/testlib/selftests/expected_float.txt
@@ -269,7 +269,7 @@ FAIL! : tst_float::float16Comparisons(should FAIL 1) Compared qfloat16s are not
Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
PASS : tst_float::float16Comparisons(should PASS 1)
FAIL! : tst_float::float16Comparisons(should FAIL 2) Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.000999
+ Actual (operandLeft) : 0.00781
Expected (operandRight): 0.003
Loc: [qtbase/tests/auto/testlib/selftests/float/tst_float.cpp(0)]
PASS : tst_float::float16Comparisons(should PASS 2)
diff --git a/tests/auto/testlib/selftests/expected_float.xml b/tests/auto/testlib/selftests/expected_float.xml
deleted file mode 100644
index 8ddc72a917..0000000000
--- a/tests/auto/testlib/selftests/expected_float.xml
+++ /dev/null
@@ -1,668 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<TestCase name="tst_float">
-<Environment>
- <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion>
- <QtBuild/>
- <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion>
-</Environment>
-<TestFunction name="initTestCase">
-<Incident type="pass" file="" line="0" />
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="doubleComparisons">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 1]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 2]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1e-07
- Expected (operandRight): 3e-07]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 2]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 3]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 999999999999
- Expected (operandRight): 999999999998]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 3]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 4]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1e-12
- Expected (operandRight): 9.99999999999e-13]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 4]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 5]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 9.99999999999e+306
- Expected (operandRight): 9.99999999997e+306]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1.79769313486e+308
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -1.79769313486e+308
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): -1.79769313486e+308]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : 1.79769313486e+308
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
- <Description><![CDATA[Compared doubles are not the same (fuzzy compare)
- Actual (operandLeft) : -1.79769313486e+308
- Expected (operandRight): -inf]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="floatComparisons">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 1]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 2]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1e-05
- Expected (operandRight): 3e-05]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 2]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 3]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 99999
- Expected (operandRight): 99998]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 3]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 4]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1.00001e-05
- Expected (operandRight): 9.9999e-06]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 4]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 5]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 9.9999e+37
- Expected (operandRight): 9.9997e+37]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 3.40282e+38
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -3.40282e+38
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): -3.40282e+38]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : 3.40282e+38
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (operandLeft) : -3.40282e+38
- Expected (operandRight): -inf]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="float16Comparisons">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): 3]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 1]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 2]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.000999
- Expected (operandRight): 0.003]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 2]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 3]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 98
- Expected (operandRight): 99]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 3]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 4]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0.00101
- Expected (operandRight): 0.00099]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS 4]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL 5]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 5.94e+04
- Expected (operandRight): 5.88e+04]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: NaN == NaN]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 0]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != NaN]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: NaN != 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != NaN]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: inf == inf]]></DataTag>
-</Incident>
-<Incident type="pass" file="" line="0">
- <DataTag><![CDATA[should PASS: -inf == -inf]]></DataTag>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != nan]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != nan]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): nan]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: nan != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : nan
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 0]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 0]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 0]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 0 != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 0
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != 1]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 1]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: 1 != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 1
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): 6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: inf != -max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : inf
- Expected (operandRight): -6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 6.55e+04
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -6.55e+04
- Expected (operandRight): inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): 6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -inf != -max]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -inf
- Expected (operandRight): -6.55e+04]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: max != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : 6.55e+04
- Expected (operandRight): -inf]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[should FAIL: -max != -inf]]></DataTag>
- <Description><![CDATA[Compared qfloat16s are not the same (fuzzy compare)
- Actual (operandLeft) : -6.55e+04
- Expected (operandRight): -inf]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="compareFloatTests">
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[1e0]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (t1): 1
- Expected (t3): 3]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[1e-5]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (t1): 1e-05
- Expected (t3): 3e-05]]></Description>
-</Incident>
-<Incident type="fail" file="qtbase/tests/auto/testlib/selftests/float/tst_float.cpp" line="0">
- <DataTag><![CDATA[1e+7]]></DataTag>
- <Description><![CDATA[Compared floats are not the same (fuzzy compare)
- Actual (t1): 1e+07
- Expected (t3): 3e+07]]></Description>
-</Incident>
- <Duration msecs="0"/>
-</TestFunction>
-<TestFunction name="cleanupTestCase">
-<Incident type="pass" file="" line="0" />
- <Duration msecs="0"/>
-</TestFunction>
-<Duration msecs="0"/>
-</TestCase>
diff --git a/tests/auto/testlib/selftests/float/tst_float.cpp b/tests/auto/testlib/selftests/float/tst_float.cpp
index 823495f863..bc9ea00172 100644
--- a/tests/auto/testlib/selftests/float/tst_float.cpp
+++ b/tests/auto/testlib/selftests/float/tst_float.cpp
@@ -31,8 +31,6 @@
#include <QtTest/QtTest>
#include <QDebug>
-#include "emulationdetector.h"
-
// Test proper handling of floating-point types
class tst_float: public QObject
{
@@ -182,11 +180,11 @@ void tst_float::float16Comparisons_data() const
QTest::addColumn<qfloat16>("operandLeft");
QTest::addColumn<qfloat16>("operandRight");
const qfloat16 zero(0), one(1);
- const qfloat16 tiny(EmulationDetector::isRunningArmOnX86() ? 0.00099f : 0.001f);
+ const qfloat16 tiny(0.00099f);
QTest::newRow("should FAIL 1") << one << qfloat16(3);
QTest::newRow("should PASS 1") << zero << zero;
- QTest::newRow("should FAIL 2") << qfloat16(1e-3f) << qfloat16(3e-3f);
+ QTest::newRow("should FAIL 2") << qfloat16(1.f/128.f) << qfloat16(3e-3f);
// QCOMPARE for uses qFuzzyCompare(), which ignores differences of one part
// in 102.5 and considers any two qFuzzyIsNull() values, i.e. values smaller
diff --git a/tests/auto/testlib/selftests/generate_expected_output.py b/tests/auto/testlib/selftests/generate_expected_output.py
index 96fab44408..e4a0217686 100755
--- a/tests/auto/testlib/selftests/generate_expected_output.py
+++ b/tests/auto/testlib/selftests/generate_expected_output.py
@@ -308,6 +308,13 @@ def generateTestData(testname, clean,
print("Warning: directory", testname, "contains no test executable")
return
+ # See TestLogger::shouldIgnoreTest() in tst_selftest.cpp for these
+ # single-format tests:
+ if testname == 'junit':
+ formats = ( 'junitxml', ) if 'junitxml' in formats else ()
+ elif testname == 'float':
+ formats = ( 'txt', ) if 'txt' in formats else ()
+
# Prepare environment in which to run tests:
env = testEnv(testname)
diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp
index 829a79c0e6..66e7ca5b99 100644
--- a/tests/auto/testlib/selftests/tst_selftests.cpp
+++ b/tests/auto/testlib/selftests/tst_selftests.cpp
@@ -822,6 +822,8 @@ bool tst_Selftests::compareOutput(const QString &logger, const QString &subdir,
continue;
if (actualLineBA.endsWith(" : failure location"))
continue;
+ if (actualLineBA.endsWith(" : message location"))
+ continue;
if (actualLineBA.startsWith("Config: Using QtTest library") // Text build string
|| actualLineBA.startsWith(" <QtBuild") // XML, Light XML build string
diff --git a/tests/auto/testlib/selftests/verifyexceptionthrown/tst_verifyexceptionthrown.cpp b/tests/auto/testlib/selftests/verifyexceptionthrown/tst_verifyexceptionthrown.cpp
index 9fc490417c..fc12738604 100644
--- a/tests/auto/testlib/selftests/verifyexceptionthrown/tst_verifyexceptionthrown.cpp
+++ b/tests/auto/testlib/selftests/verifyexceptionthrown/tst_verifyexceptionthrown.cpp
@@ -112,12 +112,16 @@ void tst_VerifyExceptionThrown::testCorrectMyExceptions() const
void tst_VerifyExceptionThrown::testFailInt() const
{
- QVERIFY_EXCEPTION_THROWN(throw int(5), double);
+ try {
+ QVERIFY_EXCEPTION_THROWN(throw int(5), double);
+ } catch (int) {}
}
void tst_VerifyExceptionThrown::testFailStdString() const
{
- QVERIFY_EXCEPTION_THROWN(throw std::string("some string"), char*);
+ try {
+ QVERIFY_EXCEPTION_THROWN(throw std::string("some string"), char*);
+ } catch (const std::string &) {}
}
void tst_VerifyExceptionThrown::testFailStdRuntimeError() const
diff --git a/tests/auto/tools/moc/allmocs_baseline_in.json b/tests/auto/tools/moc/allmocs_baseline_in.json
index 12a4a22a19..18282505e4 100644
--- a/tests/auto/tools/moc/allmocs_baseline_in.json
+++ b/tests/auto/tools/moc/allmocs_baseline_in.json
@@ -689,16 +689,6 @@
"access": "public",
"name": "c",
"returnType": "void"
- },
- {
- "access": "public",
- "name": "d",
- "returnType": "void"
- },
- {
- "access": "public",
- "name": "e",
- "returnType": "void"
}
],
"superClasses": [
diff --git a/tests/auto/tools/moc/enum_with_include.h b/tests/auto/tools/moc/enum_with_include.h
index b8abf77f12..cd53ba6a28 100644
--- a/tests/auto/tools/moc/enum_with_include.h
+++ b/tests/auto/tools/moc/enum_with_include.h
@@ -34,6 +34,11 @@ class Foo : public QObject {
enum en {
#include <enum_inc.h>
};
+
+ enum class en2 {
+ #include <enum_inc.h>
+ reference = 42
+ };
Q_OBJECT
};
#endif
diff --git a/tests/auto/tools/moc/task189996.h b/tests/auto/tools/moc/task189996.h
index f94a051b3a..ba9450c271 100644
--- a/tests/auto/tools/moc/task189996.h
+++ b/tests/auto/tools/moc/task189996.h
@@ -37,11 +37,9 @@ class InlineSlotsWithThrowDeclaration : public QObject
Q_OBJECT
public slots:
- void a() throw() { }
- void b() const throw() { }
- void c() throw();
- void d() throw(int) { }
- void e() const throw(int,double) { }
+ void a() noexcept { }
+ void b() const noexcept { }
+ void c() noexcept;
};
#endif
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index c716aead21..cc465a213a 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -41,7 +41,6 @@
#include "single_function_keyword.h"
#include "backslash-newlines.h"
#include "slots-with-void-template.h"
-#include "pure-virtual-signals.h"
#include "qinvokable.h"
// msvc and friends crap out on it
#if !defined(Q_CC_GNU) || defined(Q_OS_WIN)
@@ -631,7 +630,6 @@ public:
private slots:
void initTestCase();
- void slotWithException() throw(MyStruct);
void dontStripNamespaces();
void oldStyleCasts();
void warnOnExtraSignalSlotQualifiaction();
@@ -784,12 +782,6 @@ void tst_Moc::initTestCase()
#endif
}
-void tst_Moc::slotWithException() throw(MyStruct)
-{
- // be happy
- QVERIFY(true);
-}
-
void tst_Moc::dontStripNamespaces()
{
Sender sender;
@@ -1595,7 +1587,7 @@ void tst_Moc::qprivateproperties()
#include "task189996.h"
-void InlineSlotsWithThrowDeclaration::c() throw() {}
+void InlineSlotsWithThrowDeclaration::c() noexcept {}
void tst_Moc::inlineSlotsWithThrowDeclaration()
{
@@ -1604,8 +1596,6 @@ void tst_Moc::inlineSlotsWithThrowDeclaration()
QVERIFY(mobj->indexOfSlot("a()") != -1);
QVERIFY(mobj->indexOfSlot("b()") != -1);
QVERIFY(mobj->indexOfSlot("c()") != -1);
- QVERIFY(mobj->indexOfSlot("d()") != -1);
- QVERIFY(mobj->indexOfSlot("e()") != -1);
}
void tst_Moc::warnOnPropertyWithoutREAD()
diff --git a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
index afb24bc528..455159299d 100644
--- a/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/widgets/dialogs/qfiledialog/tst_qfiledialog.cpp
@@ -137,6 +137,7 @@ private slots:
void clearLineEdit();
void enableChooseButton();
void selectedFilesWithoutWidgets();
+ void selectedFileWithDefaultSuffix();
void trailingDotsAndSpaces();
#ifdef Q_OS_UNIX
#ifdef QT_BUILD_INTERNAL
@@ -1475,6 +1476,21 @@ void tst_QFiledialog::selectedFilesWithoutWidgets()
QVERIFY(fd.selectedFiles().size() >= 0);
}
+void tst_QFiledialog::selectedFileWithDefaultSuffix()
+{
+ // QTBUG-59401: dot in file path should not prevent default suffix from being added
+ QTemporaryDir tempDir(QDir::tempPath() + "/abcXXXXXX.def");
+ QVERIFY2(tempDir.isValid(), qPrintable(tempDir.errorString()));
+
+ QFileDialog fd;
+ fd.setDirectory(tempDir.path());
+ fd.setDefaultSuffix(".txt");
+ fd.selectFile("xxx");
+ const auto selectedFiles = fd.selectedFiles();
+ QCOMPARE(selectedFiles.size(), 1);
+ QVERIFY(selectedFiles.first().endsWith(".txt"));
+}
+
void tst_QFiledialog::trailingDotsAndSpaces()
{
#ifndef Q_OS_WIN
diff --git a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/BLACKLIST
index ce0e42b3c7..94483628fd 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/BLACKLIST
+++ b/tests/auto/widgets/graphicsview/qgraphicsanchorlayout/BLACKLIST
@@ -1,2 +1,3 @@
[layoutDirection]
ubuntu-20.04
+sles-15.4
diff --git a/tests/auto/widgets/graphicsview/qgraphicsproxywidget/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/BLACKLIST
new file mode 100644
index 0000000000..754014501b
--- /dev/null
+++ b/tests/auto/widgets/graphicsview/qgraphicsproxywidget/BLACKLIST
@@ -0,0 +1,4 @@
+[scrollUpdate]
+android
+[forwardTouchEvent]
+android
diff --git a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
index db7d1449d3..f1efeebd91 100644
--- a/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
+++ b/tests/auto/widgets/graphicsview/qgraphicsview/tst_qgraphicsview.cpp
@@ -223,6 +223,7 @@ private slots:
void replayMouseMove();
void itemsUnderMouse();
void embeddedViews();
+ void embeddedViewsWithFocus();
void scrollAfterResize_data();
void scrollAfterResize();
void moveItemWhileScrolling_data();
@@ -3519,6 +3520,60 @@ void tst_QGraphicsView::embeddedViews()
delete v1;
}
+/*!
+ Verify that a nested graphics view and embedded widgets receive window
+ activation and focus correctly.
+
+ See QTBUG-94091.
+*/
+void tst_QGraphicsView::embeddedViewsWithFocus()
+{
+ class FocusWidget : public QWidget
+ {
+ public:
+ FocusWidget() { setFocusPolicy(Qt::StrongFocus); }
+ QSize sizeHint() const override { return QSize(100, 100); }
+
+ int focusCount = 0;
+ protected:
+ void mousePressEvent(QMouseEvent *) override {} // accept event to avoid warning
+ void focusInEvent(QFocusEvent *) override { ++focusCount; }
+ void focusOutEvent(QFocusEvent *) override { --focusCount; }
+ };
+
+ QGraphicsScene innerScene;
+ FocusWidget *innerWidget = new FocusWidget;
+ innerScene.addWidget(innerWidget);
+ QGraphicsView *innerView = new QGraphicsView(&innerScene);
+
+ QGraphicsScene outerScene;
+ FocusWidget *outerWidget = new FocusWidget;
+ QGraphicsProxyWidget *outerProxy = outerScene.addWidget(outerWidget);
+ QGraphicsProxyWidget *nestedProxy = outerScene.addWidget(innerView);
+ outerProxy->setPos(0, 0);
+ nestedProxy->setPos(0, outerWidget->sizeHint().height());
+ QGraphicsView outerView(&outerScene);
+ outerView.show();
+ outerView.activateWindow();
+ QVERIFY(QTest::qWaitForWindowActive(&outerView));
+ const QPoint outerCenter(QPoint(innerWidget->sizeHint().width() / 2,
+ innerWidget->sizeHint().height() / 2));
+ const QPoint innerCenter(outerCenter + QPoint(0, innerWidget->sizeHint().height()));
+ QCOMPARE(outerView.itemAt(outerCenter), outerProxy);
+ QCOMPARE(outerView.itemAt(innerCenter), nestedProxy);
+ QVERIFY(outerScene.isActive());
+ QVERIFY(innerScene.isActive());
+
+ QCOMPARE(outerWidget->focusCount, 0);
+ QCOMPARE(innerWidget->focusCount, 0);
+ QTest::mouseClick(outerView.viewport(), Qt::LeftButton, {}, outerCenter);
+ QCOMPARE(outerWidget->focusCount, 1);
+ QCOMPARE(innerWidget->focusCount, 0);
+ QTest::mouseClick(outerView.viewport(), Qt::LeftButton, {}, innerCenter);
+ QCOMPARE(outerWidget->focusCount, 0);
+ QCOMPARE(innerWidget->focusCount, 1);
+}
+
void tst_QGraphicsView::scrollAfterResize_data()
{
QTest::addColumn<bool>("reverse");
diff --git a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
index 0bdf61e1e1..56448c1723 100644
--- a/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
+++ b/tests/auto/widgets/itemviews/qabstractitemview/tst_qabstractitemview.cpp
@@ -47,6 +47,7 @@
#include <QStringListModel>
#include <QStyledItemDelegate>
#include <QTableWidget>
+#include <QTimer>
#include <QTreeWidget>
#include <QTest>
#include <QVBoxLayout>
@@ -150,6 +151,10 @@ private slots:
void checkFocusAfterActivationChanges_data();
void checkFocusAfterActivationChanges();
void dragSelectAfterNewPress();
+ void dragWithSecondClick_data();
+ void dragWithSecondClick();
+ void clickAfterDoubleClick();
+
private:
static QAbstractItemView *viewFromString(const QByteArray &viewType, QWidget *parent = nullptr)
{
@@ -2511,5 +2516,134 @@ void tst_QAbstractItemView::dragSelectAfterNewPress()
QVERIFY(selected.contains(model.index(i, 0)));
}
+void tst_QAbstractItemView::dragWithSecondClick_data()
+{
+ QTest::addColumn<QString>("viewClass");
+ QTest::addColumn<bool>("doubleClick");
+ for (QString viewClass : {"QListView", "QTreeView"}) {
+ QTest::addRow("DoubleClick") << viewClass << true;
+ QTest::addRow("Two Single Clicks") << viewClass << false;
+ }
+}
+
+// inject the ability to record which indexes get dragged into any QAbstractItemView class
+struct DragRecorder
+{
+ virtual ~DragRecorder() = default;
+ bool dragStarted = false;
+ QModelIndexList draggedIndexes;
+ QAbstractItemView *view;
+};
+
+template<class ViewClass>
+class DragRecorderView : public ViewClass, public DragRecorder
+{
+public:
+ DragRecorderView()
+ { view = this; }
+protected:
+ void startDrag(Qt::DropActions) override
+ {
+ draggedIndexes = ViewClass::selectedIndexes();
+ dragStarted = true;
+ }
+};
+
+void tst_QAbstractItemView::dragWithSecondClick()
+{
+ QFETCH(QString, viewClass);
+ QFETCH(bool, doubleClick);
+
+ QStandardItemModel model;
+ QStandardItem *parentItem = model.invisibleRootItem();
+ for (int i = 0; i < 10; ++i) {
+ QStandardItem *item = new QStandardItem(QString("item %0").arg(i));
+ item->setDragEnabled(true);
+ item->setEditable(false);
+ parentItem->appendRow(item);
+ }
+
+ std::unique_ptr<DragRecorder> dragRecorder;
+ if (viewClass == "QTreeView")
+ dragRecorder.reset(new DragRecorderView<QTreeView>);
+ else if (viewClass == "QListView")
+ dragRecorder.reset(new DragRecorderView<QListView>);
+
+ QAbstractItemView *view = dragRecorder->view;
+ view->setModel(&model);
+ view->setFixedSize(160, 650); // Minimum width for windows with frame on Windows 8
+ view->setSelectionMode(QAbstractItemView::MultiSelection);
+ view->setDragDropMode(QAbstractItemView::InternalMove);
+ centerOnScreen(view);
+ moveCursorAway(view);
+ view->show();
+ QVERIFY(QTest::qWaitForWindowExposed(view));
+
+ QModelIndex index0 = model.index(0, 0);
+ QModelIndex index1 = model.index(1, 0);
+ // Select item 0 using a single click
+ QTest::mouseClick(view->viewport(), Qt::LeftButton, Qt::NoModifier,
+ view->visualRect(index0).center());
+ QCOMPARE(view->currentIndex(), index0);
+
+ if (doubleClick) {
+ // press on same item within the double click interval
+ QTest::mouseDClick(view->viewport(), Qt::LeftButton, Qt::NoModifier,
+ view->visualRect(index0).center());
+ } else {
+ // or on different item with a slow second press
+ QTest::mousePress(view->viewport(), Qt::LeftButton, Qt::NoModifier,
+ view->visualRect(index1).center());
+ }
+ // then drag far enough with left button held
+ const QPoint dragTo = view->visualRect(index1).center()
+ + QPoint(2 * QApplication::startDragDistance(),
+ 2 * QApplication::startDragDistance());
+ QMouseEvent mouseMoveEvent(QEvent::MouseMove, dragTo,
+ Qt::NoButton, Qt::LeftButton, Qt::NoModifier);
+ QVERIFY(QApplication::sendEvent(view->viewport(), &mouseMoveEvent));
+ // twice since the view will first enter dragging state, then start the drag
+ // (not necessary to actually move the mouse)
+ QVERIFY(QApplication::sendEvent(view->viewport(), &mouseMoveEvent));
+ QVERIFY(dragRecorder->dragStarted);
+ QTest::mouseRelease(view->viewport(), Qt::LeftButton, Qt::NoModifier, dragTo);
+}
+
+void tst_QAbstractItemView::clickAfterDoubleClick()
+{
+ QTableWidget view(5, 5);
+ view.horizontalHeader()->hide();
+ view.verticalHeader()->hide();
+ view.setEditTriggers(QAbstractItemView::NoEditTriggers);
+ view.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&view));
+ const QModelIndex index = view.model()->index(1, 1);
+ QVERIFY(index.isValid());
+ const QPoint clickPoint = view.visualRect(index).center();
+
+ // must use the QWindow overloads so that modality is respected
+ QWindow *window = view.window()->windowHandle();
+ int clickCount = 0;
+
+ connect(&view, &QAbstractItemView::doubleClicked, [&]{
+ QDialog dialog(&view);
+ dialog.setModal(true);
+ QTimer::singleShot(0, [&]{ dialog.close(); });
+ dialog.exec();
+ });
+ connect(&view, &QAbstractItemView::clicked, [&]{
+ ++clickCount;
+ });
+
+ QTest::mouseClick(window, Qt::LeftButton, {}, clickPoint);
+ QCOMPARE(clickCount, 1);
+ // generates a click followed by a double click; double click opens
+ // dialog that eats second release
+ QTest::mouseDClick(window, Qt::LeftButton, {}, clickPoint);
+ QCOMPARE(clickCount, 2);
+ QTest::mouseClick(window, Qt::LeftButton, {}, clickPoint);
+ QCOMPARE(clickCount, 3);
+}
+
QTEST_MAIN(tst_QAbstractItemView)
#include "tst_qabstractitemview.moc"
diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
index c355ee9665..88c09de8e0 100644
--- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
+++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
@@ -251,6 +251,7 @@ private slots:
void testResetCachedSizeHint();
void statusTips();
void testRemovingColumnsViaLayoutChanged();
+ void testModelMovingColumns();
protected:
void setupTestData(bool use_reset_model = false);
@@ -360,6 +361,12 @@ public:
endRemoveColumns();
}
+ void moveColumn(int from, int to)
+ {
+ beginMoveColumns(QModelIndex(), from, from, QModelIndex(), to);
+ endMoveColumns();
+ }
+
void cleanup()
{
emit layoutAboutToBeChanged();
@@ -3627,5 +3634,18 @@ void tst_QHeaderView::testRemovingColumnsViaLayoutChanged()
// The main point of this test is that the section-size restoring code didn't go out of bounds.
}
+void tst_QHeaderView::testModelMovingColumns()
+{
+ QtTestModel model(10, 10);
+ QHeaderView hv(Qt::Horizontal);
+ hv.setModel(&model);
+ hv.resizeSections(QHeaderView::ResizeToContents);
+ hv.show();
+
+ QPersistentModelIndex index3 = model.index(0, 3);
+ model.moveColumn(3, 1);
+ QCOMPARE(index3.column(), 1);
+}
+
QTEST_MAIN(tst_QHeaderView)
#include "tst_qheaderview.moc"
diff --git a/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST b/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
index 5eda888af6..d73129ee40 100644
--- a/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
+++ b/tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST
@@ -4,3 +4,4 @@ opensuse-42.3 ci
opensuse-42.3 ci
[editorKeyPress]
ubuntu-20.04
+sles-15.4
diff --git a/tests/auto/widgets/itemviews/qlistview/BLACKLIST b/tests/auto/widgets/itemviews/qlistview/BLACKLIST
index 2d3ae59eb1..4925d0bdc4 100644
--- a/tests/auto/widgets/itemviews/qlistview/BLACKLIST
+++ b/tests/auto/widgets/itemviews/qlistview/BLACKLIST
@@ -1,3 +1,3 @@
[internalDragDropMove]
opensuse ci
-
+sles-15.4
diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
index dadb9f836c..b038245610 100644
--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
+++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
@@ -166,9 +166,12 @@ private slots:
void taskQTBUG_7232_AllowUserToControlSingleStep();
void taskQTBUG_51086_skippingIndexesInSelectedIndexes();
void taskQTBUG_47694_indexOutOfBoundBatchLayout();
+ void moveLastRow();
void itemAlignment();
void internalDragDropMove_data();
void internalDragDropMove();
+ void scrollOnRemove_data();
+ void scrollOnRemove();
};
// Testing get/set functions
@@ -2512,6 +2515,222 @@ void tst_QListView::taskQTBUG_47694_indexOutOfBoundBatchLayout()
view.scrollTo(model.index(batchSize - 1, 0));
}
+class TstMoveItem
+{
+ friend class TstMoveModel;
+public:
+ TstMoveItem(TstMoveItem *parent = nullptr)
+ : parentItem(parent)
+ {
+ if (parentItem)
+ parentItem->childItems.append(this);
+ }
+
+ ~TstMoveItem()
+ {
+ QList<TstMoveItem *> delItms;
+ delItms.swap(childItems);
+ qDeleteAll(delItms);
+
+ if (parentItem)
+ parentItem->childItems.removeAll(this);
+ }
+
+ int row()
+ {
+ if (parentItem)
+ return parentItem->childItems.indexOf(this);
+ return -1;
+ }
+
+public:
+ TstMoveItem *parentItem = nullptr;
+ QList<TstMoveItem *> childItems;
+ QHash<int, QVariant> data;
+};
+
+/*!
+ Test that removing the last row in an IconView mode QListView
+ doesn't crash. The model is specifically crafted to provoke a
+ stale QBspTree by returning a 0 column count for indexes without
+ children, which changes the column count after moving the last row.
+
+ See QTBUG_95463.
+*/
+class TstMoveModel : public QAbstractItemModel
+{
+ Q_OBJECT
+public:
+ TstMoveModel(QObject *parent = nullptr)
+ : QAbstractItemModel(parent)
+ {
+ rootItem = new TstMoveItem;
+ rootItem->data.insert(Qt::DisplayRole, "root");
+
+ TstMoveItem *itm = new TstMoveItem(rootItem);
+ itm->data.insert(Qt::DisplayRole, "parentItem1");
+
+ TstMoveItem *itmCh = new TstMoveItem(itm);
+ itmCh->data.insert(Qt::DisplayRole, "childItem");
+
+ itm = new TstMoveItem(rootItem);
+ itm->data.insert(Qt::DisplayRole, "parentItem2");
+ }
+
+ ~TstMoveModel()
+ {
+ delete rootItem;
+ }
+
+ QModelIndex index(int row, int column, const QModelIndex &idxPar = QModelIndex()) const override
+ {
+ QModelIndex idx;
+ if (hasIndex(row, column, idxPar)) {
+ TstMoveItem *parentItem = nullptr;
+ if (idxPar.isValid())
+ parentItem = static_cast<TstMoveItem *>(idxPar.internalPointer());
+ else
+ parentItem = rootItem;
+
+ Q_ASSERT(parentItem);
+ TstMoveItem *childItem = parentItem->childItems.at(row);
+ if (childItem)
+ idx = createIndex(row, column, childItem);
+ }
+ return idx;
+ }
+
+ QModelIndex parent(const QModelIndex &index) const override
+ {
+ QModelIndex idxPar;
+ if (index.isValid()) {
+ TstMoveItem *childItem = static_cast<TstMoveItem *>(index.internalPointer());
+ TstMoveItem *parentItem = childItem->parentItem;
+ if (parentItem != rootItem)
+ idxPar = createIndex(parentItem->row(), 0, parentItem);
+ }
+ return idxPar;
+ }
+
+ int columnCount(const QModelIndex &idxPar = QModelIndex()) const override
+ {
+ int cnt = 0;
+ if (idxPar.isValid()) {
+ TstMoveItem *parentItem = static_cast<TstMoveItem *>(idxPar.internalPointer());
+ Q_ASSERT(parentItem);
+ cnt = parentItem->childItems.isEmpty() ? 0 : 1;
+ } else {
+ cnt = rootItem->childItems.isEmpty() ? 0 : 1;
+ }
+ return cnt;
+ }
+
+ int rowCount(const QModelIndex &idxPar = QModelIndex()) const override
+ {
+ int cnt = 0;
+ if (idxPar.isValid()) {
+ TstMoveItem *parentItem = static_cast<TstMoveItem *>(idxPar.internalPointer());
+ Q_ASSERT(parentItem);
+ cnt = parentItem->childItems.count();
+ } else {
+ cnt = rootItem->childItems.count();
+ }
+ return cnt;
+ }
+
+ Qt::ItemFlags flags(const QModelIndex &index) const override
+ {
+ Q_UNUSED(index)
+ return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+ }
+
+ bool hasChildren(const QModelIndex &parent = QModelIndex()) const override
+ {
+ bool ret = false;
+ if (parent.isValid()) {
+ TstMoveItem *parentItem = static_cast<TstMoveItem *>(parent.internalPointer());
+ Q_ASSERT(parentItem);
+ ret = parentItem->childItems.count() > 0;
+ } else {
+ ret = rootItem->childItems.count() > 0;
+ }
+ return ret;
+ }
+
+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
+ {
+ QVariant dt;
+ if (index.isValid()) {
+ TstMoveItem *item = static_cast<TstMoveItem *>(index.internalPointer());
+ if (item)
+ dt = item->data.value(role);
+ }
+ return dt;
+ }
+
+ bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override
+ {
+ TstMoveItem *itmSrcParent = itemAt(sourceParent);
+ TstMoveItem *itmDestParent = itemAt(destinationParent);
+
+ if (itmSrcParent && sourceRow >= 0
+ && sourceRow + count <= itmSrcParent->childItems.count()
+ && itmDestParent && destinationChild <= itmDestParent->childItems.count()) {
+ beginMoveRows(sourceParent, sourceRow, sourceRow + count - 1,
+ destinationParent, destinationChild);
+ QList<TstMoveItem *> itemsToMove;
+ for (int i = 0; i < count; ++i) {
+ TstMoveItem *itm = itmSrcParent->childItems.at(sourceRow+i);
+ itemsToMove.append(itm);
+ }
+ for (int i = itemsToMove.count() -1; i >= 0; --i) {
+ TstMoveItem *itm = itemsToMove.at(i);
+ itm->parentItem->childItems.removeAll(itm);
+ itm->parentItem = itmDestParent;
+ itmDestParent->childItems.insert(destinationChild, itm);
+ }
+ endMoveRows();
+ return true;
+ }
+ return false;
+ }
+
+private:
+ TstMoveItem *itemAt(const QModelIndex &index) const
+ {
+ TstMoveItem *item = nullptr;
+ if (index.isValid()) {
+ Q_ASSERT(index.model() == this);
+ item = static_cast<TstMoveItem *>(index.internalPointer());
+ } else {
+ item = rootItem;
+ }
+ return item;
+ }
+
+private:
+ TstMoveItem *rootItem = nullptr;
+};
+
+void tst_QListView::moveLastRow()
+{
+ TstMoveModel model;
+ QListView view;
+ view.setModel(&model);
+ view.setRootIndex(model.index(0, 0, QModelIndex()));
+ view.setViewMode(QListView::IconMode);
+ view.show();
+
+ QApplication::setActiveWindow(&view);
+ QVERIFY(QTest::qWaitForWindowActive(&view));
+
+ QModelIndex sourceParent = model.index(0, 0);
+ QModelIndex destinationParent = model.index(1, 0);
+ // must not crash when paint event is processed
+ model.moveRow(sourceParent, 0, destinationParent, 0);
+ QTest::qWait(100);
+}
+
void tst_QListView::itemAlignment()
{
auto item1 = new QStandardItem("111");
@@ -2550,6 +2769,7 @@ void tst_QListView::internalDragDropMove_data()
| Qt::ItemIsEditable
| Qt::ItemIsDragEnabled;
+ const QStringList unchanged = QStringList{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
const QStringList reordered = QStringList{"0", "2", "3", "4", "5", "6", "7", "8", "9", "1"};
const QStringList replaced = QStringList{"0", "2", "3", "4", "1", "6", "7", "8", "9"};
@@ -2564,7 +2784,8 @@ void tst_QListView::internalDragDropMove_data()
<< Qt::MoveAction
<< defaultFlags
<< modelMoves
- << reordered;
+ // listview in IconMode doesn't change the model
+ << ((viewMode == QListView::IconMode && !modelMoves) ? unchanged : reordered);
QTest::newRow((rowName + ", only move").constData())
<< viewMode
@@ -2573,7 +2794,8 @@ void tst_QListView::internalDragDropMove_data()
<< Qt::MoveAction
<< defaultFlags
<< modelMoves
- << reordered;
+ // listview in IconMode doesn't change the model
+ << ((viewMode == QListView::IconMode && !modelMoves) ? unchanged : reordered);
QTest::newRow((rowName + ", replace item").constData())
<< viewMode
@@ -2719,5 +2941,72 @@ void tst_QListView::internalDragDropMove()
}
+void tst_QListView::scrollOnRemove_data()
+{
+ QTest::addColumn<QListView::ViewMode>("viewMode");
+ QTest::addColumn<QAbstractItemView::SelectionMode>("selectionMode");
+
+ const QMetaObject &mo = QListView::staticMetaObject;
+ const auto viewModeEnum = mo.enumerator(mo.indexOfEnumerator("ViewMode"));
+ const auto selectionModeEnum = mo.enumerator(mo.indexOfEnumerator("SelectionMode"));
+ for (auto viewMode : { QListView::ListMode, QListView::IconMode }) {
+ const char *viewModeName = viewModeEnum.valueToKey(viewMode);
+ for (int index = 0; index < selectionModeEnum.keyCount(); ++index) {
+ const auto selectionMode = QAbstractItemView::SelectionMode(selectionModeEnum.value(index));
+ const char *selectionModeName = selectionModeEnum.valueToKey(selectionMode);
+ QTest::addRow("%s, %s", viewModeName, selectionModeName) << viewMode << selectionMode;
+ }
+ }
+}
+
+void tst_QListView::scrollOnRemove()
+{
+ QFETCH(QListView::ViewMode, viewMode);
+ QFETCH(QAbstractItemView::SelectionMode, selectionMode);
+
+ QPixmap pixmap;
+ if (viewMode == QListView::IconMode) {
+ pixmap = QPixmap(25, 25);
+ pixmap.fill(Qt::red);
+ }
+
+ QStandardItemModel model;
+ for (int i = 0; i < 50; ++i) {
+ QStandardItem *item = new QStandardItem(QString::number(i));
+ item->setIcon(pixmap);
+ model.appendRow(item);
+ }
+
+ QWidget widget;
+ QListView view(&widget);
+ view.setFixedSize(100, 100);
+ view.setAutoScroll(true);
+ if (viewMode == QListView::IconMode)
+ view.setWrapping(true);
+ view.setModel(&model);
+ view.setSelectionMode(selectionMode);
+ view.setViewMode(viewMode);
+
+ widget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&widget));
+
+ QCOMPARE(view.verticalScrollBar()->value(), 0);
+ const QModelIndex item25 = model.index(25, 0);
+ view.scrollTo(item25);
+ QTRY_VERIFY(view.verticalScrollBar()->value() > 0); // layout and scrolling are delayed
+ const int item25Position = view.verticalScrollBar()->value();
+ // selecting a fully visible item shouldn't scroll
+ view.selectionModel()->setCurrentIndex(item25, QItemSelectionModel::SelectCurrent);
+ QTRY_COMPARE(view.verticalScrollBar()->value(), item25Position);
+
+ // removing the selected item might scroll if another item is selected
+ model.removeRow(25);
+
+ // if nothing is selected now, then the view should not have scrolled
+ if (!view.selectionModel()->selectedIndexes().count())
+ QTRY_COMPARE(view.verticalScrollBar()->value(), item25Position);
+}
+
+
QTEST_MAIN(tst_QListView)
#include "tst_qlistview.moc"
diff --git a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
index 67d8764b61..c7cde7e65a 100644
--- a/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
+++ b/tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp
@@ -33,6 +33,7 @@
#include <QSignalSpy>
#include <QStyledItemDelegate>
#include <QTest>
+#include <QLabel>
#include <private/qlistwidget_p.h>
using IntList = QVector<int>;
@@ -126,6 +127,7 @@ private slots:
void moveRows();
void moveRowsInvalid_data();
void moveRowsInvalid();
+ void noopDragDrop();
protected slots:
void rowsAboutToBeInserted(const QModelIndex &parent, int first, int last)
@@ -1852,6 +1854,58 @@ void tst_QListWidget::QTBUG50891_ensureSelectionModelSignalConnectionsAreSet()
}
+// Test that dropping an item on or beneath itself remains a no-op
+void tst_QListWidget::noopDragDrop() // QTBUG-100128
+{
+ QListWidget listWidget;
+ QList<QListWidgetItem *> items;
+ for (int i = 0; i < 5; ++i) {
+ const QString number = QString::number(i);
+ QListWidgetItem *item = new QListWidgetItem(&listWidget);
+ item->setData(Qt::UserRole, number);
+ QLabel *label = new QLabel(number);
+ listWidget.setItemWidget(item, label);
+ items.append(item);
+ }
+
+ listWidget.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&listWidget));
+
+ const QRect &lastItemRect = listWidget.visualItemRect(items.at(4));
+ const QPoint &dragStart = lastItemRect.center();
+ const QPoint &dropPointNirvana = lastItemRect.center() + QPoint(20, 2 * lastItemRect.height());
+
+ // Implement check as a macro (not a method) to safely determine the error location.
+ // The macro checks that item data and item widget remain unchanged when drag&drop are executed.
+ // In order to verify that the assets do *not* change, we can't use QTRY*: These macros would
+ // spin the event loop only once, while 3/4 mouse events need to get processed.
+ // That's why we spin the event loop 13 times, to make sure other unexpected or pending events
+ // get processed.
+#define CHECK_ITEM {\
+ const QString number = QString::number(4);\
+ for (int i = 0; i < 13; ++i)\
+ QApplication::processEvents();\
+ QLabel *label = qobject_cast<QLabel *>(listWidget.itemWidget(items.at(4)));\
+ QVERIFY(label);\
+ QCOMPARE(label->text(), number);\
+ const QString &data = items.at(4)->data(Qt::UserRole).toString();\
+ QCOMPARE(data, number);\
+ }
+
+ // Test dropping last item beneath itself
+ QTest::mousePress(&listWidget, Qt::LeftButton, Qt::KeyboardModifiers(), dragStart);
+ QTest::mouseMove(&listWidget, dropPointNirvana);
+ QTest::mouseRelease(&listWidget, Qt::LeftButton);
+ CHECK_ITEM;
+
+ // Test dropping last item on itself
+ QTest::mousePress(&listWidget, Qt::LeftButton, Qt::KeyboardModifiers(), dragStart);
+ QTest::mouseMove(&listWidget, dropPointNirvana);
+ QTest::mouseMove(&listWidget, dragStart);
+ QTest::mouseRelease(&listWidget, Qt::LeftButton);
+ CHECK_ITEM;
+}
+
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
void tst_QListWidget::clearItemData()
{
diff --git a/tests/auto/widgets/kernel/qapplication/BLACKLIST b/tests/auto/widgets/kernel/qapplication/BLACKLIST
index cce10602e4..e04cceeea2 100644
--- a/tests/auto/widgets/kernel/qapplication/BLACKLIST
+++ b/tests/auto/widgets/kernel/qapplication/BLACKLIST
@@ -1,5 +1,8 @@
[sendEventsOnProcessEvents]
ubuntu-20.04
+ubuntu-22.04
+rhel-9.0
+sles-15.4
[touchEventPropagation]
# QTBUG-66745
opensuse-leap
diff --git a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
index a3b8ef78d8..60259f6beb 100644
--- a/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
+++ b/tests/auto/widgets/kernel/qapplication/tst_qapplication.cpp
@@ -1498,6 +1498,17 @@ void tst_QApplication::desktopSettingsAware()
environment += QLatin1String("QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM=1");
testProcess.setEnvironment(environment);
#endif
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ int argc = 0;
+ QApplication app(argc, nullptr);
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
testProcess.start("desktopsettingsaware_helper");
QVERIFY2(testProcess.waitForStarted(),
qPrintable(QString::fromLatin1("Cannot start 'desktopsettingsaware_helper': %1").arg(testProcess.errorString())));
@@ -2452,6 +2463,17 @@ void tst_QApplication::qtbug_12673()
#if QT_CONFIG(process)
QProcess testProcess;
QStringList arguments;
+ // Add the executable's directory to path so that we can find the test helper next to it
+ // in a cross-platform way. We must do this because the CWD is not pointing to this directory
+ // in debug-and-release builds.
+ int argc = 0;
+ QApplication app(argc, nullptr);
+ QByteArray path = qgetenv("PATH");
+ qputenv("PATH",
+ path + QDir::listSeparator().toLatin1()
+ + QCoreApplication::applicationDirPath().toLocal8Bit());
+ auto restore = qScopeGuard([&] { qputenv("PATH", path); });
+
testProcess.start("modal_helper", arguments);
QVERIFY2(testProcess.waitForStarted(),
qPrintable(QString::fromLatin1("Cannot start 'modal_helper': %1").arg(testProcess.errorString())));
diff --git a/tests/auto/widgets/kernel/qgesturerecognizer/tst_qgesturerecognizer.cpp b/tests/auto/widgets/kernel/qgesturerecognizer/tst_qgesturerecognizer.cpp
index bcf48c21df..db71e86d7e 100644
--- a/tests/auto/widgets/kernel/qgesturerecognizer/tst_qgesturerecognizer.cpp
+++ b/tests/auto/widgets/kernel/qgesturerecognizer/tst_qgesturerecognizer.cpp
@@ -297,7 +297,7 @@ void tst_QGestureRecognizer::swipeGesture()
// Press point #3
points.append(points.last() + fingerDistance);
- swipeSequence.press(points.size() - 1, points.last(), &widget);
+ swipeSequence.stationary(0).stationary(1).press(points.size() - 1, points.last(), &widget);
swipeSequence.commit();
Q_ASSERT(points.size() == swipePoints);
diff --git a/tests/auto/widgets/kernel/qwidget/BLACKLIST b/tests/auto/widgets/kernel/qwidget/BLACKLIST
index ec38d565e4..a4337d15bc 100644
--- a/tests/auto/widgets/kernel/qwidget/BLACKLIST
+++ b/tests/auto/widgets/kernel/qwidget/BLACKLIST
@@ -8,11 +8,6 @@ b2qt
opensuse-42.3
[restoreVersion1Geometry]
ubuntu-16.04
-[focusProxyAndInputMethods]
-rhel-7.6
-opensuse-leap
-ubuntu
-sles
[raise]
opensuse-leap
# QTBUG-68175
@@ -25,6 +20,8 @@ macos
osx
[optimizedResize_topLevel]
osx
+[render_windowOpacity]
+macos arm
[render_systemClip]
osx
[showMinimizedKeepsFocus]
@@ -42,7 +39,8 @@ sles-15
[windowState]
# QTBUG-75270
winrt
-
+[widgetAt]
+sles-15.4 # QTBUG-112760
[syntheticEnterLeave]
macos # Can't move cursor (QTBUG-76312)
[taskQTBUG_4055_sendSyntheticEnterLeave]
diff --git a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
index 431433c7d6..30e828369c 100644
--- a/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
@@ -186,6 +186,7 @@ private slots:
void defaultTabOrder();
void reverseTabOrder();
void tabOrderWithProxy();
+ void tabOrderWithProxyDisabled();
void tabOrderWithCompoundWidgets();
void tabOrderWithCompoundWidgetsNoFocusPolicy();
void tabOrderNoChange();
@@ -366,6 +367,8 @@ private slots:
void focusWidget_task254563();
void rectOutsideCoordinatesLimit_task144779();
void setGraphicsEffect();
+ void render_graphicsEffect_data();
+ void render_graphicsEffect();
#ifdef QT_BUILD_INTERNAL
void destroyBackingStore();
@@ -376,7 +379,6 @@ private slots:
void openModal_taskQTBUG_5804();
void focusProxy();
- void focusProxyAndInputMethods();
#ifdef QT_BUILD_INTERNAL
void scrollWithoutBackingStore();
#endif
@@ -421,6 +423,8 @@ private slots:
void receivesLanguageChangeEvent();
void deleteWindowInCloseEvent();
+ void activateWhileModalHidden();
+
private:
bool ensureScreenSize(int width, int height);
@@ -2004,6 +2008,57 @@ void tst_QWidget::tabOrderWithProxy()
QVERIFY(firstEdit->hasFocus());
}
+void tst_QWidget::tabOrderWithProxyDisabled()
+{
+ Container container;
+ container.setWindowTitle(QLatin1String(QTest::currentTestFunction()));
+
+ QLineEdit lineEdit1;
+ lineEdit1.setObjectName("lineEdit1");
+
+ QWidget containingWidget;
+ containingWidget.setFocusPolicy(Qt::StrongFocus);
+ auto *containingLayout = new QVBoxLayout;
+ QLineEdit lineEdit2;
+ lineEdit2.setObjectName("lineEdit2");
+ QLineEdit lineEdit3;
+ lineEdit3.setObjectName("lineEdit3");
+ containingLayout->addWidget(&lineEdit2);
+ containingLayout->addWidget(&lineEdit3);
+ containingWidget.setLayout(containingLayout);
+ containingWidget.setFocusProxy(&lineEdit2);
+ lineEdit2.setEnabled(false);
+
+ container.box->addWidget(&lineEdit1);
+ container.box->addWidget(&containingWidget);
+
+ container.show();
+ container.activateWindow();
+
+ QApplication::setActiveWindow(&container);
+ if (!QTest::qWaitForWindowActive(&container))
+ QSKIP("Window failed to activate, skipping test");
+
+ QVERIFY2(lineEdit1.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+ container.tab();
+ QVERIFY2(!lineEdit2.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+ QVERIFY2(lineEdit3.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+ container.tab();
+ QVERIFY2(lineEdit1.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+ container.backTab();
+ QVERIFY2(lineEdit3.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+ container.backTab();
+ QVERIFY2(!lineEdit2.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+ QVERIFY2(lineEdit1.hasFocus(),
+ qPrintable(QApplication::focusWidget()->objectName()));
+}
+
void tst_QWidget::tabOrderWithCompoundWidgets()
{
if (QGuiApplication::platformName().startsWith(QLatin1String("wayland"), Qt::CaseInsensitive))
@@ -10094,6 +10149,157 @@ void tst_QWidget::setGraphicsEffect()
QVERIFY(!blurEffect);
}
+
+class TestGraphicsEffect : public QGraphicsEffect
+{
+public:
+ TestGraphicsEffect(QObject *parent = nullptr)
+ : QGraphicsEffect(parent)
+ {
+ m_pattern = QPixmap(10, 10);
+ m_pattern.fill(Qt::lightGray);
+ QPainter p(&m_pattern);
+ p.fillRect(QRectF(0, 0, 5, 5), QBrush(Qt::darkGray));
+ p.fillRect(QRectF(5, 5, 5, 5), QBrush(Qt::darkGray));
+ }
+ void setExtent(int extent)
+ {
+ m_extent = extent;
+ }
+ QRectF boundingRectFor(const QRectF &sr) const override
+ {
+ return QRectF(sr.x() - m_extent, sr.y() - m_extent,
+ sr.width() + 2 * m_extent, sr.height() + 2 * m_extent);
+ }
+protected:
+ void draw(QPainter *painter) override
+ {
+ QBrush brush;
+ brush.setTexture(m_pattern);
+ brush.setStyle(Qt::TexturePattern);
+ QPaintDevice *p = painter->device();
+ painter->fillRect(QRect(-m_extent, -m_extent,
+ p->width() + m_extent, p->height() + m_extent), brush);
+ }
+ QPixmap m_pattern;
+ int m_extent = 0;
+};
+
+static QImage fillExpected1()
+{
+ QImage expected(QSize(40, 40), QImage::Format_RGB32);
+ QPainter p(&expected);
+ p.fillRect(QRect{{0, 0}, expected.size()}, QBrush(Qt::gray));
+ p.fillRect(QRect(10, 10, 10, 10), QBrush(Qt::red));
+ p.fillRect(QRect(20, 20, 10, 10), QBrush(Qt::blue));
+ return expected;
+}
+static QImage fillExpected2()
+{
+ QImage expected = fillExpected1();
+ QPainter p(&expected);
+ p.fillRect(QRect(10, 10, 5, 5), QBrush(Qt::darkGray));
+ p.fillRect(QRect(15, 15, 5, 5), QBrush(Qt::darkGray));
+ p.fillRect(QRect(15, 10, 5, 5), QBrush(Qt::lightGray));
+ p.fillRect(QRect(10, 15, 5, 5), QBrush(Qt::lightGray));
+ return expected;
+}
+static QImage fillExpected3()
+{
+ QImage expected(QSize(40, 40), QImage::Format_RGB32);
+ QPixmap pattern;
+ pattern = QPixmap(10, 10);
+ pattern.fill(Qt::lightGray);
+ QPainter p(&pattern);
+ p.fillRect(QRectF(0, 0, 5, 5), QBrush(Qt::darkGray));
+ p.fillRect(QRectF(5, 5, 5, 5), QBrush(Qt::darkGray));
+ QBrush brush;
+ brush.setTexture(pattern);
+ brush.setStyle(Qt::TexturePattern);
+ QPainter p2(&expected);
+ p2.fillRect(QRect{{0, 0}, expected.size()}, brush);
+ return expected;
+}
+static QImage fillExpected4()
+{
+ QImage expected = fillExpected1();
+ QPixmap pattern;
+ pattern = QPixmap(10, 10);
+ pattern.fill(Qt::lightGray);
+ QPainter p(&pattern);
+ p.fillRect(QRectF(0, 0, 5, 5), QBrush(Qt::darkGray));
+ p.fillRect(QRectF(5, 5, 5, 5), QBrush(Qt::darkGray));
+ QBrush brush;
+ brush.setTexture(pattern);
+ brush.setStyle(Qt::TexturePattern);
+ QPainter p2(&expected);
+ p2.fillRect(QRect{{15, 15}, QSize{20, 20}}, brush);
+ return expected;
+}
+
+void tst_QWidget::render_graphicsEffect_data()
+{
+ QTest::addColumn<QImage>("expected");
+ QTest::addColumn<bool>("topLevelEffect");
+ QTest::addColumn<bool>("child1Effect");
+ QTest::addColumn<bool>("child2Effect");
+ QTest::addColumn<int>("extent");
+
+ QTest::addRow("no_effect") << fillExpected1() << false << false << false << 0;
+ QTest::addRow("first_child_effect") << fillExpected2() << false << true << false << 0;
+ QTest::addRow("top_level_effect") << fillExpected3() << true << false << false << 0;
+ QTest::addRow("effect_with_extent") << fillExpected4() << false << false << true << 5;
+}
+
+void tst_QWidget::render_graphicsEffect()
+{
+ QFETCH(QImage, expected);
+ QFETCH(bool, topLevelEffect);
+ QFETCH(bool, child1Effect);
+ QFETCH(bool, child2Effect);
+ QFETCH(int, extent);
+
+ QScopedPointer<QWidget> topLevel(new QWidget);
+ topLevel->setPalette(Qt::gray);
+ topLevel->resize(40, 40);
+ topLevel->setWindowTitle(QLatin1String(QTest::currentTestFunction()) + QLatin1String("::")
+ + QLatin1String(QTest::currentDataTag()));
+
+ // Render widget with 2 child widgets
+ QImage image(topLevel->size(), QImage::Format_RGB32);
+ image.fill(QColor(Qt::gray).rgb());
+
+ QPainter painter(&image);
+
+ QWidget *childWidget1(new QWidget(topLevel.data()));
+ childWidget1->setAutoFillBackground(true);
+ childWidget1->setPalette(Qt::red);
+ childWidget1->resize(10, 10);
+ childWidget1->move(10, 10);
+ QWidget *childWidget2(new QWidget(topLevel.data()));
+ childWidget2->setAutoFillBackground(true);
+ childWidget2->setPalette(Qt::blue);
+ childWidget2->resize(10, 10);
+ childWidget2->move(20, 20);
+
+ TestGraphicsEffect *graphicsEffect(new TestGraphicsEffect(topLevel.data()));
+ if (topLevelEffect)
+ topLevel->setGraphicsEffect(graphicsEffect);
+ if (child1Effect)
+ childWidget1->setGraphicsEffect(graphicsEffect);
+ if (child2Effect)
+ childWidget2->setGraphicsEffect(graphicsEffect);
+ graphicsEffect->setExtent(extent);
+
+ // Render without effect
+ topLevel->render(&painter);
+#ifdef RENDER_DEBUG
+ image.save("render_GraphicsEffect" + QTest::currentDataTag() + ".png");
+ expected.save("render_GraphicsEffect_expected" + QTest::currentDataTag() + ".png");
+#endif
+ QCOMPARE(image, expected);
+}
+
void tst_QWidget::activateWindow()
{
if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
@@ -10281,34 +10487,6 @@ void tst_QWidget::focusProxy()
QCOMPARE(container2->focusOutCount, 1);
}
-void tst_QWidget::focusProxyAndInputMethods()
-{
- if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::WindowActivation))
- QSKIP("Window activation is not supported.");
- QScopedPointer<QWidget> toplevel(new QWidget(nullptr, Qt::X11BypassWindowManagerHint));
- toplevel->setWindowTitle(QLatin1String(QTest::currentTestFunction()));
- toplevel->resize(200, 200);
- toplevel->setAttribute(Qt::WA_InputMethodEnabled, true);
-
- QWidget *child = new QWidget(toplevel.data());
- child->setFocusProxy(toplevel.data());
- child->setAttribute(Qt::WA_InputMethodEnabled, true);
-
- toplevel->setFocusPolicy(Qt::WheelFocus);
- child->setFocusPolicy(Qt::WheelFocus);
-
- QVERIFY(!child->hasFocus());
- QVERIFY(!toplevel->hasFocus());
-
- toplevel->show();
- QVERIFY(QTest::qWaitForWindowExposed(toplevel.data()));
- QApplication::setActiveWindow(toplevel.data());
- QVERIFY(QTest::qWaitForWindowActive(toplevel.data()));
- QVERIFY(toplevel->hasFocus());
- QVERIFY(child->hasFocus());
- QCOMPARE(qApp->focusObject(), toplevel.data());
-}
-
#ifdef QT_BUILD_INTERNAL
class scrollWidgetWBS : public QWidget
{
@@ -11803,5 +11981,24 @@ void tst_QWidget::deleteWindowInCloseEvent()
QVERIFY(true);
}
+void tst_QWidget::activateWhileModalHidden()
+{
+ QDialog dialog;
+ dialog.setWindowModality(Qt::ApplicationModal);
+ dialog.show();
+ QVERIFY(QTest::qWaitForWindowActive(&dialog));
+ QVERIFY(dialog.isActiveWindow());
+ QCOMPARE(QApplication::activeWindow(), &dialog);
+
+ dialog.hide();
+ QTRY_VERIFY(!dialog.isVisible());
+
+ QMainWindow window;
+ window.show();
+ QVERIFY(QTest::qWaitForWindowActive(&window));
+ QVERIFY(window.isActiveWindow());
+ QCOMPARE(QApplication::activeWindow(), &window);
+}
+
QTEST_MAIN(tst_QWidget)
#include "tst_qwidget.moc"
diff --git a/tests/auto/widgets/kernel/qwidget_window/BLACKLIST b/tests/auto/widgets/kernel/qwidget_window/BLACKLIST
index 70a7889257..cea1f26e53 100644
--- a/tests/auto/widgets/kernel/qwidget_window/BLACKLIST
+++ b/tests/auto/widgets/kernel/qwidget_window/BLACKLIST
@@ -5,3 +5,10 @@ ubuntu-16.04
[mouseMoveWithPopup]
winrt
+
+[tst_dnd_events]
+sles-15.4 # QTBUG-112760
+
+# QTBUG-96270
+[tst_paintEventOnSecondShow]
+opensuse
diff --git a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
index b11faef30a..586b429338 100644
--- a/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
+++ b/tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
@@ -405,6 +405,7 @@ void tst_QWidget_window::tst_paintEventOnSecondShow()
{
PaintTestWidget w;
w.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&w));
w.hide();
w.paintEventCount = 0;
diff --git a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
index 26868a763c..a527d7c0fc 100644
--- a/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
+++ b/tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
@@ -94,6 +94,7 @@ private slots:
void layoutSpacing();
#endif
void qproperty();
+ void qproperty_styleSheet();
void palettePropagation_data();
void palettePropagation();
void fontPropagation_data();
@@ -127,6 +128,8 @@ private slots:
void QTBUG36933_brokenPseudoClassLookup();
void styleSheetChangeBeforePolish();
void placeholderColor();
+ void enumPropertySelector_data();
+ void enumPropertySelector();
//at the end because it mess with the style.
void widgetStyle();
void appStyle();
@@ -678,6 +681,23 @@ void tst_QStyleSheetStyle::qproperty()
QCOMPARE(pb.isChecked(), false);
}
+void tst_QStyleSheetStyle::qproperty_styleSheet()
+{
+ QWidget w;
+ auto checkBox = new QCheckBox("check", &w);
+ QString sheet = R"(QCheckBox { qproperty-styleSheet: "QCheckBox { qproperty-text: foobar; }"; })";
+
+ QVERIFY(w.property("styleSheet").toString().isEmpty());
+
+ w.setStyleSheet(sheet);
+ QCOMPARE(checkBox->text(), "check");
+
+ //recursion crash
+ w.ensurePolished();
+ QCOMPARE(w.property("styleSheet").toString(), sheet);
+ QCOMPARE(checkBox->text(), "foobar");
+}
+
namespace ns {
class PushButton1 : public QPushButton {
Q_OBJECT
@@ -2238,11 +2258,55 @@ void tst_QStyleSheetStyle::placeholderColor()
QLineEdit le2;
le2.setEnabled(false);
le1.ensurePolished();
- QCOMPARE(le1.palette().placeholderText(), red);
+ QColor phColor = le1.palette().placeholderText().color();
+ QCOMPARE(phColor.rgb(), red.rgb());
+ QVERIFY(phColor.alpha() < red.alpha());
+
le2.ensurePolished();
- QCOMPARE(le2.palette().placeholderText(), red);
+ phColor = le2.palette().placeholderText().color();
+ QCOMPARE(phColor.rgb(), red.rgb());
+ QVERIFY(phColor.alpha() < red.alpha());
+
le2.setEnabled(true);
- QCOMPARE(le2.palette().placeholderText(), red);
+ phColor = le2.palette().placeholderText().color();
+ QCOMPARE(phColor.rgb(), red.rgb());
+ QVERIFY(phColor.alpha() < red.alpha());
+}
+
+void tst_QStyleSheetStyle::enumPropertySelector_data()
+{
+ QTest::addColumn<QString>("styleSheet");
+
+ QTest::addRow("Enum value") << R"(QToolButton[popupMode=MenuButtonPopup] { padding-right: 40px; })";
+ QTest::addRow("Int value") << R"(QToolButton[popupMode="1"] { padding-right: 40px; })";
+}
+
+void tst_QStyleSheetStyle::enumPropertySelector()
+{
+ QFETCH(QString, styleSheet);
+
+ QToolButton button;
+ QMenu menu;
+ menu.addAction("Action1");
+ QPixmap pm(50, 50);
+ pm.fill(Qt::red);
+ button.setIcon(pm);
+ button.setMenu(&menu);
+ button.setPopupMode(QToolButton::MenuButtonPopup);
+
+ button.show();
+ const QSize unstyledSizeHint = button.sizeHint();
+
+ qApp->setStyleSheet(styleSheet);
+ const QSize styledSizeHint = button.sizeHint();
+
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ QEXPECT_FAIL("Enum value", "In Qt 5, style sheet selectors have to use integer enum values", Continue);
+#else
+ QEXPECT_FAIL("Int value", "In Qt 6, style sheet selectors must use the enum value name", Continue);
+#endif
+
+ QVERIFY(styledSizeHint.width() > unstyledSizeHint.width());
}
QTEST_MAIN(tst_QStyleSheetStyle)
diff --git a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
index 89c4a74739..364bc36dff 100644
--- a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
@@ -113,6 +113,8 @@ private slots:
#endif
void fileSystemModel_data();
void fileSystemModel();
+ void fileDialog_data();
+ void fileDialog();
void changingModel_data();
void changingModel();
@@ -695,7 +697,26 @@ void tst_QCompleter::fileSystemModel()
#ifdef Q_OS_WINRT
QSKIP("WinRT cannot access directories outside of the application's sandbox");
#endif
- //QFileSystemModel is assync.
+ //QFileSystemModel is async.
+ filter(true);
+}
+
+/*!
+ In the file dialog, the completer uses the EditRole.
+ See QTBUG-94799
+*/
+void tst_QCompleter::fileDialog_data()
+{
+ fileSystemModel_data();
+ completer->setCompletionRole(Qt::EditRole);
+}
+
+void tst_QCompleter::fileDialog()
+{
+#ifdef Q_OS_WINRT
+ QSKIP("WinRT cannot access directories outside of the application's sandbox");
+#endif
+ //QFileSystemModel is async.
filter(true);
}
diff --git a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
index 01ecfb2ca9..ec1013a078 100644
--- a/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
+++ b/tests/auto/widgets/widgets/qabstractscrollarea/tst_qabstractscrollarea.cpp
@@ -37,6 +37,7 @@
#include <qlabel.h>
#include <qwidget.h>
#include <qdialog.h>
+#include <qscroller.h>
class tst_QAbstractScrollArea : public QObject
{
@@ -57,6 +58,7 @@ private slots:
void task214488_layoutDirection();
void margins();
+ void resizeWithOvershoot();
};
tst_QAbstractScrollArea::tst_QAbstractScrollArea()
@@ -398,5 +400,42 @@ void tst_QAbstractScrollArea::margins()
QCOMPARE(area.viewportMargins(), margins);
}
+void tst_QAbstractScrollArea::resizeWithOvershoot()
+{
+ QWidget window;
+
+ QScrollArea scrollArea(&window);
+ scrollArea.setWidget([]{
+ QWidget *widget = new QWidget;
+ widget->setFixedSize(QSize(0, 200));
+ return widget;
+ }());
+ scrollArea.setGeometry(0, 20, 100, 100);
+
+ QScroller::grabGesture(&scrollArea, QScroller::LeftMouseButtonGesture);
+
+ window.show();
+ QVERIFY(QTest::qWaitForWindowExposed(&window));
+
+ const QPoint originAtRest = scrollArea.viewport()->pos();
+
+ QPoint center = scrollArea.viewport()->mapToGlobal(scrollArea.viewport()->rect().center());
+ center = window.windowHandle()->mapFromGlobal(center);
+ QTest::mousePress(window.windowHandle(), Qt::LeftButton, {}, center);
+ QTest::mouseMove(window.windowHandle(), center + QPoint(0, 50));
+ QTRY_COMPARE(scrollArea.viewport()->pos(), originAtRest + QPoint(0, 25));
+ QPoint overshootPosition = scrollArea.viewport()->pos();
+
+ // trigger a layout of the scroll area while there's overshoot
+ scrollArea.setGeometry(0, 0, 100, 120);
+ QCOMPARE(scrollArea.viewport()->pos(), overshootPosition);
+ QTest::mouseRelease(window.windowHandle(), Qt::LeftButton, {}, center + QPoint(0, 50));
+ QTRY_COMPARE(scrollArea.viewport()->pos(), originAtRest);
+ // Process a few more events and verify that the scroll area
+ // doesn't overcompensate for the overshoot.
+ QApplication::processEvents();
+ QTRY_COMPARE(scrollArea.viewport()->pos(), originAtRest);
+}
+
QTEST_MAIN(tst_QAbstractScrollArea)
#include "tst_qabstractscrollarea.moc"
diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
index 32437050f5..7af60ed757 100644
--- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
@@ -1682,6 +1682,16 @@ void tst_QComboBox::setModel()
QCOMPARE(box.rootModelIndex(), rootModelIndex);
box.setModel(box.model());
QCOMPARE(box.rootModelIndex(), rootModelIndex);
+
+ // check that setting the same model as the completer's doesn't crash
+ QCompleter *completer = new QCompleter(&box);
+ box.setEditable(true);
+ box.setCompleter(completer);
+ auto *listModel = new QStringListModel({ "one", "two" }, completer);
+ completer->setModel(listModel);
+ QCOMPARE(listModel->rowCount(), 2); // make sure it wasn't deleted
+ box.setModel(listModel);
+ QCOMPARE(listModel->rowCount(), 2); // make sure it wasn't deleted
}
void tst_QComboBox::setCustomModelAndView()
diff --git a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
index 456d0d55e0..c670147920 100644
--- a/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
+++ b/tests/auto/widgets/widgets/qdatetimeedit/tst_qdatetimeedit.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -1370,19 +1370,19 @@ void tst_QDateTimeEdit::editingRanged()
QFETCH(QString, userInput);
QFETCH(QDateTime, expected);
- QDateTimeEdit *edit;
+ QScopedPointer<QDateTimeEdit> edit;
if (minTime.isValid()) {
- edit = new QDateTimeEdit;
+ edit.reset(new QDateTimeEdit);
edit->setDisplayFormat("dd.MM.yyyy hh:mm");
edit->setDateTimeRange(QDateTime(minDate, minTime), QDateTime(maxDate, maxTime));
} else {
- edit = new QDateEdit;
+ edit.reset(new QDateEdit);
edit->setDisplayFormat("dd.MM.yyyy");
edit->setDateRange(minDate, maxDate);
}
int callCount = 0;
- connect(edit, &QDateTimeEdit::dateTimeChanged, [&](const QDateTime &dateTime) {
+ connect(edit.get(), &QDateTimeEdit::dateTimeChanged, [&](const QDateTime &dateTime) {
++callCount;
if (minTime.isValid()) {
QVERIFY(dateTime >= QDateTime(minDate, minTime));
@@ -1394,15 +1394,15 @@ void tst_QDateTimeEdit::editingRanged()
});
edit->show();
- QApplication::setActiveWindow(edit);
- if (!QTest::qWaitForWindowActive(edit))
+ QApplication::setActiveWindow(edit.get());
+ if (!QTest::qWaitForWindowActive(edit.get()))
QSKIP("Failed to make window active, aborting");
edit->setFocus();
// with keyboard tracking, never get a signal with an out-of-range value
edit->setKeyboardTracking(true);
- QTest::keyClicks(edit, userInput);
- QTest::keyClick(edit, Qt::Key_Return);
+ QTest::keyClicks(edit.get(), userInput);
+ QTest::keyClick(edit.get(), Qt::Key_Return);
QVERIFY(callCount > 0);
// QDateTimeEdit blocks these dates from being entered - see QTBUG-65
@@ -1418,12 +1418,10 @@ void tst_QDateTimeEdit::editingRanged()
callCount = 0;
edit->setKeyboardTracking(false);
- QTest::keyClicks(edit, userInput);
- QTest::keyClick(edit, Qt::Key_Return);
+ QTest::keyClicks(edit.get(), userInput);
+ QTest::keyClick(edit.get(), Qt::Key_Return);
QCOMPARE(edit->dateTime(), expected);
QCOMPARE(callCount, 1);
-
- delete edit;
}
void tst_QDateTimeEdit::wrappingTime_data()
@@ -3807,7 +3805,6 @@ void tst_QDateTimeEdit::deleteCalendarWidget()
{
{
// setup
- QCalendarWidget *cw = 0;
QDateEdit edit;
QVERIFY(!edit.calendarWidget());
edit.setCalendarPopup(true);
@@ -3815,8 +3812,7 @@ void tst_QDateTimeEdit::deleteCalendarWidget()
edit.calendarWidget()->setObjectName("cw1");;
// delete
- cw = edit.calendarWidget();
- delete cw;
+ delete edit.calendarWidget();
// it should create a new widget
QVERIFY(edit.calendarWidget());
diff --git a/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp b/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp
index 657a1ea55c..c1c0cdaef3 100644
--- a/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp
+++ b/tests/auto/widgets/widgets/qfocusframe/tst_qfocusframe.cpp
@@ -95,7 +95,7 @@ void tst_QFocusFrame::focusFrameInsideScrollview()
window.show();
QFocusFrame *focusFrame = nullptr;
- QTRY_VERIFY(focusFrame = window.findChild<QFocusFrame *>());
+ QTRY_VERIFY((focusFrame = window.findChild<QFocusFrame *>()));
const QPoint initialOffset = focusFrame->widget()->mapToGlobal(QPoint()) - focusFrame->mapToGlobal(QPoint());
tableView.scrollTo(itemModel->index(40, 0));
diff --git a/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp b/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp
index bd3ea5686a..75f595e959 100644
--- a/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp
+++ b/tests/auto/widgets/widgets/qfontcombobox/tst_qfontcombobox.cpp
@@ -261,15 +261,18 @@ void tst_QFontComboBox::writingSystem()
// protected void currentFontChanged(QFont const& f)
void tst_QFontComboBox::currentFontChanged()
{
- SubQFontComboBox box;
- QSignalSpy spy0(&box, SIGNAL(currentFontChanged(QFont)));
+ // The absence of this file does not affect the test results
+ QFontDatabase::addApplicationFont("ArianaVioleta-dz2K.ttf");
+
+ SubQFontComboBox *box = new SubQFontComboBox;
+ QSignalSpy spy0(box, SIGNAL(currentFontChanged(QFont)));
- if (box.model()->rowCount() > 2) {
- QTest::keyPress(&box, Qt::Key_Down);
+ if (box->model()->rowCount() > 2) {
+ QTest::keyPress(box, Qt::Key_Down);
QCOMPARE(spy0.count(), 1);
QFont f( "Sans Serif" );
- box.setCurrentFont(f);
+ box->setCurrentFont(f);
QCOMPARE(spy0.count(), 2);
} else
qWarning("Not enough fonts installed on test system. Consider adding some");
diff --git a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
index 6408df3f11..2f1a095f91 100644
--- a/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp
@@ -292,6 +292,7 @@ private slots:
void clearButtonVisibleAfterSettingText_QTBUG_45518();
void sideWidgets();
void sideWidgetsActionEvents();
+ void sideWidgetsEffectiveMargins();
void shouldShowPlaceholderText_data();
void shouldShowPlaceholderText();
@@ -4646,6 +4647,71 @@ void tst_QLineEdit::sideWidgetsActionEvents()
QCOMPARE(toolButton2->x(), toolButton1X);
}
+/*!
+ Verify that side widgets are positioned correctly and result in
+ correct effective text margins.
+*/
+void tst_QLineEdit::sideWidgetsEffectiveMargins()
+{
+#ifndef QT_BUILD_INTERNAL
+ QSKIP("This test requires a developer build.");
+#else
+ QLineEdit edit;
+ edit.setPlaceholderText("placeholder");
+ edit.setClearButtonEnabled(true);
+ edit.show();
+ QLineEditPrivate *priv = QLineEditPrivate::get(&edit);
+ const auto sideWidgetParameters = priv->sideWidgetParameters();
+ const int sideWidgetWidth = sideWidgetParameters.widgetWidth + sideWidgetParameters.margin;
+ QVERIFY(QTest::qWaitForWindowExposed(&edit));
+
+ QCOMPARE(priv->effectiveTextMargins().left(), 0);
+ QCOMPARE(priv->effectiveTextMargins().right(), 0);
+
+ edit.setText("Left to right"); // clear button fades in on the right
+ QCOMPARE(priv->effectiveTextMargins().left(), 0);
+ QCOMPARE(priv->effectiveTextMargins().right(), sideWidgetWidth);
+ edit.clear();
+ QCOMPARE(priv->effectiveTextMargins().left(), 0);
+ QCOMPARE(priv->effectiveTextMargins().right(), 0);
+
+ edit.setLayoutDirection(Qt::RightToLeft);
+ edit.setText("ئۇيغۇر تىلى"); // clear button fades in on the left
+ QCOMPARE(priv->effectiveTextMargins().left(), sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), 0);
+ edit.clear();
+ QCOMPARE(priv->effectiveTextMargins().left(), 0);
+ QCOMPARE(priv->effectiveTextMargins().right(), 0);
+
+ edit.setLayoutDirection(Qt::LeftToRight);
+
+ const QIcon leftIcon = edit.style()->standardIcon(QStyle::SP_FileIcon);
+ const QIcon rightIcon = edit.style()->standardIcon(QStyle::SP_DirIcon);
+ edit.addAction(leftIcon, QLineEdit::ActionPosition::LeadingPosition);
+ QCOMPARE(priv->effectiveTextMargins().left(), sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), 0);
+
+ edit.addAction(rightIcon, QLineEdit::ActionPosition::TrailingPosition);
+ QCOMPARE(priv->effectiveTextMargins().left(), sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), sideWidgetWidth);
+
+ edit.setText("Left to right"); // clear button on the right
+ QCOMPARE(priv->effectiveTextMargins().left(), sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), 2 * sideWidgetWidth);
+ edit.clear();
+ QCOMPARE(priv->effectiveTextMargins().left(), sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), sideWidgetWidth);
+
+ edit.setLayoutDirection(Qt::RightToLeft);
+ edit.setText("ئۇيغۇر تىلى"); // clear button fades in on the left
+ QCOMPARE(priv->effectiveTextMargins().left(), 2 * sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), sideWidgetWidth);
+ edit.clear();
+ QCOMPARE(priv->effectiveTextMargins().left(), sideWidgetWidth);
+ QCOMPARE(priv->effectiveTextMargins().right(), sideWidgetWidth);
+#endif
+}
+
Q_DECLARE_METATYPE(Qt::AlignmentFlag)
void tst_QLineEdit::shouldShowPlaceholderText_data()
{
@@ -4893,7 +4959,7 @@ void tst_QLineEdit::testQuickSelectionWithMouse()
QVERIFY(lineEdit.selectedText().endsWith(suffix));
QTest::mouseMove(lineEdit.windowHandle(), center + QPoint(20, 0));
qCDebug(lcTests) << "Selected text:" << lineEdit.selectedText();
-#ifdef Q_PROCESSOR_ARM
+#if defined(Q_PROCESSOR_ARM) && !defined(Q_OS_MACOS)
QEXPECT_FAIL("", "Currently fails on gcc-armv7, needs investigation.", Continue);
#endif
QCOMPARE(lineEdit.selectedText(), partialSelection);
diff --git a/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp b/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp
index 01d625d091..6f4431ab92 100644
--- a/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp
+++ b/tests/auto/widgets/widgets/qmainwindow/tst_qmainwindow.cpp
@@ -1349,14 +1349,19 @@ void tst_QMainWindow::restoreState()
dw.setObjectName(QLatin1String("dock"));
mw.addDockWidget(Qt::LeftDockWidgetArea, &dw);
+ QWidgetPrivate *tbp = QWidgetPrivate::get(&tb);
+ QVERIFY(tbp->widgetItem);
+
QByteArray state;
state = mw.saveState();
QVERIFY(mw.restoreState(state));
+ QVERIFY(tbp->widgetItem);
state = mw.saveState(1);
QVERIFY(!mw.restoreState(state));
QVERIFY(mw.restoreState(state, 1));
+ QVERIFY(tbp->widgetItem);
}
//tests the restoration of the previous versions of window settings
diff --git a/tests/auto/widgets/widgets/qmenubar/BLACKLIST b/tests/auto/widgets/widgets/qmenubar/BLACKLIST
index c9e15e531c..4e48ba05d3 100644
--- a/tests/auto/widgets/widgets/qmenubar/BLACKLIST
+++ b/tests/auto/widgets/widgets/qmenubar/BLACKLIST
@@ -2,6 +2,7 @@
ubuntu-16.04
#QTBUG-66255
ubuntu-18.04
+ubuntu-22.04
[activatedCount]
opensuse-42.3
[QTBUG_65488_hiddenActionTriggered]
diff --git a/tests/auto/widgets/widgets/qopenglwidget/BLACKLIST b/tests/auto/widgets/widgets/qopenglwidget/BLACKLIST
index b281eca3bf..6c31a8d1d6 100644
--- a/tests/auto/widgets/widgets/qopenglwidget/BLACKLIST
+++ b/tests/auto/widgets/widgets/qopenglwidget/BLACKLIST
@@ -1,3 +1,4 @@
[stackWidgetOpaqueChildIsVisible]
windows-10 msvc-2017
+sles-15.4 # QTBUG-104241
diff --git a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
index a86784f2ec..64c709d72f 100644
--- a/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
+++ b/tests/auto/widgets/widgets/qplaintextedit/tst_qplaintextedit.cpp
@@ -148,7 +148,7 @@ private slots:
void layoutAfterMultiLineRemove();
void undoCommandRemovesAndReinsertsBlock();
void taskQTBUG_43562_lineCountCrash();
-#ifndef QT_NO_CONTEXTMENU
+#if !defined(QT_NO_CONTEXTMENU) && !defined(QT_NO_CLIPBOARD)
void contextMenu();
#endif
void inputMethodCursorRect();
@@ -1740,7 +1740,7 @@ void tst_QPlainTextEdit::taskQTBUG_43562_lineCountCrash()
disconnect(ed->document(), SIGNAL(contentsChange(int, int, int)), 0, 0);
}
-#ifndef QT_NO_CONTEXTMENU
+#if !defined(QT_NO_CONTEXTMENU) && !defined(QT_NO_CLIPBOARD)
void tst_QPlainTextEdit::contextMenu()
{
ed->appendHtml(QStringLiteral("Hello <a href='http://www.qt.io'>Qt</a>"));
@@ -1774,7 +1774,7 @@ void tst_QPlainTextEdit::contextMenu()
delete menu;
QVERIFY(!ed->findChild<QAction *>(QStringLiteral("link-copy")));
}
-#endif // QT_NO_CONTEXTMENU
+#endif // QT_NO_CONTEXTMENU && QT_NO_CLIPBOARD
// QTBUG-51923: Verify that the cursor rectangle returned by the input
// method query correctly reflects the viewport offset.
diff --git a/tests/auto/widgets/widgets/qscrollarea/tst_qscrollarea.cpp b/tests/auto/widgets/widgets/qscrollarea/tst_qscrollarea.cpp
index 9f08bd337b..d817d84710 100644
--- a/tests/auto/widgets/widgets/qscrollarea/tst_qscrollarea.cpp
+++ b/tests/auto/widgets/widgets/qscrollarea/tst_qscrollarea.cpp
@@ -33,6 +33,7 @@
#include <qdebug.h>
#include <qscrollarea.h>
#include <qlayout.h>
+#include <qscrollbar.h>
class tst_QScrollArea : public QObject
{
@@ -46,6 +47,7 @@ private slots:
void getSetCheck();
void ensureMicroFocusVisible_Task_167838();
void checkHFW_Task_197736();
+ void stableHeightForWidth();
};
tst_QScrollArea::tst_QScrollArea()
@@ -165,5 +167,61 @@ void tst_QScrollArea::checkHFW_Task_197736()
QCOMPARE(w->height(), 200);
}
+
+/*
+ If the scroll area rides the size where, due to the height-for-width
+ implementation of the widget, the vertical scrollbar is needed only
+ if the vertical scrollbar is visible, then we don't want it to flip
+ back and forth, but rather constrain the width of the widget.
+ See QTBUG-92958.
+*/
+void tst_QScrollArea::stableHeightForWidth()
+{
+ struct HeightForWidthWidget : public QWidget
+ {
+ HeightForWidthWidget()
+ {
+ QSizePolicy policy = sizePolicy();
+ policy.setHeightForWidth(true);
+ setSizePolicy(policy);
+ }
+ // Aspect ratio 1:1
+ int heightForWidth(int width) const override { return width; }
+ };
+
+ class HeightForWidthArea : public QScrollArea
+ {
+ public:
+ HeightForWidthArea()
+ {
+ this->verticalScrollBar()->installEventFilter(this);
+ }
+ protected:
+ bool eventFilter(QObject *obj, QEvent *e) override
+ {
+ if (obj == verticalScrollBar() && e->type() == QEvent::Hide)
+ ++m_hideCount;
+ return QScrollArea::eventFilter(obj,e);
+ }
+ public:
+ int m_hideCount = 0;
+ };
+
+ HeightForWidthArea area;
+ HeightForWidthWidget equalWHWidget;
+ area.setWidget(&equalWHWidget);
+ area.setWidgetResizable(true);
+ // at this size, the widget wants to be 501 pixels high,
+ // requiring a vertical scrollbar in a 499 pixel high area.
+ // but the width resulting from showing the scrollbar would
+ // be less than 499, so no scrollbars would be needed anymore.
+ area.resize(501, 499);
+ area.show();
+ QTest::qWait(500);
+ // if the scrollbar got hidden more than once, then the layout
+ // isn't stable.
+ QVERIFY(area.m_hideCount <= 1);
+}
+
QTEST_MAIN(tst_QScrollArea)
#include "tst_qscrollarea.moc"
diff --git a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
index 79a963f532..f04f803ecf 100644
--- a/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
+++ b/tests/auto/widgets/widgets/qtabbar/tst_qtabbar.cpp
@@ -98,6 +98,9 @@ private slots:
void mouseReleaseOutsideTabBar();
+ void scrollButtons_data();
+ void scrollButtons();
+
private:
void checkPositions(const TabBar &tabbar, const QList<int> &positions);
};
@@ -869,5 +872,71 @@ void tst_QTabBar::checkPositions(const TabBar &tabbar, const QList<int> &positio
}
}
+void tst_QTabBar::scrollButtons_data()
+{
+ QTest::addColumn<QTabWidget::TabPosition>("tabPosition");
+ QTest::addColumn<Qt::LayoutDirection>("layoutDirection");
+
+ for (auto ld : {Qt::LeftToRight, Qt::RightToLeft}) {
+ const char *ldStr = ld == Qt::LeftToRight ? "LTR" : "RTL";
+ QTest::addRow("North, %s", ldStr) << QTabWidget::North << ld;
+ QTest::addRow("South, %s", ldStr) << QTabWidget::South << ld;
+ QTest::addRow("West, %s", ldStr) << QTabWidget::West << ld;
+ QTest::addRow("East, %s", ldStr) << QTabWidget::East << ld;
+ }
+}
+
+void tst_QTabBar::scrollButtons()
+{
+ QFETCH(QTabWidget::TabPosition, tabPosition);
+ QFETCH(Qt::LayoutDirection, layoutDirection);
+
+ QWidget window;
+ QTabWidget tabWidget(&window);
+ tabWidget.setLayoutDirection(layoutDirection);
+ tabWidget.setTabPosition(tabPosition);
+ tabWidget.setElideMode(Qt::ElideNone);
+ tabWidget.setUsesScrollButtons(true);
+
+ const int tabCount = 5;
+ for (int i = 0; i < tabCount; ++i)
+ {
+ const QString num = QString::number(i);
+ tabWidget.addTab(new QPushButton(num), num + " - Really long tab name to force arrows");
+ }
+ tabWidget.move(0, 0);
+ tabWidget.resize(tabWidget.minimumSizeHint());
+ window.show();
+ QVERIFY(QTest::qWaitForWindowActive(&window));
+
+ auto *leftB = tabWidget.tabBar()->findChild<QAbstractButton*>(QStringLiteral("ScrollLeftButton"));
+ auto *rightB = tabWidget.tabBar()->findChild<QAbstractButton*>(QStringLiteral("ScrollRightButton"));
+
+ QVERIFY(leftB->isVisible());
+ QVERIFY(!leftB->isEnabled());
+ QVERIFY(rightB->isVisible());
+ QVERIFY(rightB->isEnabled());
+ QVERIFY(!tabWidget.tabBar()->tabRect(1).intersects(tabWidget.tabBar()->rect()));
+
+ int index = 0;
+ for (; index < tabWidget.count(); ++index) {
+ QCOMPARE(leftB->isEnabled(), index > 0);
+ QCOMPARE(rightB->isEnabled(), index < tabWidget.count() - 1);
+ QVERIFY(tabWidget.tabBar()->tabRect(index).intersects(tabWidget.tabBar()->rect()));
+ QCOMPARE(tabWidget.tabBar()->tabAt(tabWidget.tabBar()->rect().center()), index);
+ if (rightB->isEnabled())
+ rightB->click();
+ }
+ for (--index; index >= 0; --index) {
+ QCOMPARE(leftB->isEnabled(), index >= 0);
+ QCOMPARE(rightB->isEnabled(), index < tabWidget.count() - 1);
+
+ QVERIFY(tabWidget.tabBar()->tabRect(index).intersects(tabWidget.tabBar()->rect()));
+ if (leftB->isEnabled())
+ leftB->click();
+ }
+ QVERIFY(!leftB->isEnabled());
+}
+
QTEST_MAIN(tst_QTabBar)
#include "tst_qtabbar.moc"
diff --git a/tests/auto/xml/dom/qdom/tst_qdom.cpp b/tests/auto/xml/dom/qdom/tst_qdom.cpp
index 1a26376456..3a947f4bff 100644
--- a/tests/auto/xml/dom/qdom/tst_qdom.cpp
+++ b/tests/auto/xml/dom/qdom/tst_qdom.cpp
@@ -34,6 +34,7 @@
#include <QFile>
#include <QList>
#include <QRegExp>
+#include <QScopeGuard>
#include <QTextStream>
#include <QtTest/QtTest>
#include <QtXml>
@@ -85,6 +86,7 @@ private slots:
void invalidQualifiedName();
void invalidCharData_data();
void invalidCharData();
+ void nonBMPCharacters();
void roundTripAttributes() const;
void normalizeEndOfLine() const;
@@ -116,6 +118,8 @@ private slots:
void cloneDTD_QTBUG8398() const;
void DTDNotationDecl();
void DTDEntityDecl();
+ void DTDInternalSubset() const;
+ void DTDInternalSubset_data() const;
void QTBUG49113_dontCrashWithNegativeIndex() const;
void cleanupTestCase() const;
@@ -1392,6 +1396,10 @@ void tst_QDom::invalidCharData_data()
QTest::newRow( "f<o&o" ) << QString("f<o&o") << true << true << true << QString("f<o&o");
QTest::newRow( "empty" ) << QString() << true << true << true << QString();
QTest::newRow("f\\x07o\\x02")<< QString("f\x07o\x02")<< true << true << false << QString("fo");
+
+ const QChar pair[2] = { QChar(0xdc00), QChar(0xe000) };
+ QString invalid(pair, 2);
+ QTest::newRow("\\xdc00\\xe000") << invalid << true << true << false << invalid.right(1);
}
void tst_QDom::invalidCharData()
@@ -1435,6 +1443,22 @@ void tst_QDom::invalidCharData()
}
}
+void tst_QDom::nonBMPCharacters()
+{
+ const auto invalidDataPolicy = QDomImplementation::invalidDataPolicy();
+ auto resetInvalidDataPolicy = qScopeGuard(
+ [invalidDataPolicy] { QDomImplementation::setInvalidDataPolicy(invalidDataPolicy); });
+ QDomImplementation::setInvalidDataPolicy(QDomImplementation::DropInvalidChars);
+
+ const QString input = QStringLiteral("<text>Supplementary Plane: ð„ž ðŸ˜‚ 🀄 🀶 🃪 🃋</text>");
+
+ QString errorMsg;
+ QDomDocument doc;
+ doc.setContent(input, &errorMsg);
+ QVERIFY(errorMsg.isEmpty());
+ QCOMPARE(doc.toString(-1), input);
+}
+
void tst_QDom::roundTripAttributes() const
{
/* Create an attribute via the QDom API with weird whitespace content. */
@@ -2114,5 +2138,69 @@ void tst_QDom::QTBUG49113_dontCrashWithNegativeIndex() const
QVERIFY(node.isNull());
}
+void tst_QDom::DTDInternalSubset() const
+{
+ QFETCH( QString, doc );
+ QFETCH( QString, internalSubset );
+ QXmlStreamReader reader(doc);
+ QDomDocument document;
+ QVERIFY(document.setContent(&reader, true));
+
+ QCOMPARE(document.doctype().internalSubset(), internalSubset);
+}
+
+void tst_QDom::DTDInternalSubset_data() const
+{
+ QTest::addColumn<QString>("doc");
+ QTest::addColumn<QString>("internalSubset");
+
+ QTest::newRow("data1") << "<?xml version='1.0'?>\n"
+ "<!DOCTYPE note SYSTEM '/[abcd].dtd'>\n"
+ "<note/>\n"
+ << "" ;
+
+ QTest::newRow("data2") << "<?xml version='1.0'?>\n"
+ "<!DOCTYPE note PUBLIC '-/freedesktop' 'https://[abcd].dtd'>\n"
+ "<note/>\n"
+ << "" ;
+
+ const QString internalSubset0(
+ "<!-- open brackets comment [ -->\n"
+ "<!-- colse brackets comment ] -->\n"
+ );
+ QTest::newRow("data3") << "<?xml version='1.0'?>\n"
+ "<!DOCTYPE note ["
+ + internalSubset0 +
+ "]>\n"
+ "<note/>\n"
+ << internalSubset0;
+
+ const QString internalSubset1(
+ "<!ENTITY obra '['>\n"
+ "<!ENTITY cbra ']'>\n"
+ );
+ QTest::newRow("data4") << "<?xml version='1.0'?>\n"
+ "<!DOCTYPE note ["
+ + internalSubset1 +
+ "]>\n"
+ "<note/>\n"
+ << internalSubset1;
+
+ QTest::newRow("data5") << "<?xml version='1.0'?>\n"
+ "<!DOCTYPE note PUBLIC '-/freedesktop' 'https://[abcd].dtd' ["
+ + internalSubset0
+ + "]>\n"
+ "<note/>\n"
+ << internalSubset0;
+
+ QTest::newRow("data6") << "<?xml version='1.0'?>\n"
+ "<!DOCTYPE note PUBLIC '-/freedesktop' "
+ "'2001:db8:130F:0000:0000:09C0:876A:130B://[abcd].dtd' ["
+ + internalSubset0
+ + "]>\n"
+ "<note/>\n"
+ << internalSubset0;
+}
+
QTEST_MAIN(tst_QDom)
#include "tst_qdom.moc"
diff --git a/tests/benchmarks/corelib/io/qdiriterator/main.cpp b/tests/benchmarks/corelib/io/qdiriterator/main.cpp
index eae752d99a..0bbe755f4e 100644
--- a/tests/benchmarks/corelib/io/qdiriterator/main.cpp
+++ b/tests/benchmarks/corelib/io/qdiriterator/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -57,24 +57,23 @@ private slots:
void data();
};
-
void tst_qdiriterator::data()
{
-#if defined(Q_OS_WIN)
- const char *qtdir = "C:\\depot\\qt\\main";
-#else
- const char *qtdir = ::getenv("QTDIR");
-#endif
- if (!qtdir) {
- fprintf(stderr, "QTDIR not set\n");
- exit(1);
- }
+ const char hereRelative[] = "tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro";
+ QString proname = QTest::qFindTestData(QStringLiteral("qdiriterator.pro"));
+ // qDebug("Source pro: %s", proname.toLocal8Bit().constData());
+ // Size chopped counts the '\0', making up for the omitted leading '/':
+ QByteArray dir(QStringRef(&proname).chopped(sizeof(hereRelative)).toLocal8Bit());
+ // qDebug("Root dir: %s", dir.constData());
QTest::addColumn<QByteArray>("dirpath");
- QByteArray ba = QByteArray(qtdir) + "/src/corelib";
- QByteArray ba1 = ba + "/io";
- QTest::newRow(ba) << ba;
- //QTest::newRow(ba1) << ba1;
+ const QByteArray ba = dir + "/src/corelib";
+
+ if (!QFileInfo(QString::fromLocal8Bit(ba)).isDir())
+ QSKIP("Missing Qt directory");
+
+ QTest::newRow("corelib") << ba;
+ QTest::newRow("corelib/io") << (ba + "/io");
}
#ifdef Q_OS_WIN
diff --git a/tests/benchmarks/corelib/io/qfile/main.cpp b/tests/benchmarks/corelib/io/qfile/main.cpp
index 1966b30773..eca2f642b1 100644
--- a/tests/benchmarks/corelib/io/qfile/main.cpp
+++ b/tests/benchmarks/corelib/io/qfile/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -108,72 +108,110 @@ private slots:
void readBigFile_Win32();
private:
- void readBigFile_data(BenchmarkType type, QIODevice::OpenModeFlag t, QIODevice::OpenModeFlag b);
+ void readFile_data(BenchmarkType type, QIODevice::OpenModeFlag t, QIODevice::OpenModeFlag b);
void readBigFile();
- void readSmallFiles_data(BenchmarkType type, QIODevice::OpenModeFlag t, QIODevice::OpenModeFlag b);
void readSmallFiles();
- void createFile();
- void fillFile(int factor=FACTOR);
- void removeFile();
- void createSmallFiles();
- void removeSmallFiles();
- QString filename;
- QString tmpDirName;
+
+ class TestDataDir : public QTemporaryDir
+ {
+ void createFile();
+ void createSmallFiles();
+ public:
+ TestDataDir() : QTemporaryDir(), fail(errorString().toLocal8Bit())
+ {
+ if (fail.isEmpty() && !QTemporaryDir::isValid())
+ fail = "Failed to create temporary directory for data";
+ if (isValid())
+ createSmallFiles();
+ if (isValid())
+ createFile();
+ if (isValid())
+ QTest::qSleep(2000); // let IO settle
+ }
+ bool isValid() { return QTemporaryDir::isValid() && fail.isEmpty(); }
+ QByteArray fail;
+ QString filename;
+ } tempDir;
};
Q_DECLARE_METATYPE(tst_qfile::BenchmarkType)
Q_DECLARE_METATYPE(QIODevice::OpenMode)
Q_DECLARE_METATYPE(QIODevice::OpenModeFlag)
-void tst_qfile::createFile()
+/* None of the tests modify the test data in tempDir, so it's OK to only create
+ * and tear down the directory once.
+ */
+void tst_qfile::TestDataDir::createFile()
{
- removeFile(); // Cleanup in case previous test case aborted before cleaning up
-
- QTemporaryFile tmpFile;
- tmpFile.setAutoRemove(false);
- if (!tmpFile.open())
- ::exit(1);
+ QFile tmpFile(filePath("testFile"));
+ if (!tmpFile.open(QIODevice::WriteOnly)) {
+ fail = "Unable to prepare files for test";
+ return;
+ }
+#if 0 // Varied data, rather than filling with '\0' bytes:
+ for (int row = 0; row < FACTOR; ++row) {
+ tmpFile.write(QByteArray().fill('0' + row % ('0' - 'z'), 80));
+ tmpFile.write("\n");
+ }
+#else
+ tmpFile.seek(FACTOR * 80);
+ tmpFile.putChar('\n');
+#endif
filename = tmpFile.fileName();
tmpFile.close();
}
-void tst_qfile::removeFile()
+void tst_qfile::TestDataDir::createSmallFiles()
{
- if (!filename.isEmpty())
- QFile::remove(filename);
+ for (int i = 0; i < 1000; ++i) {
+ QFile f(filePath(QString::number(i)));
+ if (!f.open(QIODevice::WriteOnly)) {
+ fail = "Unable to prepare small files for test";
+ return;
+ }
+ f.seek(511);
+ f.putChar('\n');
+ f.close();
+ }
}
-void tst_qfile::fillFile(int factor)
+void tst_qfile::initTestCase()
{
- QFile tmpFile(filename);
- tmpFile.open(QIODevice::WriteOnly);
- //for (int row=0; row<factor; ++row) {
- // tmpFile.write(QByteArray().fill('0'+row%('0'-'z'), 80));
- // tmpFile.write("\n");
- //}
- tmpFile.seek(factor*80);
- tmpFile.putChar('\n');
- tmpFile.close();
- // let IO settle
- QTest::qSleep(2000);
+ QVERIFY2(tempDir.isValid(), tempDir.fail.constData());
}
-void tst_qfile::initTestCase()
+void tst_qfile::cleanupTestCase()
{
}
-void tst_qfile::cleanupTestCase()
+void tst_qfile::readFile_data(BenchmarkType type, QIODevice::OpenModeFlag t,
+ QIODevice::OpenModeFlag b)
{
+ QTest::addColumn<tst_qfile::BenchmarkType>("testType");
+ QTest::addColumn<int>("blockSize");
+ QTest::addColumn<QFile::OpenModeFlag>("textMode");
+ QTest::addColumn<QFile::OpenModeFlag>("bufferedMode");
+
+ QByteArray flagstring;
+ if (t & QIODevice::Text)
+ flagstring += "textMode ";
+ if (b & QIODevice::Unbuffered)
+ flagstring += "unbuffered ";
+ if (flagstring.isEmpty())
+ flagstring = "none";
+
+ const int kbs[] = {1, 2, 8, 16, 32, 512};
+ for (int kb : kbs) {
+ const int size = 1024 * kb;
+ QTest::addRow("BS: %d, Flags: %s", size, flagstring.constData())
+ << type << size << t << b;
+ }
}
void tst_qfile::readBigFile_QFile() { readBigFile(); }
void tst_qfile::readBigFile_QFSFileEngine()
{
-#ifdef QT_BUILD_INTERNAL
readBigFile();
-#else
- QSKIP("This test requires -developer-build.");
-#endif
}
void tst_qfile::readBigFile_posix()
{
@@ -183,54 +221,36 @@ void tst_qfile::readBigFile_Win32() { readBigFile(); }
void tst_qfile::readBigFile_QFile_data()
{
- readBigFile_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
- readBigFile_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
- readBigFile_data(QFileBenchmark, QIODevice::Text, QIODevice::NotOpen);
- readBigFile_data(QFileBenchmark, QIODevice::Text, QIODevice::Unbuffered);
+ readFile_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
+ readFile_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
+ readFile_data(QFileBenchmark, QIODevice::Text, QIODevice::NotOpen);
+ readFile_data(QFileBenchmark, QIODevice::Text, QIODevice::Unbuffered);
}
void tst_qfile::readBigFile_QFSFileEngine_data()
{
#ifdef QT_BUILD_INTERNAL
- readBigFile_data(QFSFileEngineBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
- readBigFile_data(QFSFileEngineBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
- readBigFile_data(QFSFileEngineBenchmark, QIODevice::Text, QIODevice::NotOpen);
- readBigFile_data(QFSFileEngineBenchmark, QIODevice::Text, QIODevice::Unbuffered);
+ // Support for buffering dropped at 5.10, so only test Unbuffered
+ readFile_data(QFSFileEngineBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
+ readFile_data(QFSFileEngineBenchmark, QIODevice::Text, QIODevice::Unbuffered);
#else
- QTest::addColumn<int>("dummy");
- QTest::newRow("Test will be skipped") << -1;
+ QSKIP("This test requires -developer-build.");
#endif
}
void tst_qfile::readBigFile_posix_data()
{
- readBigFile_data(PosixBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
+ readFile_data(PosixBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
}
void tst_qfile::readBigFile_Win32_data()
{
- readBigFile_data(Win32Benchmark, QIODevice::NotOpen, QIODevice::NotOpen);
-}
-
-
-void tst_qfile::readBigFile_data(BenchmarkType type, QIODevice::OpenModeFlag t, QIODevice::OpenModeFlag b)
-{
- QTest::addColumn<tst_qfile::BenchmarkType>("testType");
- QTest::addColumn<int>("blockSize");
- QTest::addColumn<QFile::OpenModeFlag>("textMode");
- QTest::addColumn<QFile::OpenModeFlag>("bufferedMode");
-
- const int bs[] = {1024, 1024*2, 1024*8, 1024*16, 1024*32,1024*512};
- int bs_entries = sizeof(bs)/sizeof(const int);
-
- QString flagstring;
- if (t & QIODevice::Text) flagstring += "textMode ";
- if (b & QIODevice::Unbuffered) flagstring += "unbuffered ";
- if (flagstring.isEmpty()) flagstring = "none";
-
- for (int i=0; i<bs_entries; ++i)
- QTest::newRow((QString("BS: %1, Flags: %2" )).arg(bs[i]).arg(flagstring).toLatin1().constData()) << type << bs[i] << t << b;
+#ifdef Q_OS_WIN
+ readFile_data(Win32Benchmark, QIODevice::NotOpen, QIODevice::NotOpen);
+#else
+ QSKIP("This is Windows only benchmark.");
+#endif
}
void tst_qfile::readBigFile()
@@ -240,18 +260,10 @@ void tst_qfile::readBigFile()
QFETCH(QFile::OpenModeFlag, textMode);
QFETCH(QFile::OpenModeFlag, bufferedMode);
-#ifndef Q_OS_WIN
- if (testType == Win32Benchmark)
- QSKIP("This is Windows only benchmark.");
-#endif
-
- char *buffer = new char[BUFSIZE];
- createFile();
- fillFile();
-
+ char buffer[BUFSIZE];
switch (testType) {
case(QFileBenchmark): {
- QFile file(filename);
+ QFile file(tempDir.filename);
file.open(QIODevice::ReadOnly|textMode|bufferedMode);
QBENCHMARK {
while(!file.atEnd())
@@ -263,7 +275,7 @@ void tst_qfile::readBigFile()
break;
#ifdef QT_BUILD_INTERNAL
case(QFSFileEngineBenchmark): {
- QFSFileEngine fse(filename);
+ QFSFileEngine fse(tempDir.filename);
fse.open(QIODevice::ReadOnly|textMode|bufferedMode);
QBENCHMARK {
//qWarning() << fse.supportsExtension(QAbstractFileEngine::AtEndExtension);
@@ -275,7 +287,7 @@ void tst_qfile::readBigFile()
break;
#endif
case(PosixBenchmark): {
- QByteArray data = filename.toLocal8Bit();
+ QByteArray data = tempDir.filename.toLocal8Bit();
const char* cfilename = data.constData();
FILE* cfile = ::fopen(cfilename, "rb");
QBENCHMARK {
@@ -295,7 +307,7 @@ void tst_qfile::readBigFile()
HANDLE hndl;
// ensure we don't account string conversion
- wchar_t* cfilename = (wchar_t*)filename.utf16();
+ const wchar_t *cfilename = reinterpret_cast<const wchar_t *>(tempDir.filename.utf16());
#ifndef Q_OS_WINRT
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
@@ -325,9 +337,6 @@ void tst_qfile::readBigFile()
}
break;
}
-
- removeFile();
- delete[] buffer;
}
void tst_qfile::seek_data()
@@ -348,12 +357,9 @@ void tst_qfile::seek()
QFETCH(tst_qfile::BenchmarkType, testType);
int i = 0;
- createFile();
- fillFile();
-
switch (testType) {
case(QFileBenchmark): {
- QFile file(filename);
+ QFile file(tempDir.filename);
file.open(QIODevice::ReadOnly);
QBENCHMARK {
i=(i+1)%sp_size;
@@ -364,8 +370,8 @@ void tst_qfile::seek()
break;
#ifdef QT_BUILD_INTERNAL
case(QFSFileEngineBenchmark): {
- QFSFileEngine fse(filename);
- fse.open(QIODevice::ReadOnly);
+ QFSFileEngine fse(tempDir.filename);
+ fse.open(QIODevice::ReadOnly | QIODevice::Unbuffered);
QBENCHMARK {
i=(i+1)%sp_size;
fse.seek(seekpos[i]);
@@ -375,7 +381,7 @@ void tst_qfile::seek()
break;
#endif
case(PosixBenchmark): {
- QByteArray data = filename.toLocal8Bit();
+ QByteArray data = tempDir.filename.toLocal8Bit();
const char* cfilename = data.constData();
FILE* cfile = ::fopen(cfilename, "rb");
QBENCHMARK {
@@ -394,7 +400,7 @@ void tst_qfile::seek()
HANDLE hndl;
// ensure we don't account string conversion
- wchar_t* cfilename = (wchar_t*)filename.utf16();
+ const wchar_t *cfilename = reinterpret_cast<const wchar_t *>(tempDir.filename.utf16());
#ifndef Q_OS_WINRT
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
@@ -413,13 +419,11 @@ void tst_qfile::seek()
}
CloseHandle(hndl);
#else
- QFAIL("Not running on a Windows plattform!");
+ QFAIL("Not running on a Windows platform!");
#endif
}
break;
}
-
- removeFile();
}
void tst_qfile::open_data()
@@ -440,13 +444,11 @@ void tst_qfile::open()
{
QFETCH(tst_qfile::BenchmarkType, testType);
- createFile();
-
switch (testType) {
case(QFileBenchmark): {
QBENCHMARK {
- QFile file( filename );
- file.open( QIODevice::ReadOnly );
+ QFile file(tempDir.filename);
+ file.open(QIODevice::ReadOnly);
file.close();
}
}
@@ -454,8 +456,8 @@ void tst_qfile::open()
#ifdef QT_BUILD_INTERNAL
case(QFSFileEngineBenchmark): {
QBENCHMARK {
- QFSFileEngine fse(filename);
- fse.open(QIODevice::ReadOnly);
+ QFSFileEngine fse(tempDir.filename);
+ fse.open(QIODevice::ReadOnly | QIODevice::Unbuffered);
fse.close();
}
}
@@ -463,7 +465,7 @@ void tst_qfile::open()
#endif
case(PosixBenchmark): {
// ensure we don't account toLocal8Bit()
- QByteArray data = filename.toLocal8Bit();
+ QByteArray data = tempDir.filename.toLocal8Bit();
const char* cfilename = data.constData();
QBENCHMARK {
@@ -474,7 +476,7 @@ void tst_qfile::open()
break;
case(QFileFromPosixBenchmark): {
// ensure we don't account toLocal8Bit()
- QByteArray data = filename.toLocal8Bit();
+ QByteArray data = tempDir.filename.toLocal8Bit();
const char* cfilename = data.constData();
FILE* cfile = ::fopen(cfilename, "rb");
@@ -491,7 +493,7 @@ void tst_qfile::open()
HANDLE hndl;
// ensure we don't account string conversion
- wchar_t* cfilename = (wchar_t*)filename.utf16();
+ const wchar_t *cfilename = reinterpret_cast<const wchar_t *>(tempDir.filename.utf16());
QBENCHMARK {
#ifndef Q_OS_WINRT
@@ -508,19 +510,13 @@ void tst_qfile::open()
}
break;
}
-
- removeFile();
}
void tst_qfile::readSmallFiles_QFile() { readSmallFiles(); }
void tst_qfile::readSmallFiles_QFSFileEngine()
{
-#ifdef QT_BUILD_INTERNAL
readSmallFiles();
-#else
- QSKIP("This test requires -developer-build.");
-#endif
}
void tst_qfile::readSmallFiles_posix()
{
@@ -533,82 +529,39 @@ void tst_qfile::readSmallFiles_Win32()
void tst_qfile::readSmallFiles_QFile_data()
{
- readSmallFiles_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
- readSmallFiles_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
- readSmallFiles_data(QFileBenchmark, QIODevice::Text, QIODevice::NotOpen);
- readSmallFiles_data(QFileBenchmark, QIODevice::Text, QIODevice::Unbuffered);
+ readFile_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
+ readFile_data(QFileBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
+ readFile_data(QFileBenchmark, QIODevice::Text, QIODevice::NotOpen);
+ readFile_data(QFileBenchmark, QIODevice::Text, QIODevice::Unbuffered);
}
void tst_qfile::readSmallFiles_QFSFileEngine_data()
{
#ifdef QT_BUILD_INTERNAL
- readSmallFiles_data(QFSFileEngineBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
- readSmallFiles_data(QFSFileEngineBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
- readSmallFiles_data(QFSFileEngineBenchmark, QIODevice::Text, QIODevice::NotOpen);
- readSmallFiles_data(QFSFileEngineBenchmark, QIODevice::Text, QIODevice::Unbuffered);
+ // Support for buffering dropped at 5.10, so only test Unbuffered
+ readFile_data(QFSFileEngineBenchmark, QIODevice::NotOpen, QIODevice::Unbuffered);
+ readFile_data(QFSFileEngineBenchmark, QIODevice::Text, QIODevice::Unbuffered);
#else
- QTest::addColumn<int>("dummy");
- QTest::newRow("Test will be skipped") << -1;
+ QSKIP("This test requires -developer-build.");
#endif
}
void tst_qfile::readSmallFiles_posix_data()
{
- readSmallFiles_data(PosixBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
+ readFile_data(PosixBenchmark, QIODevice::NotOpen, QIODevice::NotOpen);
}
void tst_qfile::readSmallFiles_Win32_data()
{
- readSmallFiles_data(Win32Benchmark, QIODevice::NotOpen, QIODevice::NotOpen);
-}
-
-
-void tst_qfile::readSmallFiles_data(BenchmarkType type, QIODevice::OpenModeFlag t, QIODevice::OpenModeFlag b)
-{
- QTest::addColumn<tst_qfile::BenchmarkType>("testType");
- QTest::addColumn<int>("blockSize");
- QTest::addColumn<QFile::OpenModeFlag>("textMode");
- QTest::addColumn<QFile::OpenModeFlag>("bufferedMode");
-
- const int bs[] = {1024, 1024*2, 1024*8, 1024*16, 1024*32,1024*512};
- int bs_entries = sizeof(bs)/sizeof(const int);
-
- QString flagstring;
- if (t & QIODevice::Text) flagstring += "textMode ";
- if (b & QIODevice::Unbuffered) flagstring += "unbuffered ";
- if (flagstring.isEmpty()) flagstring = "none";
-
- for (int i=0; i<bs_entries; ++i)
- QTest::newRow((QString("BS: %1, Flags: %2" )).arg(bs[i]).arg(flagstring).toLatin1().constData()) << type << bs[i] << t << b;
-
-}
-
-void tst_qfile::createSmallFiles()
-{
- QDir dir = QDir::temp();
- dir.mkdir("tst");
- dir.cd("tst");
- tmpDirName = dir.absolutePath();
-
- for (int i = 0; i < 1000; ++i) {
- QFile f(tmpDirName + QLatin1Char('/') + QString::number(i));
- f.open(QIODevice::WriteOnly);
- f.seek(511);
- f.putChar('\n');
- f.close();
- }
-}
-void tst_qfile::removeSmallFiles()
-{
- QDirIterator it(tmpDirName, QDirIterator::FollowSymlinks);
- while (it.hasNext())
- QFile::remove(it.next());
- QDir::temp().rmdir("tst");
+#ifdef Q_OS_WIN
+ readFile_data(Win32Benchmark, QIODevice::NotOpen, QIODevice::NotOpen);
+#else
+ QSKIP("This is Windows only benchmark.");
+#endif
}
-
void tst_qfile::readSmallFiles()
{
QFETCH(tst_qfile::BenchmarkType, testType);
@@ -616,22 +569,15 @@ void tst_qfile::readSmallFiles()
QFETCH(QFile::OpenModeFlag, textMode);
QFETCH(QFile::OpenModeFlag, bufferedMode);
-#ifndef Q_OS_WIN
- if (testType == Win32Benchmark)
- QSKIP("This is Windows only benchmark.");
-#endif
-
- createSmallFiles();
-
- QDir dir(tmpDirName);
+ QDir dir(tempDir.path());
const QStringList files = dir.entryList(QDir::NoDotAndDotDot|QDir::NoSymLinks|QDir::Files);
- char *buffer = new char[BUFSIZE];
+ char buffer[BUFSIZE];
switch (testType) {
case(QFileBenchmark): {
QList<QFile*> fileList;
Q_FOREACH(QString file, files) {
- QFile *f = new QFile(tmpDirName + QLatin1Char('/') + file);
+ QFile *f = new QFile(tempDir.filePath(file));
f->open(QIODevice::ReadOnly|textMode|bufferedMode);
fileList.append(f);
}
@@ -654,7 +600,7 @@ void tst_qfile::readSmallFiles()
case(QFSFileEngineBenchmark): {
QList<QFSFileEngine*> fileList;
Q_FOREACH(QString file, files) {
- QFSFileEngine *fse = new QFSFileEngine(tmpDirName + QLatin1Char('/') + file);
+ QFSFileEngine *fse = new QFSFileEngine(tempDir.filePath(file));
fse->open(QIODevice::ReadOnly|textMode|bufferedMode);
fileList.append(fse);
}
@@ -675,7 +621,7 @@ void tst_qfile::readSmallFiles()
case(PosixBenchmark): {
QList<FILE*> fileList;
Q_FOREACH(QString file, files) {
- fileList.append(::fopen(QFile::encodeName(tmpDirName + QLatin1Char('/') + file).constData(), "rb"));
+ fileList.append(::fopen(QFile::encodeName(tempDir.filePath(file)).constData(), "rb"));
}
QBENCHMARK {
@@ -700,7 +646,7 @@ void tst_qfile::readSmallFiles()
HANDLE hndl;
// ensure we don't account string conversion
- wchar_t* cfilename = (wchar_t*)filename.utf16();
+ const wchar_t *cfilename = reinterpret_cast<const wchar_t *>(tempDir.filename.utf16());
#ifndef Q_OS_WINRT
hndl = CreateFile(cfilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
@@ -723,9 +669,6 @@ void tst_qfile::readSmallFiles()
}
break;
}
-
- removeSmallFiles();
- delete[] buffer;
}
QTEST_MAIN(tst_qfile)
diff --git a/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro b/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro
index 1f56ad6ee6..89fea90d90 100644
--- a/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro
+++ b/tests/benchmarks/corelib/io/qprocess/testProcessLoopback/testProcessLoopback.pro
@@ -1,4 +1,3 @@
-CONFIG += benchmark
CONFIG -= qt
CONFIG += cmdline
winrt: QMAKE_LFLAGS += /ENTRY:mainCRTStartup
diff --git a/tests/benchmarks/corelib/io/qprocess/tst_bench_qprocess.cpp b/tests/benchmarks/corelib/io/qprocess/tst_bench_qprocess.cpp
index 1fd3b9d5da..6cf7529d55 100644
--- a/tests/benchmarks/corelib/io/qprocess/tst_bench_qprocess.cpp
+++ b/tests/benchmarks/corelib/io/qprocess/tst_bench_qprocess.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2020 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -39,10 +39,16 @@ private slots:
void echoTest_performance();
};
+#ifdef Q_OS_WIN
+# define EXE ".exe"
+#else
+# define EXE ""
+#endif
+
void tst_QProcess::echoTest_performance()
{
QProcess process;
- process.start("testProcessLoopback/testProcessLoopback");
+ process.start(QFINDTESTDATA("testProcessLoopback/testProcessLoopback" EXE), QStringList());
QByteArray array;
array.resize(1024 * 1024);
diff --git a/tests/benchmarks/corelib/text/qlocale/main.cpp b/tests/benchmarks/corelib/text/qlocale/main.cpp
index 38d94af143..c7bd37a2d3 100644
--- a/tests/benchmarks/corelib/text/qlocale/main.cpp
+++ b/tests/benchmarks/corelib/text/qlocale/main.cpp
@@ -28,6 +28,7 @@
#include <QLocale>
#include <QTest>
+#include <limits>
class tst_QLocale : public QObject
{
@@ -37,6 +38,12 @@ private Q_SLOTS:
void toUpper_QLocale_1();
void toUpper_QLocale_2();
void toUpper_QString();
+ void toLongLong_data();
+ void toLongLong();
+ void toULongLong_data();
+ void toULongLong();
+ void toDouble_data();
+ void toDouble();
};
static QString data()
@@ -65,6 +72,271 @@ void tst_QLocale::toUpper_QString()
QBENCHMARK { LOOP(s.toUpper()) }
}
+template <typename Integer>
+void toWholeCommon_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<QString>("locale");
+ QTest::addColumn<bool>("good");
+ QTest::addColumn<Integer>("expected");
+
+ QTest::newRow("C: empty")
+ << QStringLiteral("") << QStringLiteral("C") << false << Integer(0ull);
+ QTest::newRow("C: 0") << QStringLiteral("0") << QStringLiteral("C") << true << Integer(0ull);
+ QTest::newRow("C: 1234")
+ << QStringLiteral("1234") << QStringLiteral("C") << true << Integer(1234ull);
+ // C locale omits grouping, but doesn't reject it.
+ QTest::newRow("C: 1,234")
+ << QStringLiteral("1,234") << QStringLiteral("C") << true << Integer(1234ull);
+ QTest::newRow("C: 123456789")
+ << QStringLiteral("123456789") << QStringLiteral("C") << true << Integer(123456789ull);
+ QTest::newRow("C: 123,456,789")
+ << QStringLiteral("123,456,789")
+ << QStringLiteral("C") << true << Integer(123456789ull);
+
+ QTest::newRow("en: empty")
+ << QStringLiteral("") << QStringLiteral("en") << false << Integer(0ull);
+ QTest::newRow("en: 0")
+ << QStringLiteral("0") << QStringLiteral("en") << true << Integer(0ull);
+ QTest::newRow("en: 1234")
+ << QStringLiteral("1234") << QStringLiteral("en") << true << Integer(1234ull);
+ QTest::newRow("en: 1,234")
+ << QStringLiteral("1,234") << QStringLiteral("en") << true << Integer(1234ull);
+ QTest::newRow("en: 123,456,789")
+ << QStringLiteral("123,456,789")
+ << QStringLiteral("en") << true << Integer(123456789ull);
+ QTest::newRow("en: 123456789")
+ << QStringLiteral("123456789") << QStringLiteral("en") << true << Integer(123456789ull);
+
+ QTest::newRow("de: empty")
+ << QStringLiteral("") << QStringLiteral("de") << false << Integer(0ull);
+ QTest::newRow("de: 0") << QStringLiteral("0") << QStringLiteral("de") << true << Integer(0ull);
+ QTest::newRow("de: 1234")
+ << QStringLiteral("1234") << QStringLiteral("de") << true << Integer(1234ull);
+ QTest::newRow("de: 1.234")
+ << QStringLiteral("1.234") << QStringLiteral("de") << true << Integer(1234ull);
+ QTest::newRow("de: 123.456.789")
+ << QStringLiteral("123.456.789")
+ << QStringLiteral("de") << true << Integer(123456789ull);
+ QTest::newRow("de: 123456789")
+ << QStringLiteral("123456789") << QStringLiteral("de") << true << Integer(123456789ull);
+
+ // Locales with non-single-character signs:
+ QTest::newRow("ar_EG: +403") // Arabic, Egypt
+ << QStringLiteral("\u061c+\u0664\u0660\u0663")
+ << QStringLiteral("ar_EG") << true << Integer(403ull);
+ QTest::newRow("ar_EG: !403") // Only first character of the sign
+ << QStringLiteral("\u061c\u0664\u0660\u0663")
+ << QStringLiteral("ar_EG") << false << Integer(0ull);
+ QTest::newRow("fa_IR: +403") // Farsi, Iran
+ << QStringLiteral("\u200e+\u06f4\u06f0\u06f3")
+ << QStringLiteral("fa_IR") << true << Integer(403ull);
+ QTest::newRow("fa_IR: !403") // Only first character of sign
+ << QStringLiteral("\u200e\u06f4\u06f0\u06f3")
+ << QStringLiteral("fa_IR") << false << Integer(0ull);
+}
+
+void tst_QLocale::toLongLong_data()
+{
+ toWholeCommon_data<qlonglong>();
+
+ QTest::newRow("C: -1234") << QStringLiteral("-1234") << QStringLiteral("C") << true << -1234ll;
+ QTest::newRow("C: -123456789")
+ << QStringLiteral("-123456789") << QStringLiteral("C") << true << -123456789ll;
+ QTest::newRow("C: qlonglong-max")
+ << QStringLiteral("9223372036854775807") << QStringLiteral("C") << true
+ << std::numeric_limits<qlonglong>::max();
+ QTest::newRow("C: qlonglong-min")
+ << QStringLiteral("-9223372036854775808") << QStringLiteral("C") << true
+ << std::numeric_limits<qlonglong>::min();
+
+ // Locales with multi-character signs:
+ QTest::newRow("ar_EG: -403") // Arabic, Egypt
+ << QStringLiteral("\u061c-\u0664\u0660\u0663")
+ << QStringLiteral("ar_EG") << true << -403ll;
+ QTest::newRow("fa_IR: -403") // Farsi, Iran
+ << QStringLiteral("\u200e\u2212\u06f4\u06f0\u06f3")
+ << QStringLiteral("fa_IR") << true << -403ll;
+}
+
+void tst_QLocale::toLongLong()
+{
+ QFETCH(QString, text);
+ QFETCH(QString, locale);
+ QFETCH(bool, good);
+ QFETCH(qlonglong, expected);
+
+ const QLocale loc(locale);
+ qlonglong actual = expected;
+ bool ok = false;
+ QBENCHMARK {
+ actual = loc.toLongLong(text, &ok);
+ }
+ QEXPECT_FAIL("ar_EG: +403", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("ar_EG: -403", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("fa_IR: +403", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("fa_IR: -403", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QCOMPARE(ok, good);
+ QCOMPARE(actual, expected);
+}
+
+void tst_QLocale::toULongLong_data()
+{
+ toWholeCommon_data<qulonglong>();
+
+ QTest::newRow("C: qlonglong-max + 1")
+ << QStringLiteral("9223372036854775808") << QStringLiteral("C") << true
+ << (qulonglong(std::numeric_limits<qlonglong>::max()) + 1);
+ QTest::newRow("C: qulonglong-max")
+ << QStringLiteral("18446744073709551615") << QStringLiteral("C") << true
+ << std::numeric_limits<qulonglong>::max();
+}
+
+void tst_QLocale::toULongLong()
+{
+ QFETCH(QString, text);
+ QFETCH(QString, locale);
+ QFETCH(bool, good);
+ QFETCH(qulonglong, expected);
+
+ const QLocale loc(locale);
+ qulonglong actual = expected;
+ bool ok = false;
+ QBENCHMARK {
+ actual = loc.toULongLong(text, &ok);
+ }
+ QEXPECT_FAIL("ar_EG: +403", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("fa_IR: +403", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QCOMPARE(ok, good);
+ QCOMPARE(actual, expected);
+}
+
+
+void tst_QLocale::toDouble_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<QString>("locale");
+ QTest::addColumn<bool>("good");
+ QTest::addColumn<double>("expected");
+
+ QTest::newRow("C: empty") << QStringLiteral("") << QStringLiteral("C") << false << 0.0;
+ QTest::newRow("C: 0") << QStringLiteral("0") << QStringLiteral("C") << true << 0.0;
+ QTest::newRow("C: 0.12340")
+ << QStringLiteral("0.12340") << QStringLiteral("C") << true << 0.12340;
+ QTest::newRow("C: -0.12340")
+ << QStringLiteral("-0.12340") << QStringLiteral("C") << true << -0.12340;
+ QTest::newRow("C: &minus;0.12340")
+ << QStringLiteral("\u2212" "0.12340") << QStringLiteral("C") << true << -0.12340;
+ QTest::newRow("C: 1.0e-4") << QStringLiteral("1.0e-4") << QStringLiteral("C") << true << 1.0e-4;
+ QTest::newRow("C: 1.0e&minus;4")
+ << QStringLiteral("1.0e\u2212" "4") << QStringLiteral("C") << true << 1.0e-4;
+ QTest::newRow("C: 1.0e+4") << QStringLiteral("1.0e+4") << QStringLiteral("C") << true << 1.0e+4;
+ QTest::newRow("C: 10.e+3") << QStringLiteral("10.e+3") << QStringLiteral("C") << true << 1.0e+4;
+ QTest::newRow("C: 10e+3.")
+ << QStringLiteral("10e+3.") << QStringLiteral("C") << false << 0.0; // exp...dot
+ QTest::newRow("C: 1e4") << QStringLiteral("1e4") << QStringLiteral("C") << true << 1.0e+4;
+
+ // NaN and infinity:
+ QTest::newRow("C: nan") << QStringLiteral("nan") << QStringLiteral("C") << true << qQNaN();
+ QTest::newRow("C: NaN") << QStringLiteral("NaN") << QStringLiteral("C") << true << qQNaN();
+ QTest::newRow("C: -nan") << QStringLiteral("-nan") << QStringLiteral("C") << false << 0.0;
+ QTest::newRow("C: +nan") << QStringLiteral("+nan") << QStringLiteral("C") << false << 0.0;
+ QTest::newRow("C: inf") << QStringLiteral("inf") << QStringLiteral("C") << true << qInf();
+ QTest::newRow("C: Inf") << QStringLiteral("Inf") << QStringLiteral("C") << true << qInf();
+ QTest::newRow("C: +inf") << QStringLiteral("+inf") << QStringLiteral("C") << true << qInf();
+ QTest::newRow("C: -inf") << QStringLiteral("-inf") << QStringLiteral("C") << true << -qInf();
+
+ // Wantonly long-form representations, with trailing and leading zeros:
+ QTest::newRow("C: 1e-64 long-form")
+ << (QStringLiteral("0.") + QString(63, u'0') + u'1' + QString(962, u'0'))
+ << QStringLiteral("C") << true << 1e-64;
+ QTest::newRow("C: 1e+64 long-form")
+ << (QString(961, u'0') + u'1' + QString(64, u'0') + QStringLiteral(".0"))
+ << QStringLiteral("C") << true << 1e+64;
+ QTest::newRow("C: long-form 1 via e+64")
+ << (QStringLiteral("0.") + QString(63, u'0') + u'1' + QString(962, u'0')
+ + QStringLiteral("e+64"))
+ << QStringLiteral("C") << true << 1.0;
+ QTest::newRow("C: long-form 1 via e-64")
+ << (QString(961, u'0') + u'1' + QString(64, u'0') + QStringLiteral(".0e-64"))
+ << QStringLiteral("C") << true << 1.0;
+ QTest::newRow("C: 12345678.9")
+ << QStringLiteral("12345678.9") << QStringLiteral("C") << true << 12345678.9;
+
+ // With and without grouping, en vs de for flipped separators:
+ QTest::newRow("en: 12345678.9")
+ << QStringLiteral("12345678.9") << QStringLiteral("en") << true << 12345678.9;
+ QTest::newRow("en: 12,345,678.9")
+ << QStringLiteral("12,345,678.9") << QStringLiteral("en") << true << 12345678.9;
+ QTest::newRow("de: 12345678,9")
+ << QStringLiteral("12345678,9") << QStringLiteral("de") << true << 12345678.9;
+ QTest::newRow("de: 12.345.678,9")
+ << QStringLiteral("12.345.678,9") << QStringLiteral("de") << true << 12345678.9;
+
+ // NaN and infinity are locale-independent (for now - QTBUG-95460)
+ QTest::newRow("cy: nan") << QStringLiteral("nan") << QStringLiteral("cy") << true << qQNaN();
+ QTest::newRow("cy: NaN") << QStringLiteral("NaN") << QStringLiteral("cy") << true << qQNaN();
+ QTest::newRow("cy: -nan") << QStringLiteral("-nan") << QStringLiteral("cy") << false << 0.0;
+ QTest::newRow("cy: +nan") << QStringLiteral("+nan") << QStringLiteral("cy") << false << 0.0;
+ QTest::newRow("cy: inf") << QStringLiteral("inf") << QStringLiteral("cy") << true << qInf();
+ QTest::newRow("cy: Inf") << QStringLiteral("Inf") << QStringLiteral("cy") << true << qInf();
+ QTest::newRow("cy: +inf") << QStringLiteral("+inf") << QStringLiteral("cy") << true << qInf();
+ QTest::newRow("cy: -inf") << QStringLiteral("-inf") << QStringLiteral("cy") << true << -qInf();
+ // Samples ready for QTBUG-95460:
+ QTest::newRow("en: &infin;")
+ << QStringLiteral("\u221e") << QStringLiteral("en") << true << qInf();
+ QTest::newRow("ga: Nuimh")
+ << QStringLiteral("Nuimh") << QStringLiteral("ga") << true << qQNaN();
+
+ // Locales with multi-character exponents:
+ QTest::newRow("sv_SE: 4e-3") // Swedish, Sweden
+ << QStringLiteral("4\u00d7" "10^\u2212" "03")
+ << QStringLiteral("sv_SE") << true << 4e-3;
+ QTest::newRow("sv_SE: 4x-3") // Only first character of exponent
+ << QStringLiteral("4\u00d7\u2212" "03")
+ << QStringLiteral("sv_SE") << false << 0.0;
+ QTest::newRow("se_NO: 4e-3") // Northern Sami, Norway
+ << QStringLiteral("4\u00b7" "10^\u2212" "03")
+ << QStringLiteral("se_NO") << true << 4e-3;
+ QTest::newRow("se_NO: 4x-3") // Only first character of exponent
+ << QStringLiteral("4\u00b7\u2212" "03")
+ << QStringLiteral("se_NO") << false << 0.0;
+ QTest::newRow("ar_EG: 4e-3") // Arabic, Egypt
+ << QStringLiteral("\u0664\u0627\u0633\u061c-\u0660\u0663")
+ << QStringLiteral("ar_EG") << true << 4e-3;
+ QTest::newRow("ar_EG: 4x-3") // Only first character of exponent
+ << QStringLiteral("\u0664\u0627\u061c-\u0660\u0663")
+ << QStringLiteral("ar_EG") << false << 0.0;
+ QTest::newRow("ar_EG: 4e!3") // Only first character of sign
+ << QStringLiteral("\u0664\u0627\u0633\u061c\u0660\u0663")
+ << QStringLiteral("ar_EG") << false << 0.0;
+ QTest::newRow("ar_EG: 4x!3") // Only first character of sign and exponent
+ << QStringLiteral("\u0664\u0627\u061c\u0660\u0663")
+ << QStringLiteral("ar_EG") << false << 0.0;
+}
+
+void tst_QLocale::toDouble()
+{
+ QFETCH(QString, text);
+ QFETCH(QString, locale);
+ QFETCH(bool, good);
+ QFETCH(double, expected);
+
+ const QLocale loc(locale);
+ double actual = expected;
+ bool ok = false;
+ QBENCHMARK {
+ actual = loc.toDouble(text, &ok);
+ }
+ QEXPECT_FAIL("sv_SE: 4e-3", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("se_NO: 4e-3", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("ar_EG: 4e-3", "Code wrongly assumes single character, QTBUG-107801", Abort);
+ QEXPECT_FAIL("en: &infin;", "Localized infinity support missing: QTBUG-95460", Abort);
+ QEXPECT_FAIL("ga: Nuimh", "Localized NaN support missing: QTBUG-95460", Abort);
+ QCOMPARE(ok, good);
+ QCOMPARE(actual, expected);
+}
+
QTEST_MAIN(tst_QLocale)
#include "main.moc"
diff --git a/tests/benchmarks/corelib/text/qstring/main.cpp b/tests/benchmarks/corelib/text/qstring/main.cpp
index 826a843c10..1c7c3d690e 100644
--- a/tests/benchmarks/corelib/text/qstring/main.cpp
+++ b/tests/benchmarks/corelib/text/qstring/main.cpp
@@ -28,6 +28,7 @@
#include <QStringList>
#include <QFile>
#include <QtTest/QtTest>
+#include <limits>
class tst_QString: public QObject
{
@@ -49,6 +50,14 @@ private slots:
void toCaseFolded_data();
void toCaseFolded();
+ // Parsing:
+ void toLongLong_data();
+ void toLongLong();
+ void toULongLong_data();
+ void toULongLong();
+ void toDouble_data();
+ void toDouble();
+
private:
void section_data_impl(bool includeRegExOnly = true);
template <typename RX> void section_impl();
@@ -188,6 +197,155 @@ void tst_QString::toCaseFolded()
}
}
+template <typename Integer>
+void toWholeCommon_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<int>("base");
+ QTest::addColumn<bool>("good");
+ QTest::addColumn<Integer>("expected");
+
+ QTest::newRow("empty") << QStringLiteral("") << 10 << false << Integer(0ull);
+ QTest::newRow("0") << QStringLiteral("0") << 10 << true << Integer(0ull);
+ QTest::newRow("1234") << QStringLiteral("1234") << 10 << true << Integer(1234ull);
+ QTest::newRow("1,234") << QStringLiteral("1,234") << 10 << false << Integer(0ull);
+ QTest::newRow("123456789")
+ << QStringLiteral("123456789") << 10 << true << Integer(123456789ull);
+ QTest::newRow("bad1dea, base 16")
+ << QStringLiteral("bad1dea") << 16 << true << Integer(0xBAD1DEAull);
+ QTest::newRow("bad1dea, base 10") << QStringLiteral("bad1dea") << 10 << false << Integer(0ull);
+ QTest::newRow("42, base 13") << QStringLiteral("42") << 13 << true << Integer(6ull * 9ull);
+ QTest::newRow("242, base 8") << QStringLiteral("242") << 8 << true << Integer(0242ull);
+ QTest::newRow("495, base 8") << QStringLiteral("495") << 8 << false << Integer(0ull);
+ QTest::newRow("101101, base 2")
+ << QStringLiteral("101101") << 2 << true << Integer(0b101101ull);
+ QTest::newRow("ad, base 30") << QStringLiteral("ad") << 30 << true << Integer(313ull);
+}
+
+void tst_QString::toLongLong_data()
+{
+ toWholeCommon_data<qlonglong>();
+
+ QTest::newRow("-1234") << QStringLiteral("-1234") << 10 << true << -1234ll;
+ QTest::newRow("-123456789") << QStringLiteral("-123456789") << 10 << true << -123456789ll;
+ QTest::newRow("-bad1dea, base 16") << QStringLiteral("-bad1dea") << 16 << true << -0xBAD1DEAll;
+ QTest::newRow("-242, base 8") << QStringLiteral("-242") << 8 << true << -0242ll;
+ QTest::newRow("-101101, base 2") << QStringLiteral("-101101") << 2 << true << -0b101101ll;
+ QTest::newRow("-ad, base 30") << QStringLiteral("-ad") << 30 << true << -313ll;
+
+ QTest::newRow("qlonglong-max")
+ << QStringLiteral("9223372036854775807") << 10 << true
+ << std::numeric_limits<qlonglong>::max();
+ QTest::newRow("qlonglong-min")
+ << QStringLiteral("-9223372036854775808") << 10 << true
+ << std::numeric_limits<qlonglong>::min();
+ QTest::newRow("qlonglong-max, base 2")
+ << QString(63, u'1') << 2 << true << std::numeric_limits<qlonglong>::max();
+ QTest::newRow("qlonglong-min, base 2")
+ << (QStringLiteral("-1") + QString(63, u'0')) << 2 << true
+ << std::numeric_limits<qlonglong>::min();
+ QTest::newRow("qlonglong-max, base 16")
+ << (QChar(u'7') + QString(15, u'f')) << 16 << true
+ << std::numeric_limits<qlonglong>::max();
+ QTest::newRow("qlonglong-min, base 16")
+ << (QStringLiteral("-8") + QString(15, u'0')) << 16 << true
+ << std::numeric_limits<qlonglong>::min();
+}
+
+void tst_QString::toLongLong()
+{
+ QFETCH(QString, text);
+ QFETCH(int, base);
+ QFETCH(bool, good);
+ QFETCH(qlonglong, expected);
+
+ qlonglong actual = expected;
+ bool ok = false;
+ QBENCHMARK {
+ actual = text.toLongLong(&ok, base);
+ }
+ QCOMPARE(ok, good);
+ QCOMPARE(actual, expected);
+}
+
+void tst_QString::toULongLong_data()
+{
+ toWholeCommon_data<qulonglong>();
+
+ QTest::newRow("qlonglong-max + 1")
+ << QStringLiteral("9223372036854775808") << 10 << true
+ << (qulonglong(std::numeric_limits<qlonglong>::max()) + 1);
+ QTest::newRow("qulonglong-max")
+ << QStringLiteral("18446744073709551615") << 10 << true
+ << std::numeric_limits<qulonglong>::max();
+ QTest::newRow("qulonglong-max, base 2")
+ << QString(64, u'1') << 2 << true << std::numeric_limits<qulonglong>::max();
+ QTest::newRow("qulonglong-max, base 16")
+ << QString(16, u'f') << 16 << true << std::numeric_limits<qulonglong>::max();
+}
+
+void tst_QString::toULongLong()
+{
+ QFETCH(QString, text);
+ QFETCH(int, base);
+ QFETCH(bool, good);
+ QFETCH(qulonglong, expected);
+
+ qulonglong actual = expected;
+ bool ok = false;
+ QBENCHMARK {
+ actual = text.toULongLong(&ok, base);
+ }
+ QCOMPARE(ok, good);
+ QCOMPARE(actual, expected);
+}
+
+void tst_QString::toDouble_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<bool>("good");
+ QTest::addColumn<double>("expected");
+
+ QTest::newRow("empty") << QStringLiteral("") << false << 0.0;
+ QTest::newRow("0") << QStringLiteral("0") << true << 0.0;
+ QTest::newRow("0.12340") << QStringLiteral("0.12340") << true << 0.12340;
+ QTest::newRow("-0.12340") << QStringLiteral("-0.12340") << true << -0.12340;
+ QTest::newRow("epsilon")
+ << QStringLiteral("2.220446049e-16") << true << std::numeric_limits<double>::epsilon();
+ QTest::newRow("1.0e-4") << QStringLiteral("1.0e-4") << true << 1.0e-4;
+ QTest::newRow("1.0e+4") << QStringLiteral("1.0e+4") << true << 1.0e+4;
+ QTest::newRow("10.e+3") << QStringLiteral("10.e+3") << true << 1.0e+4;
+ QTest::newRow("10e+3.") << QStringLiteral("10e+3.") << false << 0.0;
+ QTest::newRow("1e4") << QStringLiteral("1e4") << true << 1.0e+4;
+ QTest::newRow("1.0e-8") << QStringLiteral("1.0e-8") << true << 1.0e-8;
+ QTest::newRow("1.0e+8") << QStringLiteral("1.0e+8") << true << 1.0e+8;
+
+ // NaN and infinity:
+ QTest::newRow("nan") << QStringLiteral("nan") << true << qQNaN();
+ QTest::newRow("NaN") << QStringLiteral("NaN") << true << qQNaN();
+ QTest::newRow("-nan") << QStringLiteral("-nan") << false << 0.0;
+ QTest::newRow("+nan") << QStringLiteral("+nan") << false << 0.0;
+ QTest::newRow("inf") << QStringLiteral("inf") << true << qInf();
+ QTest::newRow("Inf") << QStringLiteral("Inf") << true << qInf();
+ QTest::newRow("+inf") << QStringLiteral("+inf") << true << qInf();
+ QTest::newRow("-inf") << QStringLiteral("-inf") << true << -qInf();
+}
+
+void tst_QString::toDouble()
+{
+ QFETCH(QString, text);
+ QFETCH(bool, good);
+ QFETCH(double, expected);
+
+ double actual = expected;
+ bool ok = false;
+ QBENCHMARK {
+ actual = text.toDouble(&ok);
+ }
+ QCOMPARE(ok, good);
+ QCOMPARE(actual, expected);
+}
+
QTEST_APPLESS_MAIN(tst_QString)
#include "main.moc"
diff --git a/tests/benchmarks/corelib/time/qdatetime/main.cpp b/tests/benchmarks/corelib/time/qdatetime/main.cpp
index 740e08cc46..14e7c43a99 100644
--- a/tests/benchmarks/corelib/time/qdatetime/main.cpp
+++ b/tests/benchmarks/corelib/time/qdatetime/main.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
@@ -36,24 +36,12 @@ class tst_QDateTime : public QObject
{
Q_OBJECT
- enum : qint64
- {
- SECS_PER_DAY = 86400,
- MSECS_PER_DAY = 86400000,
- JULIAN_DAY_1950 = 2433283,
- JULIAN_DAY_1960 = 2436935,
- JULIAN_DAY_1970 = 2440588, // Epoch
- JULIAN_DAY_2010 = 2455198,
- JULIAN_DAY_2011 = 2455563,
- JULIAN_DAY_2020 = 2458850,
- JULIAN_DAY_2050 = 2469808,
- JULIAN_DAY_2060 = 2473460
- };
-
static QVector<QDateTime> daily(qint64 start, qint64 end);
static QVector<QDateTime> norse(qint64 start, qint64 end);
+ void decade_data();
private Q_SLOTS:
+ void create_data() { decade_data(); }
void create();
void isNull();
void isValid();
@@ -62,12 +50,10 @@ private Q_SLOTS:
void timeSpec();
void offsetFromUtc();
void timeZoneAbbreviation();
+ void toMSecsSinceEpoch_data() { decade_data(); }
void toMSecsSinceEpoch();
- void toMSecsSinceEpoch1950();
- void toMSecsSinceEpoch2050();
+ void toMSecsSinceEpochTz_data() { decade_data(); }
void toMSecsSinceEpochTz();
- void toMSecsSinceEpoch1950Tz();
- void toMSecsSinceEpoch2050Tz();
void setDate();
void setTime();
void setTimeSpec();
@@ -102,6 +88,33 @@ private Q_SLOTS:
void fromMSecsSinceEpochTz();
};
+constexpr qint64 SECS_PER_DAY = 86400;
+constexpr qint64 MSECS_PER_DAY = 86400000;
+constexpr qint64 JULIAN_DAY_1 = 1721426;
+constexpr qint64 JULIAN_DAY_11 = 1725078;
+constexpr qint64 JULIAN_DAY_1890 = 2411369;
+constexpr qint64 JULIAN_DAY_1900 = 2415021;
+constexpr qint64 JULIAN_DAY_1950 = 2433283;
+constexpr qint64 JULIAN_DAY_1960 = 2436935;
+constexpr qint64 JULIAN_DAY_1970 = 2440588; // Epoch
+constexpr qint64 JULIAN_DAY_2010 = 2455198;
+constexpr qint64 JULIAN_DAY_2011 = 2455563;
+constexpr qint64 JULIAN_DAY_2020 = 2458850;
+constexpr qint64 JULIAN_DAY_2050 = 2469808;
+constexpr qint64 JULIAN_DAY_2060 = 2473460;
+
+void tst_QDateTime::decade_data()
+{
+ QTest::addColumn<qint64>("startJd");
+ QTest::addColumn<qint64>("stopJd");
+
+ QTest::newRow("first-decade-CE") << JULIAN_DAY_1 << JULIAN_DAY_11;
+ QTest::newRow("1890s") << JULIAN_DAY_1890 << JULIAN_DAY_1900;
+ QTest::newRow("1950s") << JULIAN_DAY_1950 << JULIAN_DAY_1960;
+ QTest::newRow("2010s") << JULIAN_DAY_2010 << JULIAN_DAY_2020;
+ QTest::newRow("2050s") << JULIAN_DAY_2050 << JULIAN_DAY_2060;
+}
+
QVector<QDateTime> tst_QDateTime::daily(qint64 start, qint64 end)
{
QVector<QDateTime> list;
@@ -123,9 +136,12 @@ QVector<QDateTime> tst_QDateTime::norse(qint64 start, qint64 end)
void tst_QDateTime::create()
{
+ QFETCH(const qint64, startJd);
+ QFETCH(const qint64, stopJd);
+ const QTime noon = QTime::fromMSecsSinceStartOfDay(43200);
QBENCHMARK {
- for (int jd = JULIAN_DAY_2010; jd < JULIAN_DAY_2020; ++jd) {
- QDateTime test(QDate::fromJulianDay(jd), QTime::fromMSecsSinceStartOfDay(0));
+ for (int jd = startJd; jd < stopJd; ++jd) {
+ QDateTime test(QDate::fromJulianDay(jd), noon);
Q_UNUSED(test)
}
}
@@ -196,25 +212,9 @@ void tst_QDateTime::timeZoneAbbreviation()
void tst_QDateTime::toMSecsSinceEpoch()
{
- const auto list = daily(JULIAN_DAY_2010, JULIAN_DAY_2020);
- QBENCHMARK {
- for (const QDateTime &test : list)
- test.toMSecsSinceEpoch();
- }
-}
-
-void tst_QDateTime::toMSecsSinceEpoch1950()
-{
- const auto list = daily(JULIAN_DAY_1950, JULIAN_DAY_1960);
- QBENCHMARK {
- for (const QDateTime &test : list)
- test.toMSecsSinceEpoch();
- }
-}
-
-void tst_QDateTime::toMSecsSinceEpoch2050()
-{
- const auto list = daily(JULIAN_DAY_2050, JULIAN_DAY_2060);
+ QFETCH(const qint64, startJd);
+ QFETCH(const qint64, stopJd);
+ const auto list = daily(startJd, stopJd);
QBENCHMARK {
for (const QDateTime &test : list)
test.toMSecsSinceEpoch();
@@ -223,30 +223,11 @@ void tst_QDateTime::toMSecsSinceEpoch2050()
void tst_QDateTime::toMSecsSinceEpochTz()
{
- qint64 result;
- const auto list = norse(JULIAN_DAY_2010, JULIAN_DAY_2020);
- QBENCHMARK {
- for (const QDateTime &test : list)
- result = test.toMSecsSinceEpoch();
- }
- Q_UNUSED(result);
-}
-
-void tst_QDateTime::toMSecsSinceEpoch1950Tz()
-{
- qint64 result;
- const auto list = norse(JULIAN_DAY_1950, JULIAN_DAY_1960);
- QBENCHMARK {
- for (const QDateTime &test : list)
- result = test.toMSecsSinceEpoch();
- }
- Q_UNUSED(result);
-}
+ QFETCH(const qint64, startJd);
+ QFETCH(const qint64, stopJd);
+ const auto list = norse(startJd, stopJd);
-void tst_QDateTime::toMSecsSinceEpoch2050Tz()
-{
qint64 result;
- const auto list = norse(JULIAN_DAY_2050, JULIAN_DAY_2060);
QBENCHMARK {
for (const QDateTime &test : list)
result = test.toMSecsSinceEpoch();
diff --git a/tests/benchmarks/corelib/tools/qcryptographichash/main.cpp b/tests/benchmarks/corelib/tools/qcryptographichash/main.cpp
index 1d414161d1..a29c409a44 100644
--- a/tests/benchmarks/corelib/tools/qcryptographichash/main.cpp
+++ b/tests/benchmarks/corelib/tools/qcryptographichash/main.cpp
@@ -1,5 +1,6 @@
/****************************************************************************
**
+** Copyright (C) 2023 The Qt Company Ltd.
** Copyright (C) 2017 Intel Corporation.
** Contact: https://www.qt.io/licensing/
**
@@ -29,10 +30,15 @@
#include <QByteArray>
#include <QCryptographicHash>
#include <QFile>
+#include <QMetaEnum>
+#include <QMessageAuthenticationCode>
#include <QRandomGenerator>
#include <QString>
#include <QtTest>
+#include <functional>
+#include <numeric>
+
#include <time.h>
class tst_bench_QCryptographicHash : public QObject
@@ -40,6 +46,8 @@ class tst_bench_QCryptographicHash : public QObject
Q_OBJECT
QByteArray blockOfData;
+ using Algorithm = QCryptographicHash::Algorithm;
+
public:
tst_bench_QCryptographicHash();
@@ -50,47 +58,25 @@ private Q_SLOTS:
void addData();
void addDataChunked_data() { hash_data(); }
void addDataChunked();
+
+ // QMessageAuthenticationCode:
+ void hmac_hash_data() { hash_data(); }
+ void hmac_hash();
+ void hmac_addData_data() { hash_data(); }
+ void hmac_addData();
+ void hmac_setKey_data();
+ void hmac_setKey();
};
-const int MaxCryptoAlgorithm = QCryptographicHash::Sha3_512;
const int MaxBlockSize = 65536;
-const char *algoname(int i)
+static void for_each_algorithm(std::function<void(QCryptographicHash::Algorithm, const char*)> f)
{
- switch (QCryptographicHash::Algorithm(i)) {
- case QCryptographicHash::Md4:
- return "md4-";
- case QCryptographicHash::Md5:
- return "md5-";
- case QCryptographicHash::Sha1:
- return "sha1-";
- case QCryptographicHash::Sha224:
- return "sha2_224-";
- case QCryptographicHash::Sha256:
- return "sha2_256-";
- case QCryptographicHash::Sha384:
- return "sha2_384-";
- case QCryptographicHash::Sha512:
- return "sha2_512-";
- case QCryptographicHash::Sha3_224:
- return "sha3_224-";
- case QCryptographicHash::Sha3_256:
- return "sha3_256-";
- case QCryptographicHash::Sha3_384:
- return "sha3_384-";
- case QCryptographicHash::Sha3_512:
- return "sha3_512-";
- case QCryptographicHash::Keccak_224:
- return "keccak_224-";
- case QCryptographicHash::Keccak_256:
- return "keccak_256-";
- case QCryptographicHash::Keccak_384:
- return "keccak_384-";
- case QCryptographicHash::Keccak_512:
- return "keccak_512-";
- }
- Q_UNREACHABLE();
- return 0;
+ Q_ASSERT(f);
+ using A = QCryptographicHash::Algorithm;
+ static const auto metaEnum = QMetaEnum::fromType<A>();
+ for (int i = 0, value = metaEnum.value(i); value != -1; value = metaEnum.value(++i))
+ f(A(value), metaEnum.key(i));
}
tst_bench_QCryptographicHash::tst_bench_QCryptographicHash()
@@ -110,7 +96,7 @@ tst_bench_QCryptographicHash::tst_bench_QCryptographicHash()
void tst_bench_QCryptographicHash::hash_data()
{
- QTest::addColumn<int>("algorithm");
+ QTest::addColumn<Algorithm>("algo");
QTest::addColumn<QByteArray>("data");
static const int datasizes[] = { 0, 1, 64, 65, 512, 4095, 4096, 4097, 65536 };
@@ -118,17 +104,17 @@ void tst_bench_QCryptographicHash::hash_data()
Q_ASSERT(datasizes[i] < MaxBlockSize);
QByteArray data = QByteArray::fromRawData(blockOfData.constData(), datasizes[i]);
- for (int algo = QCryptographicHash::Md4; algo <= MaxCryptoAlgorithm; ++algo)
- QTest::newRow(algoname(algo) + QByteArray::number(datasizes[i])) << algo << data;
+ for_each_algorithm([&] (Algorithm algo, const char *name) {
+ QTest::addRow("%s-%d", name, datasizes[i]) << algo << data;
+ });
}
}
void tst_bench_QCryptographicHash::hash()
{
- QFETCH(int, algorithm);
+ QFETCH(const Algorithm, algo);
QFETCH(QByteArray, data);
- QCryptographicHash::Algorithm algo = QCryptographicHash::Algorithm(algorithm);
QBENCHMARK {
QCryptographicHash::hash(data, algo);
}
@@ -136,10 +122,9 @@ void tst_bench_QCryptographicHash::hash()
void tst_bench_QCryptographicHash::addData()
{
- QFETCH(int, algorithm);
+ QFETCH(const Algorithm, algo);
QFETCH(QByteArray, data);
- QCryptographicHash::Algorithm algo = QCryptographicHash::Algorithm(algorithm);
QCryptographicHash hash(algo);
QBENCHMARK {
hash.reset();
@@ -150,10 +135,9 @@ void tst_bench_QCryptographicHash::addData()
void tst_bench_QCryptographicHash::addDataChunked()
{
- QFETCH(int, algorithm);
+ QFETCH(const Algorithm, algo);
QFETCH(QByteArray, data);
- QCryptographicHash::Algorithm algo = QCryptographicHash::Algorithm(algorithm);
QCryptographicHash hash(algo);
QBENCHMARK {
hash.reset();
@@ -167,6 +151,73 @@ void tst_bench_QCryptographicHash::addDataChunked()
}
}
+static QByteArray hmacKey() {
+ static QByteArray key = [] {
+ QByteArray result(277, Qt::Uninitialized);
+ std::iota(result.begin(), result.end(), uchar(0)); // uchar so wraps after UCHAR_MAX
+ return result;
+ }();
+ return key;
+}
+
+void tst_bench_QCryptographicHash::hmac_hash()
+{
+ QFETCH(const Algorithm, algo);
+ QFETCH(const QByteArray, data);
+
+ const auto key = hmacKey();
+ QBENCHMARK {
+ auto r = QMessageAuthenticationCode::hash(data, key, algo);
+ Q_UNUSED(r);
+ }
+}
+
+void tst_bench_QCryptographicHash::hmac_addData()
+{
+ QFETCH(const Algorithm, algo);
+ QFETCH(const QByteArray, data);
+
+ const auto key = hmacKey();
+ QMessageAuthenticationCode mac(algo, key);
+ QBENCHMARK {
+ mac.reset();
+ mac.addData(data);
+ auto r = mac.result();
+ Q_UNUSED(r);
+ }
+}
+
+void tst_bench_QCryptographicHash::hmac_setKey_data()
+{
+ QTest::addColumn<Algorithm>("algo");
+ for_each_algorithm([] (Algorithm algo, const char *name) {
+ QTest::addRow("%s", name) << algo;
+ });
+}
+
+void tst_bench_QCryptographicHash::hmac_setKey()
+{
+ QFETCH(const Algorithm, algo);
+
+ const QByteArrayList keys = [] {
+ QByteArrayList result;
+ const auto fullKey = hmacKey();
+ result.reserve(fullKey.size());
+ for (auto i = fullKey.size(); i > 0; --i)
+ result.push_back(fullKey.mid(i));
+ return result;
+ }();
+
+ QMessageAuthenticationCode mac(algo);
+ QBENCHMARK {
+ for (const auto &key : keys) {
+ mac.setKey(key);
+ mac.addData("abc", 3); // avoid lazy setKey()
+ }
+ }
+}
+
+
QTEST_APPLESS_MAIN(tst_bench_QCryptographicHash)
#include "main.moc"
diff --git a/tests/benchmarks/dbus/qdbusperformance/test/test.pro b/tests/benchmarks/dbus/qdbusperformance/test/test.pro
index ddc5410759..faa2fe81ba 100644
--- a/tests/benchmarks/dbus/qdbusperformance/test/test.pro
+++ b/tests/benchmarks/dbus/qdbusperformance/test/test.pro
@@ -1,3 +1,4 @@
+CONFIG += benchmark
SOURCES += ../tst_qdbusperformance.cpp
HEADERS += ../serverobject.h
TARGET = ../tst_qdbusperformance
diff --git a/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp b/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp
index 39c9129456..4bb71c4775 100644
--- a/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp
+++ b/tests/benchmarks/dbus/qdbusperformance/tst_qdbusperformance.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -79,7 +79,7 @@ void tst_QDBusPerformance::initTestCase()
#else
# define EXE ""
#endif
- proc.start(QFINDTESTDATA("server/server" EXE));
+ proc.start(QFINDTESTDATA("server/server" EXE), QStringList());
QVERIFY2(proc.waitForStarted(), qPrintable(proc.errorString()));
QVERIFY(proc.waitForReadyRead());
diff --git a/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp
index d28f9502d7..9c3cef0e6d 100644
--- a/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp
+++ b/tests/benchmarks/gui/painting/qtransform/tst_qtransform.cpp
@@ -335,7 +335,7 @@ void tst_QTransform::operatorMultiplyEqualScalar()
QFETCH(QTransform, transform);
QTransform x = transform;
QBENCHMARK {
- x * 3;
+ x *= 3;
}
}
diff --git a/tests/benchmarks/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp b/tests/benchmarks/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
index 8d7e70f8c9..6a5d353324 100644
--- a/tests/benchmarks/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
+++ b/tests/benchmarks/sql/kernel/qsqlrecord/tst_qsqlrecord.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
- ** Copyright (C) 2018 The Qt Company Ltd.
+ ** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the test suite of the Qt Toolkit.
@@ -178,15 +178,18 @@ void tst_QSqlRecord::benchmarkRecord()
const auto tableName = qTableName("record", __FILE__, db);
{
QSqlQuery qry(db);
- QVERIFY_SQL(qry, exec("create table " + tableName + " (id int NOT NULL, t_varchar varchar(20), "
+ QVERIFY_SQL(qry, exec("create table " + tableName +
+ " (id int NOT NULL, t_varchar varchar(20), "
"t_char char(20), primary key(id))"));
- for (int i = 0; i < 1000; i++)
+ // Limit to 500: at 600, the set-up takes nearly 5 minutes
+ for (int i = 0; i < 500; i++)
QVERIFY_SQL(qry, exec(QString("INSERT INTO " + tableName +
" VALUES (%1, 'VarChar%1', 'Char%1')").arg(i)));
QVERIFY_SQL(qry, exec(QString("SELECT * from ") + tableName));
QBENCHMARK {
while (qry.next())
qry.record();
+ QVERIFY(qry.seek(0));
}
}
tst_Databases::safeDropTables(db, QStringList() << tableName);
@@ -202,6 +205,7 @@ void tst_QSqlRecord::benchFieldName()
QBENCHMARK {
while (qry.next())
qry.value("r");
+ QVERIFY(qry.seek(0));
}
}
}
@@ -217,6 +221,7 @@ void tst_QSqlRecord::benchFieldIndex()
QBENCHMARK {
while (qry.next())
qry.value(0);
+ QVERIFY(qry.seek(0));
}
}
}
diff --git a/tests/benchmarks/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/benchmarks/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
index 56b34fff2a..b9bbda766b 100644
--- a/tests/benchmarks/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
+++ b/tests/benchmarks/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp
@@ -57,6 +57,7 @@ private slots:
void scale();
void shear();
void translate();
+ void createTextItem();
};
tst_QGraphicsItem::tst_QGraphicsItem()
@@ -230,5 +231,15 @@ void tst_QGraphicsItem::translate()
}
}
+void tst_QGraphicsItem::createTextItem()
+{
+ // Ensure QFontDatabase loaded the font beforehand
+ QFontInfo(qApp->font()).family();
+ const QString text = "This is some text";
+ QBENCHMARK {
+ QGraphicsTextItem item(text);
+ }
+}
+
QTEST_MAIN(tst_QGraphicsItem)
#include "tst_qgraphicsitem.moc"
diff --git a/tests/manual/android_content_uri/android_content_uri.pro b/tests/manual/android_content_uri/android_content_uri.pro
new file mode 100644
index 0000000000..76109e6351
--- /dev/null
+++ b/tests/manual/android_content_uri/android_content_uri.pro
@@ -0,0 +1,4 @@
+TEMPLATE = app
+QT = core testlib widgets
+
+SOURCES += tst_content_uris.cpp
diff --git a/tests/manual/android_content_uri/tst_content_uris.cpp b/tests/manual/android_content_uri/tst_content_uris.cpp
new file mode 100644
index 0000000000..07e1754235
--- /dev/null
+++ b/tests/manual/android_content_uri/tst_content_uris.cpp
@@ -0,0 +1,250 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#include <QTest>
+#include <QDirIterator>
+#include <QFileDialog>
+#include <QMessageBox>
+
+class tst_ContentUris: public QObject
+{
+ Q_OBJECT
+private slots:
+ void dirFacilities();
+ void readWriteFile();
+ void readWriteNonExistingFile_data();
+ void readWriteNonExistingFile();
+ void createFileFromDirUrl_data();
+ void createFileFromDirUrl();
+ void fileOperations();
+};
+
+static QStringList listFiles(const QDir &dir, QDirIterator::IteratorFlag flag = {})
+{
+ QDirIterator it(dir, flag);
+ QStringList dirs;
+ while (it.hasNext())
+ dirs << it.next();
+ return dirs;
+}
+
+void showInstructionsDialog(const QString &message)
+{
+ QMessageBox::information(nullptr, QLatin1String("Instructions"), message);
+}
+
+void tst_ContentUris::dirFacilities()
+{
+ showInstructionsDialog(QLatin1String("Choose a folder with no content/files/subdirs"));
+
+ auto url = QFileDialog::getExistingDirectory();
+ QVERIFY(url.startsWith(QLatin1String("content")));
+ QDir dir(url);
+
+ QVERIFY(dir.exists());
+ QVERIFY(!dir.dirName().isEmpty());
+ QVERIFY(listFiles(dir).isEmpty());
+
+ QVERIFY(dir.mkdir(QLatin1String("Sub")));
+ const auto dirList = listFiles(dir);
+ QVERIFY(dirList.size() == 1);
+ const QDir subDir = dirList.first();
+
+ QVERIFY(subDir.dirName() == QLatin1String("Sub"));
+ qWarning() << "subDir.absolutePath()" << subDir.absolutePath() << dirList.first();
+ QVERIFY(subDir.absolutePath() == dirList.first());
+ QVERIFY(subDir.path() == dirList.first());
+
+ QVERIFY(listFiles(dir, QDirIterator::Subdirectories).size() == 1);
+ QVERIFY(dir.mkdir(QLatin1String("Sub"))); // Create an existing dir
+ QVERIFY(dir.rmdir(QLatin1String("Sub")));
+
+ QVERIFY(dir.mkpath(QLatin1String("Sub/Sub2/Sub3")));
+ QVERIFY(listFiles(dir).size() == 1);
+ QVERIFY(listFiles(dir, QDirIterator::Subdirectories).size() == 3);
+ QVERIFY(dir.mkpath(QLatin1String("Sub/Sub2/Sub3"))); // Create an existing dir hierarchy
+ QVERIFY(dir.rmdir(QLatin1String("Sub")));
+}
+
+void tst_ContentUris::readWriteFile()
+{
+ const QByteArray content = "Written to file";
+ const QString fileName = QLatin1String("new_file.txt");
+
+ {
+ showInstructionsDialog(QLatin1String("Choose a name for new file to create"));
+
+ auto url = QFileDialog::getSaveFileName(nullptr, tr("Save File"), fileName);
+ QFile file(url);
+ QVERIFY(file.exists());
+ QVERIFY(file.size() == 0);
+ QVERIFY(file.fileName() == url);
+ QVERIFY(QFileInfo(url).fileName() == fileName);
+
+ QVERIFY(file.open(QFile::WriteOnly));
+ QVERIFY(file.isOpen());
+ QVERIFY(file.isWritable());
+ QVERIFY(file.fileTime(QFileDevice::FileModificationTime) != QDateTime());
+ QVERIFY(file.write(content) > 0);
+ QVERIFY(file.size() == content.size());
+ file.close();
+
+ // NOTE: The native file cursor is not returning an updated time or it takes long
+ // for it to get updated, for now just check that we actually received a valid QDateTime
+ QVERIFY(file.fileTime(QFileDevice::FileModificationTime) != QDateTime());
+ }
+
+ {
+ showInstructionsDialog(QLatin1String("Choose the file that was created"));
+
+ auto url = QFileDialog::getOpenFileName(nullptr, tr("Open File"), fileName);
+ QFile file(url);
+ QVERIFY(file.exists());
+
+ QVERIFY(file.open(QFile::ReadOnly));
+ QVERIFY(file.isOpen());
+ QVERIFY(file.isReadable());
+ QVERIFY(file.readAll() == content);
+
+ QVERIFY(file.remove());
+ }
+}
+
+void tst_ContentUris::readWriteNonExistingFile_data()
+{
+ QTest::addColumn<QString>("path");
+
+ const QString fileName = "non-existing-file.txt";
+ const QString uriSchemeAuthority = "content://com.android.externalstorage.documents";
+ const QString id = "primary%3APictures";
+ const QString encSlash = QUrl::toPercentEncoding(QLatin1String("/"));
+
+ const QString docSlash = uriSchemeAuthority + QLatin1String("/document/") + id + QLatin1String("/") + fileName;
+ const QString docEncodedSlash = uriSchemeAuthority + QLatin1String("/document/") + id + encSlash + fileName;
+
+ QTest::newRow("document_with_slash") << docSlash;
+ QTest::newRow("document_with_encoded_slash") << docEncodedSlash;
+}
+
+void tst_ContentUris::readWriteNonExistingFile()
+{
+ QFETCH(QString, path);
+
+ QFile file(path);
+ QVERIFY(!file.exists());
+ QVERIFY(file.size() == 0);
+
+ QVERIFY(!file.open(QFile::WriteOnly));
+ QVERIFY(!file.isOpen());
+ QVERIFY(!file.isWritable());
+}
+
+void tst_ContentUris::createFileFromDirUrl_data()
+{
+ QTest::addColumn<QString>("path");
+
+ showInstructionsDialog("Choose a folder with no content/files/subdirs");
+
+ const QString treeUrl = QFileDialog::getExistingDirectory();
+ const QString fileName = "text.txt";
+ const QString treeSlash = treeUrl + QLatin1String("/") + fileName;
+ QTest::newRow("tree_with_slash") << treeSlash;
+
+ // TODO: This is not handled at the moment
+ // const QString encSlash = QUrl::toPercentEncoding("/"_L1);
+ // const QString treeEncodedSlash = treeUrl + encSlash + fileName;
+ // QTest::newRow("tree_with_encoded_slash") << treeEncodedSlash;
+}
+
+void tst_ContentUris::createFileFromDirUrl()
+{
+ QFETCH(QString, path);
+
+ const QByteArray content = "Written to file";
+
+ QFile file(path);
+ QVERIFY(!file.exists());
+ QVERIFY(file.size() == 0);
+
+ QVERIFY(file.open(QFile::WriteOnly));
+ QVERIFY(file.isOpen());
+ QVERIFY(file.isWritable());
+ QVERIFY(file.exists());
+ QVERIFY(file.write(content));
+ QVERIFY(file.size() == content.size());
+ file.close();
+
+ QVERIFY(file.open(QFile::ReadOnly));
+ QVERIFY(file.isOpen());
+ QVERIFY(file.isReadable());
+ QVERIFY(file.readAll() == content);
+
+ QVERIFY(file.remove());
+}
+
+void tst_ContentUris::fileOperations()
+{
+ showInstructionsDialog("Choose a name for new file to create");
+
+ const QString fileName = "new_file.txt";
+ auto url = QFileDialog::getSaveFileName(nullptr, tr("Save File"), fileName);
+ QFile file(url);
+ QVERIFY(file.exists());
+
+ // Rename
+ {
+ const QString renamedFileName = "renamed_new_file.txt";
+ QVERIFY(file.rename(renamedFileName));
+ const auto renamedUrl = url.replace(fileName, renamedFileName);
+ QVERIFY(file.fileName() == renamedUrl);
+
+ // NOTE: The uri doesn't seem to stay usable after a rename and it needs to get
+ // permission again via the SAF picker.
+ showInstructionsDialog("Choose the file that was renamed");
+ QFileDialog::getOpenFileName(nullptr, tr("Open File"));
+ QVERIFY(file.exists());
+
+ // rename now with full content uri
+ const auto secondRenamedUrl = url.replace(renamedFileName, "second_nenamed_file.txt");
+ QVERIFY(file.rename(secondRenamedUrl));
+ QVERIFY(file.fileName() == secondRenamedUrl);
+
+ // NOTE: The uri doesn't seem to stay usable after a rename and it needs to get
+ // permission again via the SAF picker.
+ showInstructionsDialog("Choose the file that was renamed");
+ QFileDialog::getOpenFileName(nullptr, tr("Open File"));
+ QVERIFY(file.exists());
+ }
+
+ // Remove
+ QVERIFY(file.remove());
+ QVERIFY(!file.exists());
+
+ // Move
+ {
+ showInstructionsDialog("Choose source directory of file to move");
+ const QString srcDir = QFileDialog::getExistingDirectory(nullptr, tr("Choose Directory"));
+
+ const QString fileName = QLatin1String("file_to_move.txt");
+
+ // Create a file
+ QFile file(srcDir + QLatin1Char('/') + fileName);
+ QVERIFY(file.open(QFile::WriteOnly));
+ QVERIFY(file.exists());
+
+ showInstructionsDialog("Choose target directory to where to move the file");
+ const QString destDir = QFileDialog::getExistingDirectory(nullptr, tr("Choose Directory"));
+
+ QVERIFY(file.rename(destDir + QLatin1Char('/') + fileName));
+
+ // NOTE: The uri doesn't seem to stay usable after a rename and it needs to get
+ // permission again via the SAF picker.
+ showInstructionsDialog("Choose the file that was moved");
+ QFileDialog::getOpenFileName(nullptr, tr("Open File"));
+
+ QVERIFY(file.remove());
+ }
+}
+
+QTEST_MAIN(tst_ContentUris)
+#include "tst_content_uris.moc"
diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro
index 42f9878e44..bb6c33acb2 100644
--- a/tests/manual/manual.pro
+++ b/tests/manual/manual.pro
@@ -58,6 +58,8 @@ unc \
qtabbar \
rhi
+android: SUBDIRS += android_content_uri
+
!qtConfig(openssl): SUBDIRS -= qssloptions
qtConfig(opengl) {