Fuzzing: Test different calendar systems

Change-Id: I61be9f09d4299674e9cf9daf1d4dbbf90f3d2d2d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
Robert Löhning 2021-04-01 20:46:06 +02:00
parent 6a3cc36e4a
commit 7acce0c525

View File

@ -35,6 +35,7 @@
#endif
static const QString formats[] = {
QStringLiteral("M/d/yyyy"),
QStringLiteral("h"),
QStringLiteral("hh"),
QStringLiteral("H"),
@ -47,7 +48,6 @@ static const QString formats[] = {
QStringLiteral("zzz"),
QStringLiteral("A"),
QStringLiteral("t"),
QStringLiteral("M/d/yyyy"),
QStringLiteral("M/d/yyyy hh:mm"),
QStringLiteral("M/d/yyyy hh:mm A"),
QStringLiteral("M/d/yyyy, hh:mm"),
@ -99,6 +99,10 @@ extern "C" int LLVMFuzzerTestOneInput(const char *Data, size_t Size)
QDateTime::fromString(userString, Qt::RFC2822Date);
QDateTime::fromString(userString, Qt::ISODateWithMs);
QDateTime::fromString(userString, formats[0], QCalendar(QCalendar::System::Gregorian));
for (int sys = int(QCalendar::System::Julian); sys <= int(QCalendar::System::Last); ++sys)
QDateTime::fromString(userString, formats[0], QCalendar(sys));
for (const auto &format : formats) {
#ifdef LOG_FORMAT
qDebug() << "Trying format:" << format;