summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2021-11-24 17:39:40 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2021-11-26 02:14:52 +0100
commitbcc15f36cc87cd53f083d0c6764fa093e89ad940 (patch)
tree30cce21744b032fb75e9de8eb0531c151889dc25 /tests/auto/corelib
parent0cad974d0da72e96944108df2face676f5ec250d (diff)
Check for relevant zones existing when adding data rows
tst_QDate::startOfDay_endOfDay_data() naively assumed some zones would exist. They don't on QNX, apparently. Change-Id: I3a364964d03f59f5869b4b7639f089dd303180b1 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/time/qdate/tst_qdate.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/tests/auto/corelib/time/qdate/tst_qdate.cpp b/tests/auto/corelib/time/qdate/tst_qdate.cpp
index 6f8699bc98..b14903f92f 100644
--- a/tests/auto/corelib/time/qdate/tst_qdate.cpp
+++ b/tests/auto/corelib/time/qdate/tst_qdate.cpp
@@ -475,23 +475,32 @@ void tst_QDate::startOfDay_endOfDay_data()
const QTime initial(0, 0), final(23, 59, 59, 999), invalid(QDateTime().time());
+ // UTC is always a valid zone.
QTest::newRow("epoch")
<< QDate(1970, 1, 1) << QByteArray("UTC")
<< initial << final;
- QTest::newRow("Brazil")
- << QDate(2008, 10, 19) << QByteArray("America/Sao_Paulo")
- << QTime(1, 0) << final;
+ if (QTimeZone("America/Sao_Paulo").isValid()) {
+ QTest::newRow("Brazil")
+ << QDate(2008, 10, 19) << QByteArray("America/Sao_Paulo")
+ << QTime(1, 0) << final;
+ }
#if QT_CONFIG(icu) || !defined(Q_OS_WIN) // MS's TZ APIs lack data
- QTest::newRow("Sofia")
- << QDate(1994, 3, 27) << QByteArray("Europe/Sofia")
- << QTime(1, 0) << final;
+ if (QTimeZone("Europe/Sofia").isValid()) {
+ QTest::newRow("Sofia")
+ << QDate(1994, 3, 27) << QByteArray("Europe/Sofia")
+ << QTime(1, 0) << final;
+ }
#endif
- QTest::newRow("Kiritimati")
- << QDate(1994, 12, 31) << QByteArray("Pacific/Kiritimati")
- << invalid << invalid;
- QTest::newRow("Samoa")
- << QDate(2011, 12, 30) << QByteArray("Pacific/Apia")
- << invalid << invalid;
+ if (QTimeZone("Pacific/Kiritimati").isValid()) {
+ QTest::newRow("Kiritimati")
+ << QDate(1994, 12, 31) << QByteArray("Pacific/Kiritimati")
+ << invalid << invalid;
+ }
+ if (QTimeZone("Pacific/Apia").isValid()) {
+ QTest::newRow("Samoa")
+ << QDate(2011, 12, 30) << QByteArray("Pacific/Apia")
+ << invalid << invalid;
+ }
// TODO: find other zones with transitions at/crossing midnight.
}
@@ -502,6 +511,7 @@ void tst_QDate::startOfDay_endOfDay()
QFETCH(QTime, start);
QFETCH(QTime, end);
const QTimeZone zone(zoneName);
+ QVERIFY(zone.isValid());
const bool isSystem = QTimeZone::systemTimeZone() == zone;
QDateTime front(date.startOfDay(zone)), back(date.endOfDay(zone));
if (end.isValid())