diff options
author | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-11-27 14:26:05 +0100 |
---|---|---|
committer | Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> | 2023-11-28 13:37:56 +0100 |
commit | 86cfafcb5ab66509ae7a3d422862611136ab2502 (patch) | |
tree | 2180c7e8556c5806957fc1a4627ed0ab7333d553 /tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp | |
parent | b2d24044c2b001851b5aa88d92a0d5de57f25210 (diff) |
qdbuscpp2xml: Register QtDBus metatypes
Explicitly register QtDBus-specific metatypes before attempting
to generate output. This fixes a bug when types like QDBusObjectPath
are sometimes ignored by this tool. Export QDBusMetaTypeId::init()
for that reason. Add a regression test to tst_qdbuscpp2xml.
Fixes: QTBUG-34550
Change-Id: I16faa79a794d09a26bad45e18730379681a20b50
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp')
-rw-r--r-- | tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp b/tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp index 973c3587d2..1615b363fe 100644 --- a/tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp +++ b/tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp @@ -9,7 +9,7 @@ #include <QtDBus/private/dbus_minimal_p.h> #include "test1.h" - +#include "test2.h" // in qdbusxmlgenerator.cpp QT_BEGIN_NAMESPACE @@ -47,6 +47,7 @@ private: void tst_qdbuscpp2xml::initTestCase() { m_tests.insert("test1", new Test1); + m_tests.insert("test2", new Test2); } void tst_qdbuscpp2xml::cleanupTestCase() @@ -61,14 +62,16 @@ void tst_qdbuscpp2xml::qdbuscpp2xml_data() QBitArray doneFlags(int(QDBusConnection::ExportAllContents) + 1); for (int flag = 0x10; flag < QDBusConnection::ExportScriptableContents; flag += 0x10) { - QTest::newRow("xmlgenerator-" + QByteArray::number(flag)) << "test1" << flag; - doneFlags.setBit(flag); - for (int mask = QDBusConnection::ExportAllSlots; mask <= QDBusConnection::ExportAllContents; mask += 0x110) { - int flags = flag | mask; - if (doneFlags.testBit(flags)) - continue; - QTest::newRow("xmlgenerator-" + QByteArray::number(flags)) << "test1" << flags; - doneFlags.setBit(flags); + for (const auto &testFile : m_tests.keys()) { + QTest::newRow("xmlgenerator-" + QByteArray::number(flag) + "-" + qUtf8Printable(testFile)) << testFile << flag; + doneFlags.setBit(flag); + for (int mask = QDBusConnection::ExportAllSlots; mask <= QDBusConnection::ExportAllContents; mask += 0x110) { + int flags = flag | mask; + if (doneFlags.testBit(flags)) + continue; + QTest::newRow("xmlgenerator-" + QByteArray::number(flags) + "-" + qUtf8Printable(testFile)) << testFile << flags; + doneFlags.setBit(flags); + } } } } |