summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-05-29 10:06:10 +0200
committerLiang Qi <liang.qi@qt.io>2017-05-29 10:54:41 +0200
commit6a772fd201ac738dc86e71bd82e98f65158e6335 (patch)
tree674007720f41d27b251bbcffd7a368a93f88eb96 /tests/auto
parent40206a9f6d7635bb19305d1c8d74908808e3529e (diff)
parent4c346b6e2bfab976bc9b16275b8382aee38aefa4 (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/win32-g++/qmake.conf mkspecs/win32-icc/qmake.conf src/platformsupport/fontdatabases/mac/coretext.pri src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: I74a6f7705c9547ed8bbac7260eb4645543e32655
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp59
-rw-r--r--tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp13
-rw-r--r--tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST2
-rw-r--r--tests/auto/corelib/kernel/qeventloop/BLACKLIST1
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp4
-rw-r--r--tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp4
-rw-r--r--tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp6
-rw-r--r--tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp20
-rw-r--r--tests/auto/dbus/qdbusabstractadaptor/myobject.h5
-rw-r--r--tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp61
-rw-r--r--tests/auto/sql/kernel/qsqlthread/tst_qsqlthread.cpp2
-rw-r--r--tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST3
12 files changed, 156 insertions, 24 deletions
diff --git a/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp b/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp
index 3ec863302e..9bd87e3f21 100644
--- a/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp
+++ b/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp
@@ -44,6 +44,8 @@ private slots:
void float_cast();
void float_cast_data();
void promotionTests();
+ void arithOps_data();
+ void arithOps();
};
void tst_qfloat16::fuzzyCompare_data()
@@ -198,8 +200,12 @@ void tst_qfloat16::float_cast()
{
QFETCH(float, val);
- QVERIFY(qFuzzyCompare(float(qfloat16(val)),val));
- QVERIFY(qFuzzyCompare(float(qfloat16(-val)),-val));
+ QVERIFY(qFuzzyCompare((float)(qfloat16(val)),val));
+ QVERIFY(qFuzzyCompare((float)(qfloat16(-val)),-val));
+ QVERIFY(qFuzzyCompare((double)(qfloat16(val)),(double)(val)));
+ QVERIFY(qFuzzyCompare((double)(qfloat16(-val)),(double)(-val)));
+ //QVERIFY(qFuzzyCompare((long double)(qfloat16(val)),(long double)(val)));
+ //QVERIFY(qFuzzyCompare((long double)(qfloat16(-val)),(long double)(-val)));
}
void tst_qfloat16::promotionTests()
@@ -248,6 +254,55 @@ void tst_qfloat16::promotionTests()
QCOMPARE(sizeof(double),sizeof(qfloat16(1.f)-1));
QCOMPARE(sizeof(double),sizeof(qfloat16(1.f)*1));
QCOMPARE(sizeof(double),sizeof(qfloat16(1.f)/1));
+
+ QCOMPARE(QString::number(1.f),QString::number(qfloat16(1.f)));
+}
+
+void tst_qfloat16::arithOps_data()
+{
+ QTest::addColumn<float>("val1");
+ QTest::addColumn<float>("val2");
+
+ QTest::newRow("zero") << 0.0f << 2.0f;
+ QTest::newRow("one") << 1.0f << 4.0f;
+ QTest::newRow("ten") << 10.0f << 20.0f;
+}
+
+void tst_qfloat16::arithOps()
+{
+ QFETCH(float, val1);
+ QFETCH(float, val2);
+
+ QVERIFY(qFuzzyCompare(float(qfloat16(val1) + qfloat16(val2)), val1 + val2));
+ QVERIFY(qFuzzyCompare(float(qfloat16(val1) - qfloat16(val2)), val1 - val2));
+ QVERIFY(qFuzzyCompare(float(qfloat16(val1) * qfloat16(val2)), val1 * val2));
+ QVERIFY(qFuzzyCompare(float(qfloat16(val1) / qfloat16(val2)), val1 / val2));
+
+ QVERIFY(qFuzzyCompare(qfloat16(val1) + val2, val1 + val2));
+ QVERIFY(qFuzzyCompare(qfloat16(val1) - val2, val1 - val2));
+ QVERIFY(qFuzzyCompare(qfloat16(val1) * val2, val1 * val2));
+ QVERIFY(qFuzzyCompare(qfloat16(val1) / val2, val1 / val2));
+
+ QVERIFY(qFuzzyCompare(val1 + qfloat16(val2), val1 + val2));
+ QVERIFY(qFuzzyCompare(val1 - qfloat16(val2), val1 - val2));
+ QVERIFY(qFuzzyCompare(val1 * qfloat16(val2), val1 * val2));
+ QVERIFY(qFuzzyCompare(val1 / qfloat16(val2), val1 / val2));
+
+ float r1 = 0.f;
+ r1 += qfloat16(val2);
+ QVERIFY(qFuzzyCompare(r1,val2));
+
+ float r2 = 0.f;
+ r2 -= qfloat16(val2);
+ QVERIFY(qFuzzyCompare(r2,-val2));
+
+ float r3 = 1.f;
+ r3 *= qfloat16(val2);
+ QVERIFY(qFuzzyCompare(r3,val2));
+
+ float r4 = 1.f;
+ r4 /= qfloat16(val2);
+ QVERIFY(qFuzzyCompare(r4,1.f/val2));
}
QTEST_APPLESS_MAIN(tst_qfloat16)
diff --git a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
index 31e76c4407..22f0d8ecaa 100644
--- a/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
+++ b/tests/auto/corelib/kernel/qcoreapplication/tst_qcoreapplication.cpp
@@ -155,7 +155,9 @@ void tst_QCoreApplication::qAppName()
void tst_QCoreApplication::qAppVersion()
{
-#if defined(Q_OS_WIN)
+#if defined(Q_OS_WINRT)
+ const char appVersion[] = "1.0.0.0";
+#elif defined(Q_OS_WIN)
const char appVersion[] = "1.2.3.4";
#elif defined(Q_OS_DARWIN) || defined(Q_OS_ANDROID)
const char appVersion[] = "1.2.3";
@@ -946,9 +948,12 @@ void tst_QCoreApplication::addRemoveLibPaths()
char *argv[] = { const_cast<char*>(QTest::currentAppName()) };
TestApplication app(argc, argv);
- // Check that modifications stay alive across the creation of an application.
- QVERIFY(QCoreApplication::libraryPaths().contains(currentDir));
- QVERIFY(!QCoreApplication::libraryPaths().contains(paths[0]));
+ // If libraryPaths only contains currentDir, neither will be in libraryPaths now.
+ if (paths.length() != 1 && currentDir != paths[0]) {
+ // Check that modifications stay alive across the creation of an application.
+ QVERIFY(QCoreApplication::libraryPaths().contains(currentDir));
+ QVERIFY(!QCoreApplication::libraryPaths().contains(paths[0]));
+ }
QStringList replace;
replace << currentDir << paths[0];
diff --git a/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST b/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST
index 00be65751b..402d87b82f 100644
--- a/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST
+++ b/tests/auto/corelib/kernel/qeventdispatcher/BLACKLIST
@@ -1,4 +1,6 @@
[sendPostedEvents]
windows
+osx
[registerTimer]
windows
+osx
diff --git a/tests/auto/corelib/kernel/qeventloop/BLACKLIST b/tests/auto/corelib/kernel/qeventloop/BLACKLIST
index 6ea6314b0a..9f837aa197 100644
--- a/tests/auto/corelib/kernel/qeventloop/BLACKLIST
+++ b/tests/auto/corelib/kernel/qeventloop/BLACKLIST
@@ -1,2 +1,3 @@
[testQuitLock]
windows
+osx
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index f0a4ef9b42..076610a0c5 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -1729,10 +1729,10 @@ void tst_QMetaType::metaObject()
}
#define METATYPE_ID_FUNCTION(Type, MetaTypeId, Name) \
- case ::qMetaTypeId< Name >(): metaType = MetaTypeIdStruct<MetaTypeId>::Value;
+ case ::qMetaTypeId< Name >(): metaType = MetaTypeIdStruct<MetaTypeId>::Value; break;
#define REGISTER_METATYPE_FUNCTION(Type, MetaTypeId, Name) \
- case qRegisterMetaType< Name >(): metaType = RegisterMetaTypeStruct<MetaTypeId>::Value;
+ case qRegisterMetaType< Name >(): metaType = RegisterMetaTypeStruct<MetaTypeId>::Value; break;
template<int>
struct MetaTypeIdStruct
diff --git a/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp b/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp
index a52b80170f..e3f45df27d 100644
--- a/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp
+++ b/tests/auto/corelib/kernel/qsocketnotifier/tst_qsocketnotifier.cpp
@@ -350,6 +350,9 @@ void tst_QSocketNotifier::async_writeDatagramSlot()
void tst_QSocketNotifier::asyncMultipleDatagram()
{
+#ifdef Q_OS_WINRT
+ QSKIP("WinRT does not allow connection to localhost", SkipAll);
+#else
m_asyncSender = new QUdpSocket;
m_asyncReceiver = new QUdpSocket;
@@ -379,6 +382,7 @@ void tst_QSocketNotifier::asyncMultipleDatagram()
delete m_asyncSender;
delete m_asyncReceiver;
+ #endif // !Q_OS_WINRT
}
QTEST_MAIN(tst_QSocketNotifier)
diff --git a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
index bcae39af3d..06e2b0ea8c 100644
--- a/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
+++ b/tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp
@@ -144,12 +144,10 @@ void tst_QTimer::timeout()
QCOMPARE(helper.count, 0);
- QTest::qWait(TIMEOUT_TIMEOUT);
- QVERIFY(helper.count > 0);
+ QTRY_VERIFY_WITH_TIMEOUT(helper.count > 0, TIMEOUT_TIMEOUT);
int oldCount = helper.count;
- QTest::qWait(TIMEOUT_TIMEOUT);
- QVERIFY(helper.count > oldCount);
+ QTRY_VERIFY_WITH_TIMEOUT(helper.count > oldCount, TIMEOUT_TIMEOUT);
}
void tst_QTimer::remainingTime()
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
index 280e3f77a4..8a46bc1c55 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
@@ -72,12 +72,12 @@ static inline QString testSuiteWarning()
str << "\nCannot find the shared-mime-info test suite\nstarting from: "
<< QDir::toNativeSeparators(QDir::currentPath()) << "\n"
"cd " << QDir::toNativeSeparators(QStringLiteral("tests/auto/corelib/mimetypes/qmimedatabase")) << "\n"
- "wget http://cgit.freedesktop.org/xdg/shared-mime-info/snapshot/Release-1-0.zip\n"
- "unzip Release-1-0.zip\n";
+ "wget http://cgit.freedesktop.org/xdg/shared-mime-info/snapshot/Release-1-8.zip\n"
+ "unzip Release-1-8.zip\n";
#ifdef Q_OS_WIN
- str << "mkdir testfiles\nxcopy /s Release-1-0\\tests testfiles\n";
+ str << "mkdir testfiles\nxcopy /s Release-1-8 s-m-i\n";
#else
- str << "ln -s Release-1-0/tests testfiles\n";
+ str << "ln -s Release-1-8 s-m-i\n";
#endif
return result;
}
@@ -154,7 +154,7 @@ void tst_QMimeDatabase::initTestCase()
QVERIFY2(copyResourceFile(xmlFileName, xmlTargetFileName, &errorMessage), qPrintable(errorMessage));
#endif
- m_testSuite = QFINDTESTDATA("testfiles");
+ m_testSuite = QFINDTESTDATA("s-m-i/tests");
if (m_testSuite.isEmpty())
qWarning("%s", qPrintable(testSuiteWarning()));
@@ -438,7 +438,7 @@ void tst_QMimeDatabase::icons()
QMimeType directory = db.mimeTypeForFile(QString::fromLatin1("/"));
QCOMPARE(directory.name(), QString::fromLatin1("inode/directory"));
QCOMPARE(directory.iconName(), QString::fromLatin1("inode-directory"));
- QCOMPARE(directory.genericIconName(), QString::fromLatin1("inode-x-generic"));
+ QCOMPARE(directory.genericIconName(), QString::fromLatin1("folder"));
QMimeType pub = db.mimeTypeForFile(QString::fromLatin1("foo.epub"), QMimeDatabase::MatchExtension);
QCOMPARE(pub.name(), QString::fromLatin1("application/epub+zip"));
@@ -510,7 +510,7 @@ void tst_QMimeDatabase::mimeTypeForFileWithContent()
mime = db.mimeTypeForFile(txtTempFileName);
QCOMPARE(mime.name(), QString::fromLatin1("text/plain"));
mime = db.mimeTypeForFile(txtTempFileName, QMimeDatabase::MatchContent);
- QCOMPARE(mime.name(), QString::fromLatin1("application/smil"));
+ QCOMPARE(mime.name(), QString::fromLatin1("application/smil+xml"));
}
// Test what happens with an incorrect path
@@ -607,7 +607,7 @@ void tst_QMimeDatabase::allMimeTypes()
QVERIFY(!lst.isEmpty());
// Hardcoding this is the only way to check both providers find the same number of mimetypes.
- QCOMPARE(lst.count(), 661);
+ QCOMPARE(lst.count(), 749);
foreach (const QMimeType &mime, lst) {
const QString name = mime.name();
@@ -802,7 +802,7 @@ void tst_QMimeDatabase::findByData()
// Expected to fail
QVERIFY2(resultMimeTypeName != mimeTypeName, qPrintable(resultMimeTypeName));
} else {
- QCOMPARE(resultMimeTypeName, mimeTypeName);
+ QCOMPARE(resultMimeTypeName.toLower(), mimeTypeName.toLower());
}
QFileInfo info(filePath);
@@ -833,7 +833,7 @@ void tst_QMimeDatabase::findByFile()
// Expected to fail
QVERIFY2(resultMimeTypeName != mimeTypeName, qPrintable(resultMimeTypeName));
} else {
- QCOMPARE(resultMimeTypeName, mimeTypeName);
+ QCOMPARE(resultMimeTypeName.toLower(), mimeTypeName.toLower());
}
// Test QFileInfo overload
diff --git a/tests/auto/dbus/qdbusabstractadaptor/myobject.h b/tests/auto/dbus/qdbusabstractadaptor/myobject.h
index 1d9b33ccd8..fe3f6f3dd2 100644
--- a/tests/auto/dbus/qdbusabstractadaptor/myobject.h
+++ b/tests/auto/dbus/qdbusabstractadaptor/myobject.h
@@ -242,10 +242,13 @@ public:
{
case 4:
if4 = new Interface4(this);
+ Q_FALLTHROUGH();
case 3:
if3 = new Interface3(this);
+ Q_FALLTHROUGH();
case 2:
if2 = new Interface2(this);
+ Q_FALLTHROUGH();
case 1:
if1 = new Interface1(this);
}
@@ -270,4 +273,4 @@ signals:
void nonScriptableSignalVoid();
};
-#endif // MYOBJECT_H \ No newline at end of file
+#endif // MYOBJECT_H
diff --git a/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp b/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp
index 98f63984b3..757e4d16e4 100644
--- a/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp
+++ b/tests/auto/gui/painting/qpainterpath/tst_qpainterpath.cpp
@@ -99,6 +99,9 @@ private slots:
void translate();
void lineWithinBounds();
+
+ void intersectionEquality();
+ void intersectionPointOnEdge();
};
void tst_QPainterPath::cleanupTestCase()
@@ -1313,6 +1316,64 @@ void tst_QPainterPath::lineWithinBounds()
}
}
+void tst_QPainterPath::intersectionEquality()
+{
+ // Test case from QTBUG-17027
+ QPainterPath p1;
+ p1.moveTo(256.0000000000000000, 135.8384137532701743);
+ p1.lineTo(50.9999999999999715, 107.9999999999999857);
+ p1.lineTo(233.5425474228109123, 205.3560252921671462);
+ p1.lineTo(191.7771366877784373, 318.0257074407572304);
+ p1.lineTo(-48.2616272048215151, 229.0459803737862216);
+ p1.lineTo(0.0000000000000000, 98.8515898136580801);
+ p1.lineTo(0.0000000000000000, 0.0000000000000000);
+ p1.lineTo(256.0000000000000000, 0.0000000000000000);
+ p1.lineTo(256.0000000000000000, 135.8384137532701743);
+
+ QPainterPath p2;
+ p2.moveTo(1516.2703263523442274, 306.9795200262722119);
+ p2.lineTo(-1296.8426224886295585, -75.0331736542986931);
+ p2.lineTo(-1678.8553161692004778, 2738.0797751866753060);
+ p2.lineTo(1134.2576326717733081, 3120.0924688672457705);
+ p2.lineTo(1516.2703263523442274, 306.9795200262722119);
+
+ QPainterPath i1 = p1.intersected(p2);
+ QPainterPath i2 = p2.intersected(p1);
+ QVERIFY(i1 == i2 || i1.toReversed() == i2);
+
+ p1 = QPainterPath();
+ p1.moveTo(256.00000000, 135.83841375);
+ p1.lineTo(50.99999999, 107.99999999);
+ p1.lineTo(233.54254742, 205.35602529);
+ p1.lineTo(191.77713668, 318.02570744);
+ p1.lineTo(-48.26162720, 229.04598037);
+ p1.lineTo(0.00000000, 98.85158981);
+ p1.lineTo(0.00000000, 0.00000000);
+ p1.lineTo(256.00000000, 0.00000000);
+ p1.lineTo(256.00000000, 135.83841375);
+
+ p2 = QPainterPath();
+ p2.moveTo(1516.27032635, 306.97952002);
+ p2.lineTo(-1296.84262248, -75.03317365);
+ p2.lineTo(-1678.85531616, 2738.07977518);
+ p2.lineTo(1134.25763267, 3120.09246886);
+ p2.lineTo(1516.27032635, 306.97952002);
+
+ i1 = p1.intersected(p2);
+ i2 = p2.intersected(p1);
+ QVERIFY(i1 == i2 || i1.toReversed() == i2);
+}
+
+void tst_QPainterPath::intersectionPointOnEdge()
+{
+ // From QTBUG-31551
+ QPainterPath p; p.addRoundedRect(-10, 10, 40, 40, 10, 10);
+ QRectF r(0, 0, 100, 100);
+ QPainterPath rp; rp.addRect(r);
+ QVERIFY(!p.intersected(rp).isEmpty());
+ QVERIFY(p.intersects(rp));
+ QVERIFY(p.intersects(r));
+}
QTEST_APPLESS_MAIN(tst_QPainterPath)
diff --git a/tests/auto/sql/kernel/qsqlthread/tst_qsqlthread.cpp b/tests/auto/sql/kernel/qsqlthread/tst_qsqlthread.cpp
index 540f317935..c21223886a 100644
--- a/tests/auto/sql/kernel/qsqlthread/tst_qsqlthread.cpp
+++ b/tests/auto/sql/kernel/qsqlthread/tst_qsqlthread.cpp
@@ -398,7 +398,7 @@ void tst_QSqlThread::readWriteThreading()
producer.start();
consumer.start();
- QTRY_VERIFY(threadFinishedCount >= 2);
+ QTRY_VERIFY_WITH_TIMEOUT(threadFinishedCount >= 2, 10000);
}
// run with n threads in parallel. Change this constant to hammer the poor DB server even more
diff --git a/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST b/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
new file mode 100644
index 0000000000..c6f69a51a5
--- /dev/null
+++ b/tests/auto/widgets/graphicsview/qgraphicsscene/BLACKLIST
@@ -0,0 +1,3 @@
+[removeItem]
+# QTBUG-60754, QTest::mouseMove is not always respected, or the CI moves the cursor
+osx-10.11 ci