summaryrefslogtreecommitdiffstats
path: root/tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp
diff options
context:
space:
mode:
authorIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-11-27 14:26:05 +0100
committerIevgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>2023-11-28 13:37:56 +0100
commit86cfafcb5ab66509ae7a3d422862611136ab2502 (patch)
tree2180c7e8556c5806957fc1a4627ed0ab7333d553 /tests/auto/tools/qdbuscpp2xml/tst_qdbuscpp2xml.cpp
parentb2d24044c2b001851b5aa88d92a0d5de57f25210 (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.cpp21
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);
+ }
}
}
}