qt6-bb10/tests
Edward Welbourne 60deb69034 Distinguish invalid datetimes from others
A default-constructed QDateTime is invalid, but compared equal to a
valid one referencing the start of 1970.  This lead to date properties
in QML being initialized invalid but not getting an onChange if the
first value they're set to is the start of 1970.

Fixing that then lead to some tests failing. Indeed, the original
equality check involved using toMSecsSinceEpoch(), whose value is
undefined unless the datetime is valid, without a prior check on its
validity: so ensure all uses of toMSecsSinceEpoch() are guarded with
isValid() checks.

Reworked tst_QDateTime::toSecsSinceEpoch() to use its bool column
(previously unused, after separating from toTime_t(), which uses this
column for "out of time_t's range") for validity of the datetime.

[ChangeLog][QtCore][QDateTime] Invalid datetimes are now treated as
equal and less than all valid ones. They could previously be found
equal to valid datetimes.

Fixes: QTBUG-79006
Change-Id: Ie72deb8af4350a5e808144d0f6e42dc8eb3ff5ef
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-10-11 11:59:41 +02:00
..
auto Distinguish invalid datetimes from others 2019-10-11 11:59:41 +02:00
baselineserver Merge remote-tracking branch 'origin/5.13' into 5.14 2019-09-09 07:51:49 +00:00
benchmarks QReadWriteLock: add a check for writeOnly, too 2019-09-12 06:38:42 +02:00
global
libfuzzer Fuzzing: Don't copy input data to QByteArray 2019-10-09 17:16:09 +02:00
manual rhi: Remove QVectors from the data description structs as well 2019-10-03 09:37:48 +02:00
shared Remove usages of Q_OS_WINCE 2019-05-23 13:51:05 +02:00
testserver Share the common configurations among different modules 2019-07-01 01:09:42 +02:00
README
tests.pro Build examples and tests only if their requirements are met 2017-03-22 15:55:55 +00:00

README

This directory contains autotests and benchmarks based on Qt Test. In order
to run the autotests reliably, you need to configure a desktop to match the
test environment that these tests are written for.

Linux X11:

   * The user must be logged in to an active desktop; you can't run the
     autotests without a valid DISPLAY that allows X11 connections.

   * The tests are run against a KDE3 or KDE4 desktop.

   * Window manager uses "click to focus", and not "focus follows mouse". Many
     tests move the mouse cursor around and expect this to not affect focus
     and activation.

   * Disable "click to activate", i.e., when a window is opened, the window
     manager should automatically activate it (give it input focus) and not
     wait for the user to click the window.