summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qsettings
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2022-04-22 13:01:20 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2022-04-26 15:10:15 +0200
commit7b909dccc283987b146fbef314dcd00923fa6b09 (patch)
treeb613bd99804ed47cd3188cf4ebe88fb61e439105 /tests/auto/corelib/io/qsettings
parent2b169971168ed3b2d55ef9199745aef17ab1a1ef (diff)
Convert tst_QSettings::testVariantTypes()'s macro body into a lambda
Retain the macro, so as to automate checking QTest::currentTestFailed() after return from the lambda. Change-Id: If5873a533224ea3b809cef02255642a7d071d642 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'tests/auto/corelib/io/qsettings')
-rw-r--r--tests/auto/corelib/io/qsettings/tst_qsettings.cpp31
1 files changed, 18 insertions, 13 deletions
diff --git a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
index a943f76cc5..781650b85b 100644
--- a/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
+++ b/tests/auto/corelib/io/qsettings/tst_qsettings.cpp
@@ -1300,19 +1300,24 @@ void tst_QSettings::testVariantTypes()
QCOMPARE(settings.value("empty"), QVariant());
}
-#define testValue(key, actual, expected) do { \
- { \
- QSettings settings1(format, QSettings::UserScope, "software.org", "KillerAPP"); \
- settings1.setValue(key, QVariant::fromValue(actual)); \
- } \
- QConfFile::clearCache(); \
- { \
- QSettings settings2(format, QSettings::UserScope, "software.org", "KillerAPP"); \
- QVariant v = settings2.value(key); \
- QCOMPARE(v.metaType().id(), QMetaType::expected); \
- QCOMPARE(qvariant_cast<decltype(actual)>(v), actual); \
- } \
-} while (0)
+ auto checker = [format](const char *key, auto value, QMetaType::Type expected) {
+ {
+ QSettings settings(format, QSettings::UserScope, "software.org", "KillerAPP");
+ settings.setValue(key, QVariant::fromValue(value));
+ }
+ QConfFile::clearCache();
+ {
+ QSettings settings(format, QSettings::UserScope, "software.org", "KillerAPP");
+ QVariant actual = settings.value(key);
+ QCOMPARE(actual.metaType().id(), expected);
+ QCOMPARE(qvariant_cast<decltype(value)>(actual), value);
+ }
+ };
+#define testValue(key, supplied, expected) do { \
+ checker(key, supplied, QMetaType::expected); \
+ if (QTest::currentTestFailed()) \
+ return; \
+ } while (0)
typedef QMap<QString, QVariant> TestVariantMap;