summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJohn Layt <jlayt@kde.org>2013-08-01 15:26:50 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-08-21 01:20:01 +0200
commit2f2a799f3d7b2fe6d1a20fdb0dde35354924fe13 (patch)
tree2f4a68681ec06dedb5b4390cc6056f47b92b600b /tests
parent1696f45d9216f97654fedd580ed3db4b825089e0 (diff)
QDateTime - Fix tests to correctly restore time zone
The unit tests were caching the original TZ value to restore later after testing with different TZ values. The problem is reading TZ will return a null value if no override TZ value is set, and if you then set the TZ to null the system assumes UTC and not the system time zone. Instead we need to unset TZ if it was null to start with. Change-Id: Ib0625b1712e565f9fdfa99e2ffe1e5d74f059354 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
index a0e55e9ae1..50092c9989 100644
--- a/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
+++ b/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
@@ -1430,8 +1430,9 @@ void tst_QDateTime::operator_insert_extract()
QFETCH(QString, deserialiseAs);
QFETCH(QDataStream::Version, dataStreamVersion);
- // Save the previous timezone so we can restore it afterwards, just in case.
- QString previousTimeZone = qgetenv("TZ");
+ // Save the previous timezone so we can restore it afterwards, otherwise later tests will break
+ QByteArray previousTimeZone = qgetenv("TZ");
+
// Start off in a certain timezone.
qputenv("TZ", serialiseAs.toLocal8Bit().constData());
tzset();
@@ -1512,7 +1513,10 @@ void tst_QDateTime::operator_insert_extract()
}
}
- qputenv("TZ", previousTimeZone.toLocal8Bit().constData());
+ if (previousTimeZone.isNull())
+ qunsetenv("TZ");
+ else
+ qputenv("TZ", previousTimeZone.constData());
tzset();
}
#endif