summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/tools
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-06-30 22:59:21 +0200
committerLiang Qi <liang.qi@qt.io>2018-07-02 11:23:45 +0200
commite3ed2281c0c891cf3b15c95f9f7cdae42e9f233a (patch)
treeaae8da6ce616eae02b69fb1fcdcb4383c8fe6811 /tests/auto/corelib/tools
parent3be141d5bc199080b524d8f6f5ce514e8f74d23a (diff)
parente75e4b39b78ba05ea2cd45dc96acf99fc89c5915 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: MÃ¥rten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp114
-rw-r--r--tests/auto/corelib/tools/qlocale/test/test.pro2
-rw-r--r--tests/auto/corelib/tools/qlocale/tst_qlocale.cpp23
-rw-r--r--tests/auto/corelib/tools/qstring/tst_qstring.cpp23
-rw-r--r--tests/auto/corelib/tools/qtimezone/BLACKLIST171
-rw-r--r--tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp6
6 files changed, 289 insertions, 50 deletions
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
index f8432b8472..10856a4d57 100644
--- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
@@ -924,12 +924,16 @@ void tst_QDateTime::toString_textDate_extra()
else
QCOMPARE(dt.toString(), QLatin1String("Thu Jan 1 00:00:00 1970"));
#if QT_CONFIG(timezone)
+# if defined Q_OS_UNIX && !defined Q_OS_DARWIN && !defined Q_OS_ANDROID
+# define CORRECT_ZONE_ABBREV
+# endif // QTBUG-57320, QTBUG-57298, QTBUG-68833
+
QTimeZone PST("America/Vancouver");
if (PST.isValid()) {
dt = QDateTime::fromMSecsSinceEpoch(0, PST);
-# if defined Q_OS_UNIX && !defined Q_OS_DARWIN
+# ifdef CORRECT_ZONE_ABBREV
QCOMPARE(dt.toString(), QLatin1String("Wed Dec 31 16:00:00 1969 PST"));
-# else // QTBUG-57320, QTBUG-57298
+# else
QVERIFY(dt.toString().startsWith(QLatin1String("Wed Dec 31 16:00:00 1969 ")));
# endif
dt = dt.toLocalTime();
@@ -940,9 +944,9 @@ void tst_QDateTime::toString_textDate_extra()
QTimeZone CET("Europe/Berlin");
if (CET.isValid()) {
dt = QDateTime::fromMSecsSinceEpoch(0, CET);
-# if defined Q_OS_UNIX && !defined Q_OS_DARWIN
+# ifdef CORRECT_ZONE_ABBREV
QCOMPARE(dt.toString(), QLatin1String("Thu Jan 1 01:00:00 1970 CET"));
-# else // QTBUG-57320, QTBUG-57298
+# else
QVERIFY(dt.toString().startsWith(QLatin1String("Thu Jan 1 01:00:00 1970 ")));
# endif
dt = dt.toLocalTime();
@@ -1864,12 +1868,14 @@ void tst_QDateTime::springForward()
QFETCH(int, adjust);
QDateTime direct = QDateTime(day.addDays(-step), time, Qt::LocalTime).addDays(step);
- QCOMPARE(direct.date(), day);
- QCOMPARE(direct.time().minute(), time.minute());
- QCOMPARE(direct.time().second(), time.second());
- int off = direct.time().hour() - time.hour();
- QVERIFY(off == 1 || off == -1);
- // Note: function doc claims always +1, but this should be reviewed !
+ if (direct.isValid()) { // mktime() may deem a time in the gap invalid
+ QCOMPARE(direct.date(), day);
+ QCOMPARE(direct.time().minute(), time.minute());
+ QCOMPARE(direct.time().second(), time.second());
+ int off = direct.time().hour() - time.hour();
+ QVERIFY(off == 1 || off == -1);
+ // Note: function doc claims always +1, but this should be reviewed !
+ }
// Repeat, but getting there via .toLocalTime():
QDateTime detour = QDateTime(day.addDays(-step),
@@ -1877,7 +1883,11 @@ void tst_QDateTime::springForward()
Qt::UTC).toLocalTime();
QCOMPARE(detour.time(), time);
detour = detour.addDays(step);
- QCOMPARE(detour, direct); // Insist on consistency.
+ // Insist on consistency:
+ if (direct.isValid())
+ QCOMPARE(detour, direct);
+ else
+ QVERIFY(!detour.isValid());
}
void tst_QDateTime::operator_eqeq_data()
@@ -2651,14 +2661,20 @@ void tst_QDateTime::zoneAtTime_data()
ADDROW("summer70:EST", "America/New_York", summer70, -4 * 3600);
}
+#ifdef Q_OS_ANDROID // QTBUG-68835; gets offset 0 for the affected tests.
+# define NONANDROIDROW(name, zone, date, offset)
+#else
+# define NONANDROIDROW(name, zone, date, offset) ADDROW(name, zone, date, offset)
+#endif
+
#ifndef Q_OS_WIN
// Bracket a few noteworthy transitions:
ADDROW("before:ACWST", "Australia/Eucla", QDate(1974, 10, 26), 31500); // 8:45
- ADDROW("after:ACWST", "Australia/Eucla", QDate(1974, 10, 27), 35100); // 9:45
- ADDROW("before:NPT", "Asia/Kathmandu", QDate(1985, 12, 31), 19800); // 5:30
+ NONANDROIDROW("after:ACWST", "Australia/Eucla", QDate(1974, 10, 27), 35100); // 9:45
+ NONANDROIDROW("before:NPT", "Asia/Kathmandu", QDate(1985, 12, 31), 19800); // 5:30
ADDROW("after:NPT", "Asia/Kathmandu", QDate(1986, 1, 1), 20700); // 5:45
// The two that have skipped a day (each):
- ADDROW("before:LINT", "Pacific/Kiritimati", QDate(1994, 12, 30), -36000);
+ NONANDROIDROW("before:LINT", "Pacific/Kiritimati", QDate(1994, 12, 30), -36000);
ADDROW("after:LINT", "Pacific/Kiritimati", QDate(1995, 1, 2), 14 * 3600);
ADDROW("after:WST", "Pacific/Apia", QDate(2011, 12, 31), 14 * 3600);
#endif // MS lacks ACWST, NPT; doesn't grok date-line crossings; and Windows 7 lacks LINT.
@@ -2697,29 +2713,37 @@ void tst_QDateTime::timeZoneAbbreviation()
// Time definitely in Standard Time
QDateTime dt4(QDate(2013, 1, 1), QTime(0, 0, 0), Qt::LocalTime);
#ifdef Q_OS_WIN
- QEXPECT_FAIL("", "Windows only returns long name (QTBUG-32759)", Continue);
-#endif // Q_OS_WIN
- QCOMPARE(dt4.timeZoneAbbreviation(), QString("CET"));
+ QEXPECT_FAIL("", "Windows only reports long name (QTBUG-32759)", Continue);
+#endif
+ QCOMPARE(dt4.timeZoneAbbreviation(), QStringLiteral("CET"));
// Time definitely in Daylight Time
QDateTime dt5(QDate(2013, 6, 1), QTime(0, 0, 0), Qt::LocalTime);
#ifdef Q_OS_WIN
- QEXPECT_FAIL("", "Windows only returns long name (QTBUG-32759)", Continue);
-#endif // Q_OS_WIN
- QCOMPARE(dt5.timeZoneAbbreviation(), QString("CEST"));
+ QEXPECT_FAIL("", "Windows only reports long name (QTBUG-32759)", Continue);
+#endif
+ QCOMPARE(dt5.timeZoneAbbreviation(), QStringLiteral("CEST"));
} else {
QSKIP("You must test using Central European (CET/CEST) time zone, e.g. TZ=Europe/Oslo");
}
+#ifdef Q_OS_ANDROID // Only reports (general) zones as offsets (QTBUG-68837)
+ const QString cet(QStringLiteral("GMT+01:00"));
+ const QString cest(QStringLiteral("GMT+02:00"));
+#else
+ const QString cet(QStringLiteral("CET"));
+ const QString cest(QStringLiteral("CEST"));
+#endif
+
QDateTime dt5(QDate(2013, 1, 1), QTime(0, 0, 0), QTimeZone("Europe/Berlin"));
#ifdef Q_OS_WIN
- QEXPECT_FAIL("", "QTimeZone windows backend only returns long name", Continue);
+ QEXPECT_FAIL("", "Windows only reports long names (QTBUG-32759)", Continue);
#endif
- QCOMPARE(dt5.timeZoneAbbreviation(), QString("CET"));
+ QCOMPARE(dt5.timeZoneAbbreviation(), cet);
QDateTime dt6(QDate(2013, 6, 1), QTime(0, 0, 0), QTimeZone("Europe/Berlin"));
#ifdef Q_OS_WIN
- QEXPECT_FAIL("", "QTimeZone windows backend only returns long name", Continue);
+ QEXPECT_FAIL("", "Windows only reports long names (QTBUG-32759)", Continue);
#endif
- QCOMPARE(dt6.timeZoneAbbreviation(), QString("CEST"));
+ QCOMPARE(dt6.timeZoneAbbreviation(), cest);
}
void tst_QDateTime::getDate()
@@ -2889,38 +2913,40 @@ void tst_QDateTime::daylightTransitions() const
QCOMPARE(utc.date(), QDate(2012, 3, 25));
QCOMPARE(utc.time(), QTime(2, 0, 0));
- // Test date maths, if result falls in missing hour then becomes next hour
+ // Test date maths, if result falls in missing hour then becomes next
+ // hour (or is always invalid; mktime() may reject gap-times).
QDateTime test(QDate(2011, 3, 25), QTime(2, 0, 0));
QVERIFY(test.isValid());
test = test.addYears(1);
- QVERIFY(test.isValid());
- QCOMPARE(test.date(), QDate(2012, 3, 25));
- QCOMPARE(test.time(), QTime(3, 0, 0));
+ const bool handled = test.isValid();
+#define CHECK_SPRING_FORWARD(test) \
+ if (test.isValid()) { \
+ QCOMPARE(test.date(), QDate(2012, 3, 25)); \
+ QCOMPARE(test.time(), QTime(3, 0, 0)); \
+ } else { \
+ QVERIFY(!handled); \
+ }
+ CHECK_SPRING_FORWARD(test);
test = QDateTime(QDate(2012, 2, 25), QTime(2, 0, 0));
QVERIFY(test.isValid());
test = test.addMonths(1);
- QVERIFY(test.isValid());
- QCOMPARE(test.date(), QDate(2012, 3, 25));
- QCOMPARE(test.time(), QTime(3, 0, 0));
+ CHECK_SPRING_FORWARD(test);
test = QDateTime(QDate(2012, 3, 24), QTime(2, 0, 0));
QVERIFY(test.isValid());
test = test.addDays(1);
- QVERIFY(test.isValid());
- QCOMPARE(test.date(), QDate(2012, 3, 25));
- QCOMPARE(test.time(), QTime(3, 0, 0));
+ CHECK_SPRING_FORWARD(test);
test = QDateTime(QDate(2012, 3, 25), QTime(1, 0, 0));
QVERIFY(test.isValid());
QCOMPARE(test.toMSecsSinceEpoch(), daylight2012 - msecsOneHour);
test = test.addMSecs(msecsOneHour);
- QVERIFY(test.isValid());
- QCOMPARE(test.date(), QDate(2012, 3, 25));
- QCOMPARE(test.time(), QTime(3, 0, 0));
- QCOMPARE(test.toMSecsSinceEpoch(), daylight2012);
-
+ CHECK_SPRING_FORWARD(test);
+ if (handled)
+ QCOMPARE(test.toMSecsSinceEpoch(), daylight2012);
+#undef CHECK_SPRING_FORWARD
// Test for correct behviour for DaylightTime -> StandardTime transition, i.e. second occurrence
@@ -2942,7 +2968,7 @@ void tst_QDateTime::daylightTransitions() const
QVERIFY(msecBefore.isValid());
QCOMPARE(msecBefore.date(), QDate(2012, 10, 28));
QCOMPARE(msecBefore.time(), QTime(2, 59, 59, 999));
-#if defined(Q_OS_MAC) || defined(Q_OS_WIN) || defined(Q_OS_QNX)
+#if defined(Q_OS_DARWIN) || defined(Q_OS_WIN) || defined(Q_OS_QNX) || defined(Q_OS_ANDROID)
// Win and Mac uses SecondOccurrence here
QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue);
#endif // Q_OS_MAC
@@ -2964,8 +2990,8 @@ void tst_QDateTime::daylightTransitions() const
QVERIFY(afterTran.isValid());
QCOMPARE(afterTran.date(), QDate(2012, 10, 28));
QCOMPARE(afterTran.time(), QTime(2, 59, 59, 999));
-#if defined (Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(Q_OS_QNX)
- // Linux mktime bug uses last calculation
+#ifdef __GLIBCXX__
+ // Linux (i.e. glibc) mktime bug reuses last calculation
QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue);
#endif // Q_OS_UNIX
QCOMPARE(afterTran.toMSecsSinceEpoch(), standard2012 + msecsOneHour - 1);
@@ -3171,12 +3197,12 @@ void tst_QDateTime::daylightTransitions() const
test = test.addMSecs(msecsOneHour);
QVERIFY(test.isValid());
QCOMPARE(test.date(), QDate(2012, 10, 28));
-#if defined(Q_OS_MAC) || defined(Q_OS_QNX)
+#if defined(Q_OS_DARWIN) || defined(Q_OS_QNX) || defined(Q_OS_ANDROID)
// Mac uses FirstOccurrence, Windows uses SecondOccurrence, Linux uses last calculation
QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue);
#endif // Q_OS_WIN
QCOMPARE(test.time(), QTime(3, 0, 0));
-#if defined(Q_OS_MAC) || defined(Q_OS_QNX)
+#if defined(Q_OS_DARWIN) || defined(Q_OS_QNX) || defined(Q_OS_ANDROID)
// Mac uses FirstOccurrence, Windows uses SecondOccurrence, Linux uses last calculation
QEXPECT_FAIL("", "QDateTime doesn't properly support Daylight Transitions", Continue);
#endif // Q_OS_WIN
diff --git a/tests/auto/corelib/tools/qlocale/test/test.pro b/tests/auto/corelib/tools/qlocale/test/test.pro
index c87e29e764..f7243e99a7 100644
--- a/tests/auto/corelib/tools/qlocale/test/test.pro
+++ b/tests/auto/corelib/tools/qlocale/test/test.pro
@@ -16,4 +16,4 @@ win32 {
}
}
-!winrt: TEST_HELPER_INSTALLS = ../syslocaleapp/syslocaleapp
+!android:!winrt: TEST_HELPER_INSTALLS = ../syslocaleapp/syslocaleapp
diff --git a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
index 375cecd521..884cff553c 100644
--- a/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
+++ b/tests/auto/corelib/tools/qlocale/tst_qlocale.cpp
@@ -168,14 +168,18 @@ tst_QLocale::tst_QLocale()
void tst_QLocale::initTestCase()
{
#if QT_CONFIG(process)
+# ifdef Q_OS_ANDROID
+ m_sysapp = QCoreApplication::applicationDirPath() + "/libsyslocaleapp.so";
+# else // !defined(Q_OS_ANDROID)
const QString syslocaleapp_dir = QFINDTESTDATA("syslocaleapp");
QVERIFY2(!syslocaleapp_dir.isEmpty(),
qPrintable(QStringLiteral("Cannot find 'syslocaleapp' starting from ")
+ QDir::toNativeSeparators(QDir::currentPath())));
m_sysapp = syslocaleapp_dir + QStringLiteral("/syslocaleapp");
-#ifdef Q_OS_WIN
+# ifdef Q_OS_WIN
m_sysapp += QStringLiteral(".exe");
-#endif
+# endif
+# endif // Q_OS_ANDROID
const QFileInfo fi(m_sysapp);
QVERIFY2(fi.exists() && fi.isExecutable(),
qPrintable(QDir::toNativeSeparators(m_sysapp)
@@ -502,6 +506,9 @@ void tst_QLocale::emptyCtor()
#if !QT_CONFIG(process)
QSKIP("No qprocess support", SkipAll);
#else
+#ifdef Q_OS_ANDROID
+ QSKIP("This test crashes on Android");
+#endif
#define TEST_CTOR(req_lc, exp_str) \
{ \
/* Test constructor without arguments. Needs separate process */ \
@@ -1542,17 +1549,25 @@ void tst_QLocale::formatTimeZone()
QSKIP("You must test using Central European (CET/CEST) time zone, e.g. TZ=Europe/Oslo");
}
+#ifdef Q_OS_ANDROID // Only reports (general) zones as offsets (QTBUG-68837)
+ const QString cet(QStringLiteral("GMT+01:00"));
+ const QString cest(QStringLiteral("GMT+02:00"));
+#else
+ const QString cet(QStringLiteral("CET"));
+ const QString cest(QStringLiteral("CEST"));
+#endif
+
QDateTime dt6(QDate(2013, 1, 1), QTime(0, 0, 0), QTimeZone("Europe/Berlin"));
#ifdef Q_OS_WIN
QEXPECT_FAIL("", "QTimeZone windows backend only returns long name", Continue);
#endif
- QCOMPARE(enUS.toString(dt6, "t"), QLatin1String("CET"));
+ QCOMPARE(enUS.toString(dt6, "t"), cet);
QDateTime dt7(QDate(2013, 6, 1), QTime(0, 0, 0), QTimeZone("Europe/Berlin"));
#ifdef Q_OS_WIN
QEXPECT_FAIL("", "QTimeZone windows backend only returns long name", Continue);
#endif
- QCOMPARE(enUS.toString(dt7, "t"), QLatin1String("CEST"));
+ QCOMPARE(enUS.toString(dt7, "t"), cest);
// Current datetime should return current abbreviation
QCOMPARE(enUS.toString(QDateTime::currentDateTime(), "t"),
diff --git a/tests/auto/corelib/tools/qstring/tst_qstring.cpp b/tests/auto/corelib/tools/qstring/tst_qstring.cpp
index 47ccfb8b8a..cdabd51d43 100644
--- a/tests/auto/corelib/tools/qstring/tst_qstring.cpp
+++ b/tests/auto/corelib/tools/qstring/tst_qstring.cpp
@@ -518,6 +518,7 @@ private slots:
void toUcs4();
void arg();
void number();
+ void doubleOut();
void arg_fillChar_data();
void arg_fillChar();
void capacity_data();
@@ -4922,6 +4923,28 @@ void tst_QString::number()
#endif
}
+void tst_QString::doubleOut()
+{
+ // Regression test for QTBUG-63620; the first two paths lost the exponent's
+ // leading 0 at 5.7; C's printf() family guarantee a two-digit exponent (in
+ // contrast with ECMAScript, which forbids leading zeros).
+ const QString expect(QStringLiteral("1e-06"));
+ const double micro = 1e-6;
+ QCOMPARE(QString::number(micro), expect);
+ QCOMPARE(QString("%1").arg(micro), expect);
+ {
+ QString text;
+ text.sprintf("%g", micro);
+ QCOMPARE(text, expect);
+ }
+ {
+ QString text;
+ QTextStream stream(&text);
+ stream << micro;
+ QCOMPARE(text, expect);
+ }
+}
+
void tst_QString::capacity_data()
{
length_data();
diff --git a/tests/auto/corelib/tools/qtimezone/BLACKLIST b/tests/auto/corelib/tools/qtimezone/BLACKLIST
new file mode 100644
index 0000000000..840c3b1181
--- /dev/null
+++ b/tests/auto/corelib/tools/qtimezone/BLACKLIST
@@ -0,0 +1,171 @@
+# QTBUG-69122
+[dataStreamTest]
+android
+
+# QTBUG-69128
+[isTimeZoneIdAvailable]
+android
+
+# QTBUG-69129
+[specificTransition]
+android
+
+# QTBUG-69131
+[transitionEachZone:America/Cancun@2010]
+android
+[transitionEachZone:America/Eirunepe@2010]
+android
+[transitionEachZone:America/Montevideo@2010]
+android
+[transitionEachZone:America/Porto_Acre@2010]
+android
+[transitionEachZone:America/Rio_Branco@2010]
+android
+[transitionEachZone:Asia/Anadyr@2010]
+android
+[transitionEachZone:Asia/Chita@2010]
+android
+[transitionEachZone:Asia/Kamchatka@2010]
+android
+[transitionEachZone:Asia/Khandyga@2010]
+android
+[transitionEachZone:Asia/Magadan@2010]
+android
+[transitionEachZone:Asia/Novokuznetsk@2010]
+android
+[transitionEachZone:Asia/Pyongyang@2010]
+android
+[transitionEachZone:Asia/Ust-Nera@2010]
+android
+[transitionEachZone:Asia/Yerevan@2010]
+android
+[transitionEachZone:Europe/Kaliningrad@2010]
+android
+[transitionEachZone:Europe/Minsk@2010]
+android
+[transitionEachZone:Europe/Moscow@2010]
+android
+[transitionEachZone:Europe/Samara@2010]
+android
+[transitionEachZone:Europe/Simferopol@2010]
+android
+[transitionEachZone:Europe/Volgograd@2010]
+android
+[transitionEachZone:W-SU@2010]
+android
+[transitionEachZone:Africa/Bissau@1970]
+android
+[transitionEachZone:Africa/Juba@1970]
+android
+[transitionEachZone:Africa/Khartoum@1970]
+android
+[transitionEachZone:America/Metlakatla@1970]
+android
+[transitionEachZone:America/Montevideo@1970]
+android
+[transitionEachZone:America/Paramaribo@1970]
+android
+[transitionEachZone:America/Santarem@1970]
+android
+[transitionEachZone:America/Santo_Domingo@1970]
+android
+[transitionEachZone:Asia/Anadyr@1970]
+android
+[transitionEachZone:Asia/Bahrain@1970]
+android
+[transitionEachZone:Asia/Chita@1970]
+android
+[transitionEachZone:Asia/Dushanbe@1970]
+android
+[transitionEachZone:Asia/Ho_Chi_Minh@1970]
+android
+[transitionEachZone:Asia/Kathmandu@1970]
+android
+[transitionEachZone:Asia/Katmandu@1970]
+android
+[transitionEachZone:Asia/Kuala_Lumpur@1970]
+android
+[transitionEachZone:Asia/Magadan@1970]
+android
+[transitionEachZone:Asia/Novosibirsk@1970]
+android
+[transitionEachZone:Asia/Pontianak@1970]
+android
+[transitionEachZone:Asia/Pyongyang@1970]
+android
+[transitionEachZone:Asia/Qatar@1970]
+android
+[transitionEachZone:Asia/Qyzylorda@1970]
+android
+[transitionEachZone:Asia/Saigon@1970]
+android
+[transitionEachZone:Asia/Sakhalin@1970]
+android
+[transitionEachZone:Asia/Singapore@1970]
+android
+[transitionEachZone:Asia/Tashkent@1970]
+android
+[transitionEachZone:Asia/Thimbu@1970]
+android
+[transitionEachZone:Asia/Thimphu@1970]
+android
+[transitionEachZone:Asia/Ust-Nera@1970]
+android
+[transitionEachZone:Atlantic/Cape_Verde@1970]
+android
+[transitionEachZone:Chile/EasterIsland@1970]
+android
+[transitionEachZone:Europe/Kaliningrad@1970]
+android
+[transitionEachZone:Pacific/Bougainville@1970]
+android
+[transitionEachZone:Pacific/Easter@1970]
+android
+[transitionEachZone:Pacific/Enderbury@1970]
+android
+[transitionEachZone:Pacific/Galapagos@1970]
+android
+[transitionEachZone:Pacific/Kiritimati@1970]
+android
+[transitionEachZone:Pacific/Kosrae@1970]
+android
+[transitionEachZone:Pacific/Kwajalein@1970]
+android
+[transitionEachZone:Pacific/Nauru@1970]
+android
+[transitionEachZone:Pacific/Niue@1970]
+android
+[transitionEachZone:Singapore@1970]
+android
+[transitionEachZone:Brazil/Acre@2010]
+android
+[transitionEachZone:Pacific/Bougainville@2010]
+android
+[transitionEachZone:Africa/Algiers@1970]
+android
+[transitionEachZone:Africa/Monrovia@1970]
+android
+[transitionEachZone:Kwajalein@1970]
+android
+[transitionEachZone:Indian/Chagos@1970]
+android
+[transitionEachZone:Europe/Volgograd@1970]
+android
+[transitionEachZone:Atlantic/Stanley@1970]
+android
+[transitionEachZone:Antarctica/Mawson@1970]
+android
+[transitionEachZone:America/Swift_Current@1970]
+android
+[transitionEachZone:America/Guyana@1970]
+android
+[transitionEachZone:America/Grand_Turk@1970]
+android
+[transitionEachZone:America/Dawson_Creek@1970]
+android
+[transitionEachZone:America/Cancun@1970]
+android
+[transitionEachZone:America/Caracas@1970]
+android
+[transitionEachZone:America/Danmarkshavn@1970]
+android
diff --git a/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
index d040f3bafd..d335dae7bc 100644
--- a/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
+++ b/tests/auto/corelib/tools/qtimezone/tst_qtimezone.cpp
@@ -513,6 +513,10 @@ void tst_QTimeZone::transitionEachZone()
continue;
}
#endif
+#ifdef Q_OS_ANDROID
+ if (zone == "America/Mazatlan" || zone == "Mexico/BajaSur")
+ QSKIP("Crashes on Android, see QTBUG-69132");
+#endif
qint64 here = secs + i * 3600;
QDateTime when = QDateTime::fromMSecsSinceEpoch(here * 1000, named);
qint64 stamp = when.toMSecsSinceEpoch();
@@ -887,7 +891,7 @@ void tst_QTimeZone::icuTest()
void tst_QTimeZone::tzTest()
{
-#if defined QT_BUILD_INTERNAL && defined Q_OS_UNIX && !defined Q_OS_DARWIN
+#if defined QT_BUILD_INTERNAL && defined Q_OS_UNIX && !defined Q_OS_DARWIN && !defined Q_OS_ANDROID
// Known datetimes
qint64 std = QDateTime(QDate(2012, 1, 1), QTime(0, 0, 0), Qt::UTC).toMSecsSinceEpoch();
qint64 dst = QDateTime(QDate(2012, 6, 1), QTime(0, 0, 0), Qt::UTC).toMSecsSinceEpoch();