tests/auto/qdatetime/tst_qdatetime.cpp
changeset 37 758a864f9613
parent 33 3e2da88830cd
--- a/tests/auto/qdatetime/tst_qdatetime.cpp	Fri Sep 17 08:34:18 2010 +0300
+++ b/tests/auto/qdatetime/tst_qdatetime.cpp	Mon Oct 04 01:19:32 2010 +0300
@@ -959,16 +959,30 @@
 #endif
     QDateTime upperBound;
     upperBound.setTime_t(buf2);
-    upperBound = upperBound.addSecs(1);
-
-    QVERIFY(lowerBound < upperBound);
+    // Note we must add 2 seconds here because time() may return up to
+    // 1 second difference from the more accurate method used by QDateTime::currentDateTime()
+    upperBound = upperBound.addSecs(2);
 
-    QVERIFY(lowerBound <= dt1);
-    QVERIFY(dt1 < upperBound);
-    QVERIFY(lowerBound <= dt2);
-    QVERIFY(dt2 < upperBound);
-    QVERIFY(lowerBound <= dt3);
-    QVERIFY(dt3 < upperBound);
+    QString details = QString("\n"
+        "lowerBound: %1\n"
+        "dt1:        %2\n"
+        "dt2:        %3\n"
+        "dt3:        %4\n"
+        "upperBound: %5\n")
+        .arg(lowerBound.toTime_t())
+        .arg(dt1.toTime_t())
+        .arg(dt2.toTime_t())
+        .arg(dt3.toTime_t())
+        .arg(upperBound.toTime_t());
+
+    QVERIFY2(lowerBound < upperBound, qPrintable(details));
+
+    QVERIFY2(lowerBound <= dt1, qPrintable(details));
+    QVERIFY2(dt1 < upperBound, qPrintable(details));
+    QVERIFY2(lowerBound <= dt2, qPrintable(details));
+    QVERIFY2(dt2 < upperBound, qPrintable(details));
+    QVERIFY2(lowerBound <= dt3, qPrintable(details));
+    QVERIFY2(dt3 < upperBound, qPrintable(details));
 
     QVERIFY(dt1.timeSpec() == Qt::LocalTime);
     QVERIFY(dt2.timeSpec() == Qt::LocalTime);
@@ -998,16 +1012,30 @@
 #endif
     QDateTime upperBound;
     upperBound.setTime_t(buf2);
-    upperBound = upperBound.addSecs(1);
-
-    QVERIFY(lowerBound < upperBound);
+    // Note we must add 2 seconds here because time() may return up to
+    // 1 second difference from the more accurate method used by QDateTime::currentDateTime()
+    upperBound = upperBound.addSecs(2);
 
-    QVERIFY(lowerBound <= dt1);
-    QVERIFY(dt1 < upperBound);
-    QVERIFY(lowerBound <= dt2);
-    QVERIFY(dt2 < upperBound);
-    QVERIFY(lowerBound <= dt3);
-    QVERIFY(dt3 < upperBound);
+    QString details = QString("\n"
+        "lowerBound: %1\n"
+        "dt1:        %2\n"
+        "dt2:        %3\n"
+        "dt3:        %4\n"
+        "upperBound: %5\n")
+        .arg(lowerBound.toTime_t())
+        .arg(dt1.toTime_t())
+        .arg(dt2.toTime_t())
+        .arg(dt3.toTime_t())
+        .arg(upperBound.toTime_t());
+
+    QVERIFY2(lowerBound < upperBound, qPrintable(details));
+
+    QVERIFY2(lowerBound <= dt1, qPrintable(details));
+    QVERIFY2(dt1 < upperBound, qPrintable(details));
+    QVERIFY2(lowerBound <= dt2, qPrintable(details));
+    QVERIFY2(dt2 < upperBound, qPrintable(details));
+    QVERIFY2(lowerBound <= dt3, qPrintable(details));
+    QVERIFY2(dt3 < upperBound, qPrintable(details));
 
     QVERIFY(dt1.timeSpec() == Qt::UTC);
     QVERIFY(dt2.timeSpec() == Qt::LocalTime);