Debugger: Adjust dumper test to cdb python dumper

Change-Id: Ide744edad545f0eeb2152f0d47bd8bace26d698d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2016-10-13 14:51:23 +02:00
parent 70e3b7dc8b
commit 69db1653c2

View File

@@ -1192,7 +1192,7 @@ void tst_Dumpers::dumper()
"\n\n#if defined(_MSC_VER)" + (data.useQt ? "\n\n#if defined(_MSC_VER)" + (data.useQt ?
"\n#include <qt_windows.h>" : "\n#include <qt_windows.h>" :
"\n#include <Windows.h>") + "\n#include <Windows.h>") +
"\n#define BREAK int *nullPtr = 0; *nullPtr = 0;" "\n#define BREAK [](){ DebugBreak(); }();"
"\n\nvoid unused(const void *first,...) { (void) first; }" "\n\nvoid unused(const void *first,...) { (void) first; }"
"\n#else" "\n#else"
"\n#include <stdint.h>\n"; "\n#include <stdint.h>\n";
@@ -1251,6 +1251,9 @@ void tst_Dumpers::dumper()
"\n}\n"; "\n}\n";
if (!data.allCode.isEmpty()) if (!data.allCode.isEmpty())
fullCode = data.allCode; fullCode = data.allCode;
// MSVC 14 requires a BOM on an UTF-8 encoded sourcefile
// see: https://msdn.microsoft.com/en-us//library/xwy0e8f2.aspx
source.write("\xef\xbb\xbf", 3);
source.write(fullCode.toUtf8()); source.write(fullCode.toUtf8());
source.close(); source.close();
@@ -1353,6 +1356,8 @@ void tst_Dumpers::dumper()
cmds += "quit\n"; cmds += "quit\n";
} else if (m_debuggerEngine == CdbEngine) { } else if (m_debuggerEngine == CdbEngine) {
QString cdbextPath = m_env.value("_NT_DEBUGGER_EXTENSION_PATH");
const int frameNumber = cdbextPath.contains("qtcreatorcdbext64") ? 2 : 1;
args << QLatin1String("-aqtcreatorcdbext.dll") args << QLatin1String("-aqtcreatorcdbext.dll")
<< QLatin1String("-G") << QLatin1String("-G")
<< QLatin1String("-xi") << QLatin1String("-xi")
@@ -1360,12 +1365,17 @@ void tst_Dumpers::dumper()
<< QLatin1String("-c") << QLatin1String("-c")
<< QLatin1String("g") << QLatin1String("g")
<< QLatin1String("debug\\doit.exe"); << QLatin1String("debug\\doit.exe");
cmds = "!qtcreatorcdbext.setparameter maxStringLength=100"; cmds += "!qtcreatorcdbext.script sys.path.insert(1, '" + dumperDir + "')\n"
if (data.bigArray) "!qtcreatorcdbext.script from cdbbridge import *\n"
cmds += " maxArraySize=10000"; "!qtcreatorcdbext.script theDumper = Dumper()\n"
cmds += "\n"; "!qtcreatorcdbext.script theDumper.setupDumpers()\n"
".frame " + QString::number(frameNumber) + "\n"
cmds += "!qtcreatorcdbext.locals -t -D -e " + expanded + " -v -c 0\n" "!qtcreatorcdbext.pid\n"
"!qtcreatorcdbext.script -t 42 theDumper.fetchVariables({"
"'token':2,'fancy':1,'forcens':1,"
"'autoderef':1,'dyntype':1,'passexceptions':0,"
"'qobjectnames':1,"
"'expanded':[" + expandedq + "]})\n"
"q\n"; "q\n";
} else if (m_debuggerEngine == LldbEngine) { } else if (m_debuggerEngine == LldbEngine) {
QFile fullLldb(t->buildPath + QLatin1String("/lldbcommand.txt")); QFile fullLldb(t->buildPath + QLatin1String("/lldbcommand.txt"));
@@ -1454,16 +1464,24 @@ void tst_Dumpers::dumper()
context.nameSpace.clear(); context.nameSpace.clear();
contents.replace("\\\"", "\""); contents.replace("\\\"", "\"");
} else { } else {
// "<qtcreatorcdbext>|type_char|token|remainingChunks|locals|message" QByteArray localsAnswerStart("<qtcreatorcdbext>|R|42|");
const QByteArray locals = "|locals|"; QByteArray locals("|script|");
int localsBeginPos = output.indexOf(locals); int localsBeginPos = output.indexOf(locals, output.indexOf(localsAnswerStart));
if (localsBeginPos == -1)
qDebug() << "OUTPUT: " << output;
QVERIFY(localsBeginPos != -1); QVERIFY(localsBeginPos != -1);
do { do {
const int msgStart = localsBeginPos + locals.length(); const int msgStart = localsBeginPos + locals.length();
const int msgEnd = output.indexOf("\n", msgStart); const int msgEnd = output.indexOf("\n", msgStart);
contents += output.mid(msgStart, msgEnd - msgStart); contents += output.mid(msgStart, msgEnd - msgStart);
localsBeginPos = output.indexOf(locals, msgEnd); localsBeginPos = output.indexOf(localsAnswerStart, msgEnd);
if (localsBeginPos != -1)
localsBeginPos = output.indexOf(locals, localsBeginPos);
} while (localsBeginPos != -1); } while (localsBeginPos != -1);
GdbMi result;
result.fromString(contents);
if (result.childCount() != 0)
contents = result.childAt(0).toString().toLocal8Bit();
} }
GdbMi actual; GdbMi actual;
@@ -1671,14 +1689,13 @@ void tst_Dumpers::dumper_data()
+ Check("ba0", "<0 items>", "@QBitArray") + Check("ba0", "<0 items>", "@QBitArray")
+ Check("ba1", "<20 items>", "@QBitArray") + Check("ba1", "<20 items>", "@QBitArray")
// Cdb has "proper" "false"/"true" // Cdb has "proper" "false"/"true"
+ Check("ba1.0", "[0]", "true", "bool") % CdbEngine + Check("ba1.0", "[0]", "1", "bool")
+ Check("ba1.0", "[0]", "1", "bool") % NoCdbEngine + Check("ba1.1", "[1]", "0", "bool")
+ Check("ba1.1", "[1]", "0", "bool") % NoCdbEngine + Check("ba1.2", "[2]", "1", "bool")
+ Check("ba1.2", "[2]", "1", "bool") % NoCdbEngine + Check("ba1.3", "[3]", "0", "bool")
+ Check("ba1.3", "[3]", "0", "bool") % NoCdbEngine + Check("ba1.15", "[15]", "1", "bool")
+ Check("ba1.15", "[15]", "1", "bool") % NoCdbEngine + Check("ba1.16", "[16]", "0", "bool")
+ Check("ba1.16", "[16]", "0", "bool") % NoCdbEngine + Check("ba1.17", "[17]", "1", "bool");
+ Check("ba1.17", "[17]", "1", "bool") % NoCdbEngine;
QTest::newRow("QByteArray") QTest::newRow("QByteArray")
<< Data("#include <QByteArray>\n" << Data("#include <QByteArray>\n"
@@ -1723,14 +1740,8 @@ void tst_Dumpers::dumper_data()
+ Check("ba1.13", "[13]", "2", "char") + Check("ba1.13", "[13]", "2", "char")
+ CheckType("ba2", "@QByteArray") + CheckType("ba2", "@QByteArray")
+ Check("s", Value('"' + QString(100, QChar('x')) + '"'), + Check("s", Value('"' + QString(100, QChar('x')) + '"'), "@QString")
"@QString") % NoCdbEngine + Check("ss", Value('"' + QString(100, QChar('c')) + '"'), "std::string")
+ Check("s", Value('"' + QString(100, QChar('x')) + "..." + '"'),
"@QString") % CdbEngine
+ Check("ss", Value('"' + QString(100, QChar('c')) + '"'),
"std::string") % NoCdbEngine
+ Check("ss", Value('"' + QString(100, QChar('c')) + "..." + '"'),
"std::string") % CdbEngine
+ Check("buf1", Value("\"" + QString(1, QChar(0xee)) + "\""), "@QByteArray") + Check("buf1", Value("\"" + QString(1, QChar(0xee)) + "\""), "@QByteArray")
+ Check("buf2", Value("\"" + QString(1, QChar(0xee)) + "\""), "@QByteArray") + Check("buf2", Value("\"" + QString(1, QChar(0xee)) + "\""), "@QByteArray")
@@ -1749,8 +1760,7 @@ void tst_Dumpers::dumper_data()
+ CoreProfile() + CoreProfile()
+ Check("c", "'x' (120)", "@QChar") % CdbEngine + Check("c", "120", "@QChar");
+ Check("c", "120", "@QChar") % NoCdbEngine;
QTest::newRow("QDateTime") QTest::newRow("QDateTime")
@@ -1773,33 +1783,33 @@ void tst_Dumpers::dumper_data()
+ Check("d0", "(invalid)", "@QDate") + Check("d0", "(invalid)", "@QDate")
+ Check("d1", "Tue Jan 1 1980", "@QDate") + Check("d1", "Tue Jan 1 1980", "@QDate")
+ Check("d1.(ISO)", "\"1980-01-01\"", "@QString") % NoCdbEngine % Optional() + Check("d1.(ISO)", "\"1980-01-01\"", "@QString") % Optional()
+ Check("d1.toString", "\"Tue Jan 1 1980\"", "@QString") % NoCdbEngine % Optional() + Check("d1.toString", "\"Tue Jan 1 1980\"", "@QString") % Optional()
+ CheckType("d1.(Locale)", "@QString") % NoCdbEngine % Optional() + CheckType("d1.(Locale)", "@QString") % Optional()
+ CheckType("d1.(SystemLocale)", "@QString") % NoCdbEngine % Optional() + CheckType("d1.(SystemLocale)", "@QString") % Optional()
+ Check("t0", "(invalid)", "@QTime") + Check("t0", "(invalid)", "@QTime")
+ Check("t1", "13:15:32", "@QTime") + Check("t1", "13:15:32", "@QTime")
+ Check("t1.(ISO)", "\"13:15:32\"", "@QString") % NoCdbEngine + Check("t1.(ISO)", "\"13:15:32\"", "@QString") % Optional()
+ Check("t1.toString", "\"13:15:32\"", "@QString") % NoCdbEngine + Check("t1.toString", "\"13:15:32\"", "@QString") % Optional()
+ CheckType("t1.(Locale)", "@QString") % NoCdbEngine % Optional() + CheckType("t1.(Locale)", "@QString") % Optional()
+ CheckType("t1.(SystemLocale)", "@QString") % NoCdbEngine % Optional() + CheckType("t1.(SystemLocale)", "@QString") % Optional()
+ Check("dt0", "(invalid)", "@QDateTime") + Check("dt0", "(invalid)", "@QDateTime")
//+ Check("dt1", Value4("Tue Jan 1 13:15:32 1980"), "@QDateTime") //+ Check("dt1", Value4("Tue Jan 1 13:15:32 1980"), "@QDateTime")
//+ Check("dt1", Value5("Tue Jan 1 13:15:32 1980 GMT"), "@QDateTime") //+ Check("dt1", Value5("Tue Jan 1 13:15:32 1980 GMT"), "@QDateTime")
+ Check("dt1.(ISO)", + Check("dt1.(ISO)",
"\"1980-01-01T13:15:32Z\"", "@QString") % NoCdbEngine % Optional() "\"1980-01-01T13:15:32Z\"", "@QString") % Optional()
+ CheckType("dt1.(Locale)", "@QString") % NoCdbEngine % Optional() + CheckType("dt1.(Locale)", "@QString") % Optional()
+ CheckType("dt1.(SystemLocale)", "@QString") % NoCdbEngine % Optional() + CheckType("dt1.(SystemLocale)", "@QString") % Optional()
+ Check("dt1.toString", + Check("dt1.toString",
Value4("\"Tue Jan 1 13:15:32 1980\""), "@QString") % NoCdbEngine % Optional() Value4("\"Tue Jan 1 13:15:32 1980\""), "@QString") % Optional()
+ Check("dt1.toString", + Check("dt1.toString",
Value5("\"Tue Jan 1 13:15:32 1980 GMT\""), "@QString") % NoCdbEngine % Optional(); Value5("\"Tue Jan 1 13:15:32 1980 GMT\""), "@QString") % Optional();
//+ Check("dt1.toUTC", //+ Check("dt1.toUTC",
// Value4("Tue Jan 1 13:15:32 1980"), "@QDateTime") % NoCdbEngine % Optional() // Value4("Tue Jan 1 13:15:32 1980"), "@QDateTime") % Optional()
//+ Check("dt1.toUTC", //+ Check("dt1.toUTC",
// Value5("Tue Jan 1 13:15:32 1980 GMT"), "@QDateTime") % NoCdbEngine % Optional(); // Value5("Tue Jan 1 13:15:32 1980 GMT"), "@QDateTime") % Optional();
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QString tempDir = "\"C:/Program Files\""; QString tempDir = "\"C:/Program Files\"";
@@ -1819,7 +1829,7 @@ void tst_Dumpers::dumper_data()
+ Check("dir", tempDir, "@QDir") + Check("dir", tempDir, "@QDir")
// + Check("dir.canonicalPath", tempDir, "@QString") // + Check("dir.canonicalPath", tempDir, "@QString")
+ Check("dir.absolutePath", tempDir, "@QString") % NoCdbEngine; + Check("dir.absolutePath", tempDir, "@QString") % Optional();
QTest::newRow("QFileInfo") QTest::newRow("QFileInfo")
@@ -1945,7 +1955,8 @@ void tst_Dumpers::dumper_data()
+ Check("h7.2.key", "\".\"", "@QString") + Check("h7.2.key", "\".\"", "@QString")
+ CheckType("h7.2.value", "@QPointer<@QObject>") + CheckType("h7.2.value", "@QPointer<@QObject>")
+ Check("h8", "<3 items>", "Hash") + Check("h8", "<3 items>", "Hash") % NoCdbEngine
+ Check("h8", "<3 items>", "QHash<int,float>") % CdbEngine
+ Check("h8.0", "[0] 22", FloatValue("22"), "") + Check("h8.0", "[0] 22", FloatValue("22"), "")
+ Check("it1.key", "22", "int") + Check("it1.key", "22", "int")
+ Check("it1.value", FloatValue("22"), "float") + Check("it1.value", FloatValue("22"), "float")
@@ -1981,11 +1992,9 @@ void tst_Dumpers::dumper_data()
+ NetworkProfile() + NetworkProfile()
+ Check("ha1", "129.0.0.130", "@QHostAddress") + Check("ha1", "129.0.0.130", "@QHostAddress")
+ Check("ha2", "\"127.0.0.1\"", "@QHostAddress") % NoCdbEngine + Check("ha2", "\"127.0.0.1\"", "@QHostAddress")
+ Check("ha2", "127.0.0.1", "@QHostAddress") % CdbEngine + Check("addr", "1:203:506:0:809:a0b:0:0", "@QIPv6Address")
+ Check("addr", "1:203:506:0:809:a0b:0:0", "@QIPv6Address") % NoCdbEngine + Check("addr.3", "[3]", "3", "unsigned char");
+ Check("addr.3", "[3]", "3", "unsigned char") % NoCdbEngine
+ Check("addr", "1:203:506:0:809:a0b::", "@QIPv6Address") % CdbEngine;
QTest::newRow("QImage") QTest::newRow("QImage")
@@ -2005,11 +2014,9 @@ void tst_Dumpers::dumper_data()
+ GuiProfile() + GuiProfile()
+ Check("im", "(200x200)", "@QImage") % NoCdbEngine + Check("im", "(200x200)", "@QImage")
+ Check("im", "200x200, depth: 32, format: 4, 160000 bytes", "@QImage") % CdbEngine
+ CheckType("pain", "@QPainter") + CheckType("pain", "@QPainter")
+ Check("pm", "(200x200)", "@QPixmap") % NoCdbEngine + Check("pm", "(200x200)", "@QPixmap");
+ Check("pm", "200x200, depth: 32", "@QPixmap") % CdbEngine;
QTest::newRow("QLinkedList") QTest::newRow("QLinkedList")
@@ -2064,20 +2071,19 @@ void tst_Dumpers::dumper_data()
+ Check("l2.1", "[1]", "104", "unsigned int") + Check("l2.1", "[1]", "104", "unsigned int")
+ Check("l3", "<3 items>", "@QLinkedList<Foo*>") + Check("l3", "<3 items>", "@QLinkedList<Foo*>")
+ CheckType("l3.0", "[0]", "Foo") % NoCdbEngine + CheckType("l3.0", "[0]", "Foo")
+ CheckType("l3.0", "[0]", "Foo *") % CdbEngine
+ Check("l3.0.a", "1", "int") + Check("l3.0.a", "1", "int")
+ Check("l3.1", "[1]", "0x0", "Foo *") + Check("l3.1", "[1]", "0x0", "Foo *")
+ CheckType("l3.2", "[2]", "Foo") % NoCdbEngine + CheckType("l3.2", "[2]", "Foo")
+ CheckType("l3.2", "[2]", "Foo *") % CdbEngine
+ Check("l3.2.a", "3", "int") + Check("l3.2.a", "3", "int")
+ Check("l4", "<2 items>", "@QLinkedList<unsigned long long>") % NoCdbEngine + Check("l4", "<2 items>", "@QLinkedList<unsigned long long>") % NoCdbEngine
+ Check("l4", "<2 items>", "QLinkedList<unsigned __int64>") % CdbEngine
+ Check("l4.0", "[0]", "42", "unsigned long long") % NoCdbEngine + Check("l4.0", "[0]", "42", "unsigned long long") % NoCdbEngine
+ Check("l4.0", "[0]", "42", "unsigned int64") % CdbEngine
+ Check("l4.1", "[1]", "43", "unsigned long long") % NoCdbEngine + Check("l4.1", "[1]", "43", "unsigned long long") % NoCdbEngine
+ Check("l4.1", "[1]", "43", "unsigned int64") % CdbEngine + Check("l4", "<2 items>", "@QLinkedList<unsigned __int64>") % CdbEngine
+ Check("l4.0", "[0]", "42", "unsigned __int64") % CdbEngine
+ Check("l4.1", "[1]", "43", "unsigned __int64") % CdbEngine
+ Check("l5", "<2 items>", "@QLinkedList<Foo>") + Check("l5", "<2 items>", "@QLinkedList<Foo>")
+ CheckType("l5.0", "[0]", "Foo") + CheckType("l5.0", "[0]", "Foo")
@@ -2191,10 +2197,9 @@ void tst_Dumpers::dumper_data()
+ Check("l4.0", "[0]", "\"1\"", "@QString") + Check("l4.0", "[0]", "\"1\"", "@QString")
+ Check("l5", "<3 items>", "@QList<int*>") + Check("l5", "<3 items>", "@QList<int*>")
+ CheckType("l5.0", "[0]", "int") % NoCdbEngine + CheckType("l5.0", "[0]", "int")
+ CheckType("l5.0", "[0]", "int *") % CdbEngine + CheckType("l5.1", "[1]", "int")
+ CheckType("l5.1", "[1]", "int") % NoCdbEngine
+ CheckType("l5.1", "[1]", "int *") % CdbEngine
+ Check("l5.2", "[2]", "0x0", "int*") + Check("l5.2", "[2]", "0x0", "int*")
+ Check("l6", "<0 items>", "@QList<int*>") + Check("l6", "<0 items>", "@QList<int*>")
@@ -2213,18 +2218,15 @@ void tst_Dumpers::dumper_data()
+ Check("l9.2", "[2]", "102", "unsigned short") + Check("l9.2", "[2]", "102", "unsigned short")
+ Check("l10", "<3 items>", "@QList<@QChar>") + Check("l10", "<3 items>", "@QList<@QChar>")
+ Check("l10.0", "[0]", "97", "@QChar") % NoCdbEngine + Check("l10.0", "[0]", "97", "@QChar")
+ Check("l10.0", "[0]", "'a' (97)", "@QChar") % CdbEngine + Check("l10.2", "[2]", "99", "@QChar")
+ Check("l10.2", "[2]", "99", "@QChar") % NoCdbEngine
+ Check("l10.2", "[2]", "'c' (99)", "@QChar") % CdbEngine
+ Check("l11", "<3 items>", "@QList<unsigned long long>") % NoCdbEngine + Check("l11", "<3 items>", "@QList<unsigned long long>") % NoCdbEngine
+ Check("l11.0", "[0]", "100", "unsigned long long") % NoCdbEngine + Check("l11.0", "[0]", "100", "unsigned long long") % NoCdbEngine
+ Check("l11.2", "[2]", "102", "unsigned long long") % NoCdbEngine + Check("l11.2", "[2]", "102", "unsigned long long") % NoCdbEngine
+ Check("l11", "<3 items>", "@QList<unsigned __int64>") % CdbEngine + Check("l11", "<3 items>", "@QList<unsigned __int64>") % CdbEngine
+ Check("l11.0", "[0]", "100", "unsigned int64") % CdbEngine + Check("l11.0", "[0]", "100", "unsigned __int64") % CdbEngine
+ Check("l11.2", "[2]", "102", "unsigned int64") % CdbEngine + Check("l11.2", "[2]", "102", "unsigned __int64") % CdbEngine
+ Check("l12", "<0 items>", "@QList<std::string>") + Check("l12", "<0 items>", "@QList<std::string>")
+ Check("l13", "<4 items>", "@QList<std::string>") + Check("l13", "<4 items>", "@QList<std::string>")
@@ -2251,10 +2253,8 @@ void tst_Dumpers::dumper_data()
+ Check("l0", "<0 items>", "@QList<Foo>") + Check("l0", "<0 items>", "@QList<Foo>")
+ Check("l1", "<100 items>", "@QList<Foo>") + Check("l1", "<100 items>", "@QList<Foo>")
+ Check("l1.0", "[0]", "", "Foo") % NoCdbEngine + Check("l1.0", "[0]", "", "Foo")
+ Check("l1.0", "[0]", "class Foo", "Foo") % CdbEngine + Check("l1.99", "[99]", "", "Foo")
+ Check("l1.99", "[99]", "", "Foo") % NoCdbEngine
+ Check("l1.99", "[99]", "class Foo", "Foo") % CdbEngine
+ Check("l", "<3 items>", "@QList<int>") + Check("l", "<3 items>", "@QList<int>")
+ Check("l.0", "[0]", "1", "int") + Check("l.0", "[0]", "1", "int")
@@ -2265,11 +2265,9 @@ void tst_Dumpers::dumper_data()
+ Check("r.1", "[1]", "2", "int") + Check("r.1", "[1]", "2", "int")
+ Check("r.2", "[2]", "1", "int") + Check("r.2", "[2]", "1", "int")
+ Check("rend", "", "Reverse") % NoCdbEngine + Check("rend", "", "Reverse") % NoCdbEngine
+ Check("rend", "", "std::reverse_iterator<QList<int>::iterator>") % CdbEngine
+ Check("rit", "", "Reverse") % NoCdbEngine + Check("rit", "", "Reverse") % NoCdbEngine
+ Check("rend", "class std::reverse_iterator<>", + Check("rit", "", "std::reverse_iterator<QList<int>::iterator>") % CdbEngine;
"std::reverse_iterator<QList<int>::iterator>") % CdbEngine
+ Check("rit", "class std::reverse_iterator<>",
"std::reverse_iterator<QList<int>::iterator>") % CdbEngine;
QTest::newRow("QLocale") QTest::newRow("QLocale")
@@ -2362,7 +2360,8 @@ void tst_Dumpers::dumper_data()
+ Check("m2.0", "[0] 11", FloatValue("31.0"), "") + Check("m2.0", "[0] 11", FloatValue("31.0"), "")
+ Check("m2.1", "[1] 22", FloatValue("32.0"), "") + Check("m2.1", "[1] 22", FloatValue("32.0"), "")
+ Check("m3", "<2 items>", "T") + Check("m3", "<2 items>", "T") % NoCdbEngine
+ Check("m3", "<2 items>", "QMap<unsigned int,QStringList>") % CdbEngine
+ Check("m4", "<1 items>", "@QMap<@QString, float>") + Check("m4", "<1 items>", "@QMap<@QString, float>")
+ Check("m4.0.key", "\"22.0\"", "@QString") + Check("m4.0.key", "\"22.0\"", "@QString")
@@ -2567,7 +2566,8 @@ void tst_Dumpers::dumper_data()
"\"Cruft\"", "@QVariant (QString)") "\"Cruft\"", "@QVariant (QString)")
+ Check5("mm", "destroyed", "@QMetaMethod") + Check5("mm", "destroyed", "@QMetaMethod")
+ Check4("mm", "destroyed(QObject*)", "@QMetaMethod") + Check4("mm", "destroyed(QObject*)", "@QMetaMethod")
+ Check("mm.handle", "14", "uint") + Check("mm.handle", "14", "uint") % NoCdbEngine
+ Check("mm.handle", "14", "unsigned int") % CdbEngine
+ Check("mp", "objectName", "@QMetaProperty"); + Check("mp", "objectName", "@QMetaProperty");
QTest::newRow("QObject3") QTest::newRow("QObject3")
@@ -2770,20 +2770,17 @@ void tst_Dumpers::dumper_data()
+ Check("rect0", "0x0+0+0", "@QRect") + Check("rect0", "0x0+0+0", "@QRect")
+ Check("rect", "200x200+100+100", "@QRect") + Check("rect", "200x200+100+100", "@QRect")
+ Check("rectf0", "0.0x0.0+0.0+0.0", "@QRectF") % NoCdbEngine + Check("rectf0", "0.0x0.0+0.0+0.0", "@QRectF")
+ Check("rectf0", "0x0+0+0", "@QRectF") % CdbEngine
+ Check("rectf", "200.5x200.5+100.25+100.25", "@QRectF") + Check("rectf", "200.5x200.5+100.25+100.25", "@QRectF")
+ Check("p0", "(0, 0)", "@QPoint") + Check("p0", "(0, 0)", "@QPoint")
+ Check("p", "(100, 200)", "@QPoint") + Check("p", "(100, 200)", "@QPoint")
+ Check("pf0", "(0.0, 0.0)", "@QPointF") % NoCdbEngine + Check("pf0", "(0.0, 0.0)", "@QPointF")
+ Check("pf0", "(0, 0)", "@QPointF") % CdbEngine
+ Check("pf", "(100.5, 200.5)", "@QPointF") + Check("pf", "(100.5, 200.5)", "@QPointF")
+ Check("s0", "(-1, -1)", "@QSize") + Check("s0", "(-1, -1)", "@QSize")
+ Check("s", "(100, 200)", "@QSize") + Check("s", "(100, 200)", "@QSize")
+ Check("sf0", "(-1.0, -1.0)", "@QSizeF") % NoCdbEngine + Check("sf0", "(-1.0, -1.0)", "@QSizeF")
+ Check("sf0", "(-1, -1)", "@QSizeF") % CdbEngine
+ Check("sf", "(100.5, 200.5)", "@QSizeF"); + Check("sf", "(100.5, 200.5)", "@QSizeF");
@@ -2827,11 +2824,9 @@ void tst_Dumpers::dumper_data()
"QVariant value = settings.value(\"item1\", \"\").toString();\n" "QVariant value = settings.value(\"item1\", \"\").toString();\n"
"unused(&value);\n") "unused(&value);\n")
+ CoreProfile() + CoreProfile()
+ Check("settings", "", "@QSettings") % NoCdbEngine + Check("settings", "", "@QSettings")
//+ Check("settings.@1", "[@QObject]", "", "@QObject") % NoCdbEngine //+ Check("settings.@1", "[@QObject]", "", "@QObject")
+ Check("value", "\"\"", "@QVariant (QString)") % NoCdbEngine + Check("value", "\"\"", "@QVariant (QString)");
+ Check("settings", "class QSettings", "@QSettings") % CdbEngine
+ Check("value", "(QString) \"\"", "QVariant") % CdbEngine;
QTest::newRow("QSet") QTest::newRow("QSet")
@@ -2872,8 +2867,8 @@ void tst_Dumpers::dumper_data()
+ Check("s2.1", "[1]", Value5("\"11.0\""), "@QString") + Check("s2.1", "[1]", Value5("\"11.0\""), "@QString")
+ Check("s3", "<1 items>", "@QSet<@QPointer<@QObject>>") + Check("s3", "<1 items>", "@QSet<@QPointer<@QObject>>")
+ Check("s3.0", "[0]", "", "@QPointer<@QObject>") % NoCdbEngine + Check("s3.0", "[0]", "", "@QPointer<@QObject>");
+ Check("s3.0", "[0]", "class QPointer<>", "@QPointer<@QObject>") % CdbEngine;
QString sharedData = QString sharedData =
" class EmployeeData : public QSharedData\n" " class EmployeeData : public QSharedData\n"
@@ -2969,21 +2964,18 @@ void tst_Dumpers::dumper_data()
+ Check("ptr11", "(null)", "@QSharedPointer<int>") + Check("ptr11", "(null)", "@QSharedPointer<int>")
+ Check("ptr12", "(null)", "@QSharedPointer<int>") + Check("ptr12", "(null)", "@QSharedPointer<int>")
+ Check("ptr20", "\"hallo\"", "@QSharedPointer<@QString>") % NoCdbEngine + Check("ptr20", "\"hallo\"", "@QSharedPointer<@QString>")
+ Check("ptr20", "class QSharedPointer<>", "@QSharedPointer<@QString>") % CdbEngine
+ Check("ptr20.data", "\"hallo\"", "@QString") + Check("ptr20.data", "\"hallo\"", "@QString")
+ Check("ptr20.weakref", "3", "int") + Check("ptr20.weakref", "3", "int")
+ Check("ptr20.strongref", "3", "int") + Check("ptr20.strongref", "3", "int")
+ Check("ptr21.data", "\"hallo\"", "@QString") + Check("ptr21.data", "\"hallo\"", "@QString")
+ Check("ptr22.data", "\"hallo\"", "@QString") + Check("ptr22.data", "\"hallo\"", "@QString")
+ Check("ptr30", "43", "@QSharedPointer<int>") % NoCdbEngine + Check("ptr30", "43", "@QSharedPointer<int>")
+ Check("ptr30", "class QSharedPointer<>", "@QSharedPointer<int>") % CdbEngine
+ Check("ptr30.data", "43", "int") + Check("ptr30.data", "43", "int")
+ Check("ptr30.weakref", "4", "int") + Check("ptr30.weakref", "4", "int")
+ Check("ptr30.strongref", "1", "int") + Check("ptr30.strongref", "1", "int")
+ Check("ptr33", "43", "@QWeakPointer<int>") % NoCdbEngine + Check("ptr33", "43", "@QWeakPointer<int>")
+ Check("ptr33", "class QWeakPointer<>", "@QWeakPointer<int>") % CdbEngine
+ Check("ptr33.data", "43", "int") + Check("ptr33.data", "43", "int")
+ Check("ptr40", "\"hallo\"", "@QSharedPointer<@QString>") + Check("ptr40", "\"hallo\"", "@QSharedPointer<@QString>")
@@ -3021,7 +3013,7 @@ void tst_Dumpers::dumper_data()
+ Check("i11", "", "@QStandardItem") + Check("i11", "", "@QStandardItem")
+ Check("i2", "", "@QStandardItem") + Check("i2", "", "@QStandardItem")
+ Check("m", "", "@QStandardItemModel") + Check("m", "", "@QStandardItemModel")
+ Check("mi", "\"1\"", "@QModelIndex") % NoCdbEngine; + Check("mi", "\"1\"", "@QModelIndex");
*/ */
@@ -3069,27 +3061,21 @@ void tst_Dumpers::dumper_data()
+ Check("s2.8999", "[8999]", "8999", "int") + Check("s2.8999", "[8999]", "8999", "int")
+ Check("s3", "<3 items>", "@QStack<Foo*>") + Check("s3", "<3 items>", "@QStack<Foo*>")
+ Check("s3.0", "[0]", "", "Foo") % NoCdbEngine + Check("s3.0", "[0]", "", "Foo")
+ CheckType("s3.0", "[0]", "Foo *") % CdbEngine
+ Check("s3.0.a", "1", "int") + Check("s3.0.a", "1", "int")
+ Check("s3.1", "[1]", "0x0", "Foo *") + Check("s3.1", "[1]", "0x0", "Foo *")
+ Check("s3.2", "[2]", "", "Foo") % NoCdbEngine + Check("s3.2", "[2]", "", "Foo")
+ CheckType("s3.2", "[2]", "Foo *") % CdbEngine
+ Check("s3.2.a", "2", "int") + Check("s3.2.a", "2", "int")
+ Check("s4", "<4 items>", "@QStack<Foo>") + Check("s4", "<4 items>", "@QStack<Foo>")
+ Check("s4.0", "[0]", "", "Foo") % NoCdbEngine + Check("s4.0", "[0]", "", "Foo")
+ Check("s4.0", "[0]", "class Foo", "Foo") % CdbEngine
+ Check("s4.0.a", "1", "int") + Check("s4.0.a", "1", "int")
+ Check("s4.3", "[3]", "", "Foo") % NoCdbEngine + Check("s4.3", "[3]", "", "Foo")
+ Check("s4.3", "[3]", "class Foo", "Foo") % CdbEngine
+ Check("s4.3.a", "4", "int") + Check("s4.3.a", "4", "int")
+ Check("s5", "<2 items>", "@QStack<bool>") + Check("s5", "<2 items>", "@QStack<bool>")
+ Check("s5.0", "[0]", "1", "bool") % NoCdbEngine // 1 -> true is done on display + Check("s5.0", "[0]", "1", "bool") // 1 -> true is done on display
+ Check("s5.0", "[0]", "true", "bool") % CdbEngine + Check("s5.1", "[1]", "0", "bool");
+ Check("s5.1", "[1]", "0", "bool") % NoCdbEngine
+ Check("s5.1", "[1]", "false", "bool") % CdbEngine;
QTest::newRow("QTimeZone") QTest::newRow("QTimeZone")
@@ -3239,7 +3225,8 @@ void tst_Dumpers::dumper_data()
+ Check("str4", "\"Hello\tQt\"", "@QString") + Check("str4", "\"Hello\tQt\"", "@QString")
+ Check("holder", "", "@QStringDataPtr") + Check("holder", "", "@QStringDataPtr")
+ Check("holder.ptr", "\"ABC\"", "@QStringData") + Check("holder.ptr", "\"ABC\"", "@QStringData") % NoCdbEngine
+ Check("holder.ptr", "\"ABC\"", "@QTypedArrayData<unsigned short>") % CdbEngine
+ Check("sd", "\"Q\"", "@QStaticStringData<1>"); + Check("sd", "\"Q\"", "@QStaticStringData<1>");
@@ -3254,7 +3241,8 @@ void tst_Dumpers::dumper_data()
+ CoreProfile() + CoreProfile()
+ Check("refstring", "\"Ref String Test\"", "@QString &"); + Check("refstring", "\"Ref String Test\"", "@QString &") % NoCdbEngine
+ Check("refstring", "\"Ref String Test\"", "@QString") % CdbEngine;
QTest::newRow("QText") QTest::newRow("QText")
@@ -3348,7 +3336,8 @@ void tst_Dumpers::dumper_data()
//+ Check("v1", "\"Some string\"", "@QVariant (QString)") //+ Check("v1", "\"Some string\"", "@QVariant (QString)")
+ CheckType("v1", "@QVariant (QString)") + CheckType("v1", "@QVariant (QString)")
+ Check("my", "<2 items>", "MyType") + Check("my", "<2 items>", "MyType") % NoCdbEngine
+ Check("my", "<2 items>", "QMap<unsigned int,QStringList>") % CdbEngine
+ Check("my.0.key", "1", "unsigned int") + Check("my.0.key", "1", "unsigned int")
+ Check("my.0.value", "<1 items>", "@QStringList") + Check("my.0.value", "<1 items>", "@QStringList")
+ Check("my.0.value.0", "[0]", "\"Hello\"", "@QString") + Check("my.0.value.0", "[0]", "\"Hello\"", "@QString")
@@ -3356,7 +3345,8 @@ void tst_Dumpers::dumper_data()
+ Check("my.1.value", "<1 items>", "@QStringList") + Check("my.1.value", "<1 items>", "@QStringList")
+ Check("my.1.value.0", "[0]", "\"World\"", "@QString") + Check("my.1.value.0", "[0]", "\"World\"", "@QString")
//+ CheckType("v2", "@QVariant (MyType)") //+ CheckType("v2", "@QVariant (MyType)")
+ Check("v2.data", "<2 items>", "MyType") + Check("v2.data", "<2 items>", "MyType") % NoCdbEngine
+ Check("v2.data", "<2 items>", "QMap<unsigned int,QStringList>") % CdbEngine
+ Check("v2.data.0.key", "1", "unsigned int") + Check("v2.data.0.key", "1", "unsigned int")
+ Check("v2.data.0.value", "<1 items>", "@QStringList") + Check("v2.data.0.value", "<1 items>", "@QStringList")
+ Check("v2.data.0.value.0", "[0]", "\"Hello\"", "@QString") + Check("v2.data.0.value.0", "[0]", "\"Hello\"", "@QString")
@@ -3565,7 +3555,8 @@ void tst_Dumpers::dumper_data()
+ UseDebugImage() + UseDebugImage()
+ Check("ha", "\"127.0.0.1\"", "@QHostAddress") + Check("ha", "\"127.0.0.1\"", "@QHostAddress")
+ Check("ha.a", "2130706433", "@quint32") + Check("ha.a", "2130706433", "@quint32") % NoCdbEngine
+ Check("ha.a", "2130706433", "unsigned int") % CdbEngine
+ Check("ha.ipString", "\"127.0.0.1\"", "@QString") + Check("ha.ipString", "\"127.0.0.1\"", "@QString")
+ Check("ha.isParsed", "1", "bool") + Check("ha.isParsed", "1", "bool")
//+ Check("ha.protocol", "@QAbstractSocket::IPv4Protocol (0)", //+ Check("ha.protocol", "@QAbstractSocket::IPv4Protocol (0)",
@@ -3574,7 +3565,8 @@ void tst_Dumpers::dumper_data()
// "@QAbstractSocket::NetworkLayerProtocol") % LldbEngine // "@QAbstractSocket::NetworkLayerProtocol") % LldbEngine
+ Check("ha.scopeId", "\"\"", "@QString") + Check("ha.scopeId", "\"\"", "@QString")
+ Check("ha1", "\"127.0.0.1\"", "@QHostAddress") + Check("ha1", "\"127.0.0.1\"", "@QHostAddress")
+ Check("ha1.a", "2130706433", "@quint32") + Check("ha1.a", "2130706433", "@quint32") % NoCdbEngine
+ Check("ha1.a", "2130706433", "unsigned int") % CdbEngine
+ Check("ha1.ipString", "\"127.0.0.1\"", "@QString") + Check("ha1.ipString", "\"127.0.0.1\"", "@QString")
+ Check("ha1.isParsed", "1", "bool") + Check("ha1.isParsed", "1", "bool")
//+ Check("ha1.protocol", "@QAbstractSocket::IPv4Protocol (0)", //+ Check("ha1.protocol", "@QAbstractSocket::IPv4Protocol (0)",
@@ -3720,39 +3712,30 @@ void tst_Dumpers::dumper_data()
+ Check("v1.8999", "[8999]", "80982001", "int") + Check("v1.8999", "[8999]", "80982001", "int")
+ Check("v2", "<2 items>", "@QVector<Foo>") + Check("v2", "<2 items>", "@QVector<Foo>")
+ Check("v2.0", "[0]", "", "Foo") % NoCdbEngine + Check("v2.0", "[0]", "", "Foo")
+ Check("v2.0", "[0]", "class Foo", "Foo") % CdbEngine
+ Check("v2.0.a", "1", "int") + Check("v2.0.a", "1", "int")
+ Check("v2.1", "[1]", "", "Foo") % NoCdbEngine + Check("v2.1", "[1]", "", "Foo")
+ Check("v2.1", "[1]", "class Foo", "Foo") % CdbEngine
+ Check("v2.1.a", "2", "int") + Check("v2.1.a", "2", "int")
+ Check("v3", "<2 items>", "FooVector") % NoCdbEngine + Check("v3", "<2 items>", "FooVector") % NoCdbEngine
+ Check("v3", "<2 items>", "QVector<Foo>") % CdbEngine + Check("v3", "<2 items>", "QVector<Foo>") % CdbEngine
+ Check("v3.0", "[0]", "", "Foo") % NoCdbEngine + Check("v3.0", "[0]", "", "Foo")
+ Check("v3.0", "[0]", "class Foo", "Foo") % CdbEngine
+ Check("v3.0.a", "1", "int") + Check("v3.0.a", "1", "int")
+ Check("v3.1", "[1]", "", "Foo") % NoCdbEngine + Check("v3.1", "[1]", "", "Foo")
+ Check("v3.1", "[1]", "class Foo", "Foo") % CdbEngine
+ Check("v3.1.a", "2", "int") + Check("v3.1.a", "2", "int")
+ Check("v4", "<3 items>", "@QVector<Foo*>") + Check("v4", "<3 items>", "@QVector<Foo*>")
+ CheckType("v4.0", "[0]", "Foo") % NoCdbEngine + CheckType("v4.0", "[0]", "Foo")
+ CheckType("v4.0", "[0]", "Foo *") % CdbEngine
+ Check("v4.0.a", "1", "int") + Check("v4.0.a", "1", "int")
+ Check("v4.1", "[1]", "0x0", "Foo *") + Check("v4.1", "[1]", "0x0", "Foo *")
+ CheckType("v4.2", "[2]", "Foo") % NoCdbEngine + CheckType("v4.2", "[2]", "Foo")
+ CheckType("v4.2", "[2]", "Foo *") % CdbEngine
+ Check("v4.2.a", "5", "int") + Check("v4.2.a", "5", "int")
+ Check("v5", "<2 items>", "@QVector<bool>") + Check("v5", "<2 items>", "@QVector<bool>")
+ Check("v5.0", "[0]", "1", "bool") % NoCdbEngine + Check("v5.0", "[0]", "1", "bool")
+ Check("v5.1", "[1]", "0", "bool") % NoCdbEngine + Check("v5.1", "[1]", "0", "bool")
+ Check("v5.0", "[0]", "true", "bool") % CdbEngine
+ Check("v5.1", "[1]", "false", "bool") % CdbEngine
+ CheckType("pv", "@QVector<@QList<int>>") % NoCdbEngine + CheckType("pv", "@QVector<@QList<int>>")
+ CheckType("pv", "QVector<QList<int> > *") % CdbEngine
+ Check("pv.0", "[0]", "<1 items>", "@QList<int>") + Check("pv.0", "[0]", "<1 items>", "@QList<int>")
+ Check("pv.0.0", "[0]", "1", "int") + Check("pv.0.0", "[0]", "1", "int")
+ Check("pv.1", "[1]", "<2 items>", "@QList<int>") + Check("pv.1", "[1]", "<2 items>", "@QList<int>")
@@ -3815,7 +3798,8 @@ void tst_Dumpers::dumper_data()
+ Check("v2.1", "[1]", "", "Foo") + Check("v2.1", "[1]", "", "Foo")
+ Check("v2.1.a", "2", "int") + Check("v2.1.a", "2", "int")
+ Check("v3", "<2 items>", "FooVector") + Check("v3", "<2 items>", "FooVector") % NoCdbEngine
+ Check("v3", "<2 items>", "@QVarLengthArray<Foo,256>") % CdbEngine
+ Check("v3.0", "[0]", "", "Foo") + Check("v3.0", "[0]", "", "Foo")
+ Check("v3.0.a", "1", "int") + Check("v3.0.a", "1", "int")
+ Check("v3.1", "[1]", "", "Foo") + Check("v3.1", "[1]", "", "Foo")
@@ -4043,29 +4027,23 @@ void tst_Dumpers::dumper_data()
+ Check("l0", "<0 items>", "std::list<int>") + Check("l0", "<0 items>", "std::list<int>")
//+ Check("l1", "<at least 1000 items>", "std::list<int>") % NoCdbEngine //+ Check("l1", "<at least 1000 items>", "std::list<int>")
//+ Check("l1", "<10000 items>", "std::list<int>") % CdbEngine
+ Check("l1", ValuePattern("<.*1000.* items>"), "std::list<int>") // Matches both above. + Check("l1", ValuePattern("<.*1000.* items>"), "std::list<int>") // Matches both above.
+ Check("l1.0", "[0]", "0", "int") + Check("l1.0", "[0]", "0", "int")
+ Check("l1.1", "[1]", "1", "int") + Check("l1.1", "[1]", "1", "int")
+ Check("l1.999", "[999]", "999", "int") % NoCdbEngine + Check("l1.999", "[999]", "999", "int")
+ Check("l1.999", "[999]", "999", "int") % CdbEngine % Optional()
+ Check("l2", "<2 items>", "std::list<bool>") + Check("l2", "<2 items>", "std::list<bool>")
+ Check("l2.0", "[0]", "1", "bool") + Check("l2.0", "[0]", "1", "bool")
+ Check("l2.1", "[1]", "0", "bool") + Check("l2.1", "[1]", "0", "bool")
+ Check("l3", "<3 items>", "std::list<int*>") + Check("l3", "<3 items>", "std::list<int*>")
+ Check("l3.0", "[0]", "1", "int") % NoCdbEngine + Check("l3.0", "[0]", "1", "int")
+ Check("l3.0.*", "*", "1", "int") % CdbEngine
+ Check("l3.1", "[1]", "0x0", "int *") + Check("l3.1", "[1]", "0x0", "int *")
+ Check("l3.2", "[2]", "2", "int") % NoCdbEngine + Check("l3.2", "[2]", "2", "int")
+ Check("l3.2.*", "*", "2", "int") % CdbEngine
+ Check("l4.@1.0", "[0]", "1", "int") % NoCdbEngine + Check("l4.@1.0", "[0]", "1", "int")
+ Check("l4.@1.1", "[1]", "2", "int") % NoCdbEngine + Check("l4.@1.1", "[1]", "2", "int");
+ Check("l4.list@t1.0", "[0]", "1", "int") % CdbEngine
+ Check("l4.list@t1.1", "[1]", "2", "int") % CdbEngine;
QTest::newRow("StdListQt") QTest::newRow("StdListQt")
@@ -4519,33 +4497,20 @@ void tst_Dumpers::dumper_data()
+ Check("b0", "<0 items>", "std::valarray<bool>") + Check("b0", "<0 items>", "std::valarray<bool>")
+ Check("b1", "<5 items>", "std::valarray<bool>") + Check("b1", "<5 items>", "std::valarray<bool>")
+ Check("b1.0", "[0]", "1", "bool") % NoCdbEngine + Check("b1.0", "[0]", "1", "bool")
+ Check("b1.1", "[1]", "0", "bool") % NoCdbEngine + Check("b1.1", "[1]", "0", "bool")
+ Check("b1.2", "[2]", "0", "bool") % NoCdbEngine + Check("b1.2", "[2]", "0", "bool")
+ Check("b1.3", "[3]", "1", "bool") % NoCdbEngine + Check("b1.3", "[3]", "1", "bool")
+ Check("b1.4", "[4]", "0", "bool") % NoCdbEngine + Check("b1.4", "[4]", "0", "bool")
+ Check("b1.0", "[0]", "true", "bool") % CdbEngine
+ Check("b1.1", "[1]", "false", "bool") % CdbEngine
+ Check("b1.2", "[2]", "false", "bool") % CdbEngine
+ Check("b1.3", "[3]", "true", "bool") % CdbEngine
+ Check("b1.4", "[4]", "false", "bool") % CdbEngine
+ Check("b2", "<65 items>", "std::valarray<bool>") + Check("b2", "<65 items>", "std::valarray<bool>")
+ Check("b2.0", "[0]", "1", "bool")
+ Check("b2.0", "[0]", "1", "bool") % NoCdbEngine + Check("b2.64", "[64]", "1", "bool")
+ Check("b2.64", "[64]", "1", "bool") % NoCdbEngine
+ Check("b2.0", "[0]", "true", "bool") % CdbEngine
+ Check("b2.64", "[64]", "true", "bool") % CdbEngine
+ Check("b3", "<300 items>", "std::valarray<bool>") + Check("b3", "<300 items>", "std::valarray<bool>")
+ Check("b3.0", "[0]", "0", "bool")
+ Check("b3.299", "[299]", "0", "bool");
+ Check("b3.0", "[0]", "0", "bool") % NoCdbEngine
+ Check("b3.299", "[299]", "0", "bool") % NoCdbEngine
+ Check("b3.0", "[0]", "false", "bool") % CdbEngine
+ Check("b3.99", "[99]", "false", "bool") % CdbEngine;
QTest::newRow("StdVector") QTest::newRow("StdVector")
<< Data("#include <vector>\n" << Data("#include <vector>\n"
@@ -4880,13 +4845,10 @@ void tst_Dumpers::dumper_data()
"unused(&c, &sc, &uc, &qs, &qu);\n") "unused(&c, &sc, &uc, &qs, &qu);\n")
+ Check("c", "-12", "char") // on all our platforms char is signed. + Check("c", "-12", "char") // on all our platforms char is signed.
+ Check("sc", "-12", "signed char") % NoCdbEngine + Check("sc", "-12", "signed char")
+ Check("sc", "-12", "char") % CdbEngine
+ Check("uc", "244", "unsigned char") + Check("uc", "244", "unsigned char")
+ Check("qs", "-12", "@qint8") % NoCdbEngine + Check("qs", "-12", "@qint8")
+ Check("qs", "-12", "char") % CdbEngine + Check("qu", "244", "@quint8");
+ Check("qu", "244", "@quint8") % NoCdbEngine
+ Check("qu", "244", "unsigned char") % CdbEngine;
QTest::newRow("CharArrays") QTest::newRow("CharArrays")
@@ -5127,8 +5089,8 @@ void tst_Dumpers::dumper_data()
"unused(&t1, &t2, &j, &k);\n") "unused(&t1, &t2, &j, &k);\n")
+ CoreProfile() + CoreProfile()
+ BigArrayProfile() + BigArrayProfile()
+ NoCdbEngine
+ Check("j", "1000", "ns::vl") + Check("j", "1000", "ns::vl")
+ Check("k", "1000", "ns::verylong") + Check("k", "1000", "ns::verylong")
@@ -5348,14 +5310,11 @@ void tst_Dumpers::dumper_data()
"QString dummy;\n" "QString dummy;\n"
"unused(&a, &b, &c, &d, &dummy);\n") "unused(&a, &b, &c, &d, &dummy);\n")
+ CoreProfile() + CoreProfile()
+ Check("a", "-1143861252567568256", "@qint64") % NoCdbEngine + Check("a", "-1143861252567568256", "@qint64")
+ Check("b", "17302882821141983360", "@quint64") % NoCdbEngine + Check("b", "17302882821141983360", "@quint64")
+ Check("c", "18446744073709551614", "@quint64") % NoCdbEngine + Check("c", "18446744073709551614", "@quint64")
+ Check("d", "-2", "@qint64") % NoCdbEngine + Check("d", "-2", "@qint64");
+ Check("a", "-1143861252567568256", "int64") % CdbEngine
+ Check("b", "17302882821141983360", "unsigned int64") % CdbEngine
+ Check("c", "18446744073709551614", "unsigned int64") % CdbEngine
+ Check("d", "-2", "int64") % CdbEngine;
QTest::newRow("Hidden") QTest::newRow("Hidden")
<< Data("#include <QString>\n", << Data("#include <QString>\n",