Utils: Add QVERIFY_EXPECTED macro

Allows to get more descriptive Unit test error messages when
checking expected values.

Change-Id: I086bbb8aa021726f133f8d8615ba54785074b145
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Marcus Tillmanns
2024-09-23 10:25:57 +02:00
parent 635e746571
commit 821d9e8690
2 changed files with 7 additions and 4 deletions

View File

@@ -39,3 +39,6 @@ using expected_str = tl::expected<T, QString>;
} \
do { \
} while (0)
#define QVERIFY_EXPECTED(expected) \
QVERIFY2(expected, expected ? #expected : expected.error().toUtf8())

View File

@@ -236,7 +236,7 @@ void tst_PluginSpec::locationAndPath()
{
Utils::expected_str<std::unique_ptr<PluginSpec>> ps = readCppPluginSpec(
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
QVERIFY(ps);
QVERIFY_EXPECTED(ps);
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps->get());
QCOMPARE(spec->location(), PLUGIN_DIR_PATH / "testplugin");
QCOMPARE(spec->filePath(), PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
@@ -291,7 +291,7 @@ void tst_PluginSpec::loadLibrary()
Utils::expected_str<std::unique_ptr<PluginSpec>> ps = readCppPluginSpec(
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
QVERIFY(ps);
QVERIFY_EXPECTED(ps);
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps->get());
QCOMPARE(spec->errorString(), QString());
@@ -308,7 +308,7 @@ void tst_PluginSpec::initializePlugin()
{
Utils::expected_str<std::unique_ptr<PluginSpec>> ps = readCppPluginSpec(
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
QVERIFY(ps);
QVERIFY_EXPECTED(ps);
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps->get());
QVERIFY(spec->resolveDependencies({}));
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));
@@ -332,7 +332,7 @@ void tst_PluginSpec::initializeExtensions()
{
Utils::expected_str<std::unique_ptr<PluginSpec>> ps = readCppPluginSpec(
PLUGIN_DIR_PATH / "testplugin" / libraryName(QLatin1String("test")));
QVERIFY(ps);
QVERIFY_EXPECTED(ps);
CppPluginSpec *spec = static_cast<CppPluginSpec *>(ps->get());
QVERIFY(spec->resolveDependencies({}));
QVERIFY2(spec->loadLibrary(), qPrintable(spec->errorString()));