From 908b051973b024deb0c47c4ada992dafa9437d65 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 4 Nov 2009 14:07:18 +0100 Subject: [PATCH] debugger: work on dumper autotests. --- tests/auto/debugger/tst_gdb.cpp | 420 ++++++++++++++++++++------------ 1 file changed, 261 insertions(+), 159 deletions(-) diff --git a/tests/auto/debugger/tst_gdb.cpp b/tests/auto/debugger/tst_gdb.cpp index 9242773bf3e..b6a4e2ab748 100644 --- a/tests/auto/debugger/tst_gdb.cpp +++ b/tests/auto/debugger/tst_gdb.cpp @@ -170,6 +170,8 @@ private slots: void dump_misc(); void dump_std_list(); void dump_std_vector(); + void dump_std_string(); + void dump_std_wstring(); void dump_Foo(); void dump_QByteArray(); void dump_QChar(); @@ -182,6 +184,7 @@ private slots: void dump_QList_QString(); void dump_QList_QString3(); void dump_QList_Int3(); + void dump_QMap_QString_QString(); void dump_QPoint(); void dump_QRect(); void dump_QSharedPointer(); @@ -748,9 +751,9 @@ void tst_Gdb::dump_Foo() { prepare("dump_Foo"); next(); - run("B","{iname='local.f',addr='-',name='f',type='Foo'," + run("B","{iname='local.f',name='f',type='Foo'," "value='-',numchild='5'}", "", 0); - run("B","{iname='local.f',addr='-',name='f',type='Foo'," + run("B","{iname='local.f',name='f',type='Foo'," "value='-',numchild='5',children=[" "{iname='local.f.a',name='a',type='int',value='0',numchild='0'}," "{iname='local.f.b',name='b',type='int',value='2',numchild='0'}," @@ -782,9 +785,9 @@ void tst_Gdb::dump_array() prepare("dump_array_char"); next(); // FIXME: numchild should be '4', not '1' - run("B","{iname='local.s',addr='-',name='s',type='char [4]'," + run("B","{iname='local.s',name='s',type='char [4]'," "value='-',numchild='1'}", ""); - run("B","{iname='local.s',addr='-',name='s',type='char [4]'," + run("B","{iname='local.s',name='s',type='char [4]'," "value='-',numchild='1',childtype='char',childnumchild='0'," "children=[{value='88 'X''},{value='89 'Y''},{value='90 'Z''}," "{value='0 '\\\\000''}]}", @@ -793,9 +796,9 @@ void tst_Gdb::dump_array() prepare("dump_array_int"); next(); // FIXME: numchild should be '3', not '1' - run("B","{iname='local.s',addr='-',name='s',type='int [3]'," + run("B","{iname='local.s',name='s',type='int [3]'," "value='-',numchild='1'}", ""); - run("B","{iname='local.s',addr='-',name='s',type='int [3]'," + run("B","{iname='local.s',name='s',type='int [3]'," "value='-',numchild='1',childtype='int',childnumchild='0'," "children=[{value='1'},{value='2'},{value='3'}]}", "local.s"); @@ -815,9 +818,9 @@ void tst_Gdb::dump_misc() { prepare("dump_misc"); next(); - run("B","{iname='local.s',addr='-',name='s',type='int *'," + run("B","{iname='local.s',name='s',type='int *'," "value='-',numchild='1'}", "", 0); - run("B","{iname='local.s',addr='-',name='s',type='int *'," + run("B","{iname='local.s',name='s',type='int *'," "value='-',numchild='1',children=[{iname='local.s.*'," "name='*s',type='int',value='1',numchild='0'}]}", "local.s", 0); } @@ -1010,9 +1013,9 @@ void tst_Gdb::dump_QAbstractItemAndModelIndex() void tst_Gdb::dump_QAbstractItemModelHelper(QAbstractItemModel &m) { QByteArray address = ptrToBa(&m); - QByteArray expected = QByteArray("tiname='iname',addr='%'," + QByteArray expected = QByteArray("tiname='iname'," "type='"NS"QAbstractItemModel',value='(%,%)',numchild='1',children=[" - "{numchild='1',name='"NS"QObject',addr='%',value='%'," + "{numchild='1',name='"NS"QObject',value='%'," "valueencoded='2',type='"NS"QObject',displayedtype='%'}") << address << N(m.rowCount()) @@ -1025,7 +1028,7 @@ void tst_Gdb::dump_QAbstractItemModelHelper(QAbstractItemModel &m) for (int column = 0; column < m.columnCount(); ++column) { QModelIndex mi = m.index(row, column); expected.append(QByteArray(",{name='[%,%]',value='%'," - "valueencoded='2',numchild='1',addr='$%,%,%,%'," + "valueencoded='2',numchild='1',%,%,%'," "type='"NS"QAbstractItem'}") << N(row) << N(column) @@ -1089,27 +1092,27 @@ void tst_Gdb::dump_QByteArray() { prepare("dump_QByteArray"); if (checkUninitialized) - run("A","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("A","{iname='local.ba',name='ba',type='"NS"QByteArray'," "value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("B","{iname='local.ba',name='ba',type='"NS"QByteArray'," "valueencoded='6',value='',numchild='0'}"); next(); - run("C","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("C","{iname='local.ba',name='ba',type='"NS"QByteArray'," "valueencoded='6',value='61',numchild='1'}"); next(); - run("D","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("D","{iname='local.ba',name='ba',type='"NS"QByteArray'," "valueencoded='6',value='6162',numchild='2'}"); next(); - run("E","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("E","{iname='local.ba',name='ba',type='"NS"QByteArray'," "valueencoded='6',value='616161616161616161616161616161616161" "616161616161616161616161616161616161616161616161616161616161" "616161616161616161616161616161616161616161616161616161616161" "6161616161616161616161616161616161616161616161',numchild='101'}"); next(); - run("F","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("F","{iname='local.ba',name='ba',type='"NS"QByteArray'," "valueencoded='6',value='616263070a0d1b27223f',numchild='10'}"); - run("F","{iname='local.ba',addr='-',name='ba',type='"NS"QByteArray'," + run("F","{iname='local.ba',name='ba',type='"NS"QByteArray'," "valueencoded='6',value='616263070a0d1b27223f',numchild='10'," "childtype='char',childnumchild='0'," "children=[{value='97 'a''},{value='98 'b''}," @@ -1135,27 +1138,27 @@ void tst_Gdb::dump_QChar() next(); // Case 1: Printable ASCII character. - run("B","{iname='local.c',addr='-',name='c',type='"NS"QChar'," + run("B","{iname='local.c',name='c',type='"NS"QChar'," "value=''X', ucs=88',numchild='0'}"); next(); // Case 2: Printable non-ASCII character. - run("C","{iname='local.c',addr='-',name='c',type='"NS"QChar'," + run("C","{iname='local.c',name='c',type='"NS"QChar'," "value=''?', ucs=1536',numchild='0'}"); next(); // Case 3: Non-printable ASCII character. - run("D","{iname='local.c',addr='-',name='c',type='"NS"QChar'," + run("D","{iname='local.c',name='c',type='"NS"QChar'," "value=''?', ucs=7',numchild='0'}"); next(); // Case 4: Non-printable non-ASCII character. - run("E","{iname='local.c',addr='-',name='c',type='"NS"QChar'," + run("E","{iname='local.c',name='c',type='"NS"QChar'," "value=''?', ucs=159',numchild='0'}"); next(); // Case 5: Printable ASCII Character that looks like the replacement character. - run("F","{iname='local.c',addr='-',name='c',type='"NS"QChar'," + run("F","{iname='local.c',name='c',type='"NS"QChar'," "value=''?', ucs=63',numchild='0'}"); } @@ -2242,28 +2245,28 @@ void tst_Gdb::dump_std_list() { prepare("dump_std_list"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "numchild='0'}"); next(); - run("B", "{iname='local.list',addr='-',name='list'," + run("B", "{iname='local.list',name='list'," "type='std::list<int, std::allocator<int> >'," "value='<0 items>',numchild='0',children=[]}", "local.list"); next(); - run("C", "{iname='local.list',addr='-',name='list'," + run("C", "{iname='local.list',name='list'," "type='std::list<int, std::allocator<int> >'," "value='<1 items>',numchild='1'," "childtype='int',childnumchild='0',children=[{value='45'}]}", "local.list"); next(); - run("D", "{iname='local.list',addr='-',name='list'," + run("D", "{iname='local.list',name='list'," "type='std::list<int, std::allocator<int> >'," "value='<2 items>',numchild='2'," "childtype='int',childnumchild='0',children=[" "{value='45'},{value='46'}]}", "local.list"); next(); - run("E", "{iname='local.list',addr='-',name='list'," + run("E", "{iname='local.list',name='list'," "type='std::list<int, std::allocator<int> >'," "value='<3 items>',numchild='3'," "childtype='int',childnumchild='0',children=[" @@ -2272,6 +2275,58 @@ void tst_Gdb::dump_std_list() } +///////////////////////////// std::string ////////////////////////////////// + +void dump_std_string() +{ + /* A */ std::string str; + /* B */ str = "Hallo"; + /* C */ (void) 0; +} + +void tst_Gdb::dump_std_string() +{ + prepare("dump_std_string"); + if (checkUninitialized) + run("A","{iname='local.str',name='str'," + "numchild='0'}"); + next(); + run("B","{iname='local.str',name='str',type='std::string'," + "valueencoded='6',value='',numchild='0'}"); + next(); + run("C","{iname='local.str',name='str',type='std::string'," + "valueencoded='6',value='48616c6c6f',numchild='0'}"); +} + + +///////////////////////////// std::wstring ////////////////////////////////// + +void dump_std_wstring() +{ + /* A */ std::wstring str; + /* B */ str = L"Hallo"; + /* C */ (void) 0; +} + +void tst_Gdb::dump_std_wstring() +{ + prepare("dump_std_wstring"); + if (checkUninitialized) + run("A","{iname='local.str',name='str'," + "numchild='0'}"); + next(); + run("B","{iname='local.str',name='str',type='std::string',valueencoded='6'," + "value='',numchild='0'}"); + next(); + if (sizeof(wchar_t) == 2) + run("C","{iname='local.str',name='str',type='std::string',valueencoded='6'," + "value='00480061006c006c006f',numchild='0'}"); + else + run("C","{iname='local.str',name='str',type='std::string',valueencoded='6'," + "value='00000048000000610000006c0000006c0000006f',numchild='0'}"); +} + + ///////////////////////////// std::vector<int> ////////////////////////////// void dump_std_vector() @@ -2291,19 +2346,19 @@ void tst_Gdb::dump_std_vector() prepare("dump_std_vector"); if (checkUninitialized) - run("A","{iname='local.vector',addr='-',name='vector'," + run("A","{iname='local.vector',name='vector'," "numchild='0'}"); next(2); - run("B","{iname='local.vector',addr='-',name='vector',type='"VECTOR"'," + run("B","{iname='local.vector',name='vector',type='"VECTOR"'," "value='<0 items>',numchild='0'}," - "{iname='local.list',addr='-',name='list',type='"LIST"'," + "{iname='local.list',name='list',type='"LIST"'," "value='<0 items>',numchild='0'}"); next(3); - run("E","{iname='local.vector',addr='-',name='vector',type='"VECTOR"'," + run("E","{iname='local.vector',name='vector',type='"VECTOR"'," "value='<2 items>',numchild='2',childtype='"LIST" *'," "childnumchild='1',children=[{type='"LIST"',value='<2 items>'," "numchild='2'},{value='<null>',numchild='0'}]}," - "{iname='local.list',addr='-',name='list',type='"LIST"'," + "{iname='local.list',name='list',type='"LIST"'," "value='<0 items>',numchild='0'}", "local.vector,local.vector.0"); } @@ -2354,13 +2409,13 @@ void tst_Gdb::dump_QHash_int_int() prepare("dump_QHash_int_int"); if (checkUninitialized) - run("A","{iname='local.h',addr='-',name='h'," + run("A","{iname='local.h',name='h'," "type='"NS"QHash<int, int>',value='<not in scope>'," "numchild='0'}"); next(); next(); next(); - run("D","{iname='local.h',addr='-',name='h'," + run("D","{iname='local.h',name='h'," "type='"NS"QHash<int, int>',value='<2 items>',numchild='2'," "childtype='int',childnumchild='0',children=[" "{name='43',value='44'}," @@ -2382,30 +2437,30 @@ void tst_Gdb::dump_QHash_QString_QString() { prepare("dump_QHash_QString_QString"); if (checkUninitialized) - run("A","{iname='local.h',addr='-',name='h'," + run("A","{iname='local.h',name='h'," "type='"NS"QHash<"NS"QString, "NS"QString>',value='<not in scope>'," "numchild='0'}"); next(); - //run("B","{iname='local.h',addr='-',name='h'," - // "type='"NS"QHash<"NS"QString, "NS"QString>',value='<0 items>'," - // "numchild='0'}"); + run("B","{iname='local.h',name='h'," + "type='"NS"QHash<"NS"QString, "NS"QString>',value='<0 items>'," + "numchild='0'}"); next(); next(); - //run("D","{iname='local.h',addr='-',name='h'," - // "type='"NS"QHash<"NS"QString, "NS"QString>',value='<2 items>'," - // "numchild='2'}"); - run("D","{iname='local.h',addr='-',name='h'," + run("D","{iname='local.h',name='h'," + "type='"NS"QHash<"NS"QString, "NS"QString>',value='<2 items>'," + "numchild='2'}"); + run("D","{iname='local.h',name='h'," "type='"NS"QHash<"NS"QString, "NS"QString>',value='<2 items>'," "numchild='2',childtype='"NS"QHashNode<"NS"QString, "NS"QString>'," "children=[" - "{value=' ',numchild='2',children=[{name='key',valueencoded='7'," - "value='66006f006f00',numchild='0'}," - "{name='value',valueencoded='7'," - "value='620061007200',numchild='0'}]}," - "{value=' ',numchild='2',children=[{name='key',valueencoded='7'," - "value='680065006c006c006f00',numchild='0'}," - "{name='value',valueencoded='7'," - "value='77006f0072006c006400',numchild='0'}]}" + "{value=' ',numchild='2',children=[{name='key',type='"NS"QString'," + "valueencoded='7',value='66006f006f00',numchild='0'}," + "{name='value',type='"NS"QString'," + "valueencoded='7',value='620061007200',numchild='0'}]}," + "{value=' ',numchild='2',children=[{name='key',type='"NS"QString'," + "valueencoded='7',value='680065006c006c006f00',numchild='0'}," + "{name='value',type='"NS"QString',valueencoded='7'," + "value='77006f0072006c006400',numchild='0'}]}" "]}", "local.h,local.h.0,local.h.1"); } @@ -2425,22 +2480,22 @@ void tst_Gdb::dump_QList_int() { prepare("dump_QList_int"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<int>',value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.list',addr='-',name='list'," + run("B","{iname='local.list',name='list'," "type='"NS"QList<int>',value='<0 items>',numchild='0'}"); next(); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<int>',value='<1 items>',numchild='1'}"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<int>',value='<1 items>',numchild='1'," "childtype='int',childnumchild='0',children=[" "{value='1'}]}", "local.list"); next(); - run("D","{iname='local.list',addr='-',name='list'," + run("D","{iname='local.list',name='list'," "type='"NS"QList<int>',value='<2 items>',numchild='2'}"); - run("D","{iname='local.list',addr='-',name='list'," + run("D","{iname='local.list',name='list'," "type='"NS"QList<int>',value='<2 items>',numchild='2'," "childtype='int',childnumchild='0',children=[" "{value='1'},{value='2'}]}", "local.list"); @@ -2462,13 +2517,13 @@ void tst_Gdb::dump_QList_int_star() { prepare("dump_QList_int_star"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<int*>',value='<not in scope>',numchild='0'}"); next(); next(); next(); next(); - run("E","{iname='local.list',addr='-',name='list'," + run("E","{iname='local.list',name='list'," "type='"NS"QList<int*>',value='<3 items>',numchild='3'," "childtype='int',childnumchild='0',children=[" "{value='1'},{value='<null>',type='int *'},{value='2'}]}", "local.list"); @@ -2488,15 +2543,15 @@ void tst_Gdb::dump_QList_char() { prepare("dump_QList_char"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<char>',value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.list',addr='-',name='list'," + run("B","{iname='local.list',name='list'," "type='"NS"QList<char>',value='<0 items>',numchild='0'}"); next(); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<char>',value='<1 items>',numchild='1'}"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<char>',value='<1 items>',numchild='1'," "childtype='char',childnumchild='0',children=[" "{value='97 'a''}]}", "local.list"); @@ -2518,21 +2573,21 @@ void tst_Gdb::dump_QList_char_star() { prepare("dump_QList_char_star"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<char const*>',value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.list',addr='-',name='list'," + run("B","{iname='local.list',name='list'," "type='"NS"QList<char const*>',value='<0 items>',numchild='0'}"); next(); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<char const*>',value='<1 items>',numchild='1'}"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<char const*>',value='<1 items>',numchild='1'," "childtype='const char *',childnumchild='1',children=[" "{valueencoded='6',value='61',numchild='0'}]}", "local.list"); next(); next(); - run("E","{iname='local.list',addr='-',name='list'," + run("E","{iname='local.list',name='list'," "type='"NS"QList<char const*>',value='<3 items>',numchild='3'," "childtype='const char *',childnumchild='1',children=[" "{valueencoded='6',value='61',numchild='0'}," @@ -2554,15 +2609,15 @@ void tst_Gdb::dump_QList_QString() { prepare("dump_QList_QString"); if (0 && checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<"NS"QString>',value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.list',addr='-',name='list'," + run("B","{iname='local.list',name='list'," "type='"NS"QList<"NS"QString>',value='<0 items>',numchild='0'}"); next(); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<"NS"QString>',value='<1 items>',numchild='1'}"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<"NS"QString>',value='<1 items>',numchild='1'," "childtype='"NS"QString',childnumchild='0',children=[" "{valueencoded='7',value='480061006c006c006f00'}]}", "local.list"); @@ -2582,19 +2637,19 @@ void tst_Gdb::dump_QList_QString3() { prepare("dump_QList_QString3"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<QString3>',value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.list',addr='-',name='list'," + run("B","{iname='local.list',name='list'," "type='"NS"QList<QString3>',value='<0 items>',numchild='0'}"); next(); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<QString3>',value='<1 items>',numchild='1'}"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<QString3>',value='<1 items>',numchild='1'," "childtype='QString3',children=[" "{value='{...}',numchild='3'}]}", "local.list"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<QString3>',value='<1 items>',numchild='1'," "childtype='QString3',children=[{value='{...}',numchild='3',children=[" "{iname='local.list.0.s1',name='s1',type='"NS"QString'," @@ -2620,19 +2675,19 @@ void tst_Gdb::dump_QList_Int3() { prepare("dump_QList_Int3"); if (checkUninitialized) - run("A","{iname='local.list',addr='-',name='list'," + run("A","{iname='local.list',name='list'," "type='"NS"QList<Int3>',value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.list',addr='-',name='list'," + run("B","{iname='local.list',name='list'," "type='"NS"QList<Int3>',value='<0 items>',numchild='0'}"); next(); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<Int3>',value='<1 items>',numchild='1'}"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<Int3>',value='<1 items>',numchild='1'," "childtype='Int3',children=[{value='{...}',numchild='3'}]}", "local.list"); - run("C","{iname='local.list',addr='-',name='list'," + run("C","{iname='local.list',name='list'," "type='"NS"QList<Int3>',value='<1 items>',numchild='1'," "childtype='Int3',children=[{value='{...}',numchild='3',children=[" "{iname='local.list.0.i1',name='i1',type='int',value='42',numchild='0'}," @@ -2642,6 +2697,49 @@ void tst_Gdb::dump_QList_Int3() } +///////////////////////////// QMap<QString, QString> ////////////////////////////// + +void dump_QMap_QString_QString() +{ + /* A */ QMap<QString, QString> h; + /* B */ h["hello"] = "world"; + /* C */ h["foo"] = "bar"; + /* D */ (void) 0; +} + +void tst_Gdb::dump_QMap_QString_QString() +{ + prepare("dump_QMap_QString_QString"); + if (checkUninitialized) + run("A","{iname='local.h',name='h'," + "type='"NS"QMap<"NS"QString, "NS"QString>',value='<not in scope>'," + "numchild='0'}"); + next(); + run("B","{iname='local.h',name='h'," + "type='"NS"QMap<"NS"QString, "NS"QString>',value='<0 items>'," + "numchild='0'}"); + next(); + next(); + run("D","{iname='local.h',name='h'," + "type='"NS"QMap<"NS"QString, "NS"QString>',value='<2 items>'," + "numchild='2'}"); + run("D","{iname='local.h',name='h'," + "type='"NS"QMap<"NS"QString, "NS"QString>',value='<2 items>'," + "numchild='2',childtype='"NS"QMapNode<"NS"QString, "NS"QString>'," + "children=[" + "{value=' ',numchild='2',children=[{name='key',type='"NS"QString'," + "valueencoded='7',value='66006f006f00',numchild='0'}," + "{name='value',type='"NS"QString'," + "valueencoded='7',value='620061007200',numchild='0'}]}," + "{value=' ',numchild='2',children=[{name='key',type='"NS"QString'," + "valueencoded='7',value='680065006c006c006f00',numchild='0'}," + "{name='value',type='"NS"QString',valueencoded='7'," + "value='77006f0072006c006400',numchild='0'}]}" + "]}", + "local.h,local.h.0,local.h.1"); +} + + ///////////////////////////// QPoint ///////////////////////////////// void dump_QPoint() @@ -2655,10 +2753,10 @@ void tst_Gdb::dump_QPoint() prepare("dump_QPoint"); next(); next(); - run("C","{iname='local.p',addr='-',name='p',type='"NS"QPoint'," + run("C","{iname='local.p',name='p',type='"NS"QPoint'," "value='(43, 44)',numchild='2',childtype='int',childnumchild='0'," "children=[{name='x',value='43'},{name='y',value='44'}]}," - "{iname='local.f',addr='-',name='f',type='"NS"QPointF'," + "{iname='local.f',name='f',type='"NS"QPointF'," "value='(45, 46)',numchild='2',childtype='double',childnumchild='0'," "children=[{name='x',value='45'},{name='y',value='46'}]}", "local.p,local.f"); @@ -2679,11 +2777,11 @@ void tst_Gdb::dump_QRect() next(); next(); - run("C","{iname='local.p',addr='-',name='p',type='"NS"QRect'," + run("C","{iname='local.p',name='p',type='"NS"QRect'," "value='100x200+43+44',numchild='4',childtype='int',childnumchild='0'," "children=[{name='x1',value='43'},{name='y1',value='44'}," "{name='x2',value='142'},{name='y2',value='243'}]}," - "{iname='local.f',addr='-',name='f',type='"NS"QRectF'," + "{iname='local.f',name='f',type='"NS"QRectF'," "value='100x200+45+46',numchild='4',childtype='double',childnumchild='0'," "children=[{name='x',value='45'},{name='y',value='46'}," "{name='w',value='100'},{name='h',value='200'}]}", @@ -2724,65 +2822,65 @@ void tst_Gdb::dump_QSharedPointer() #if QT_VERSION >= 0x040500 prepare("dump_QSharedPointer"); if (checkUninitialized) - run("A","{iname='local.simplePtr',addr='-',name='simplePtr'," + run("A","{iname='local.simplePtr',name='simplePtr'," "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}," - "{iname='local.simplePtr2',addr='-',name='simplePtr2'," + "{iname='local.simplePtr2',name='simplePtr2'," "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}," - "{iname='local.simplePtr3',addr='-',name='simplePtr3'," + "{iname='local.simplePtr3',name='simplePtr3'," "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}," - "{iname='local.simplePtr4',addr='-',name='simplePtr3'," + "{iname='local.simplePtr4',name='simplePtr3'," "'type='"NS"QWeakPointer<int>',value='<not in scope>',numchild='0'}," - "{iname='local.compositePtr',addr='-',name='compositePtr'," + "{iname='local.compositePtr',name='compositePtr'," "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}," - "{iname='local.compositePtr2',addr='-',name='compositePtr2'," + "{iname='local.compositePtr2',name='compositePtr2'," "'type='"NS"QSharedPointer<int>'value='<not in scope>',numchild='0'}," - "{iname='local.compositePtr3',addr='-',name='compositePtr3'," + "{iname='local.compositePtr3',name='compositePtr3'," "'type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}," - "{iname='local.compositePtr4',addr='-',name='compositePtr4'," + "{iname='local.compositePtr4',name='compositePtr4'," "'type='"NS"QWeakPointer<int>',value='<not in scope>',numchild='0'}"); next(8); - run("C","{iname='local.simplePtr',addr='-',name='simplePtr'," + run("C","{iname='local.simplePtr',name='simplePtr'," "type='"NS"QSharedPointer<int>',value='<null>',numchild='0'}," - "{iname='local.simplePtr2',addr='-',name='simplePtr2'," + "{iname='local.simplePtr2',name='simplePtr2'," "type='"NS"QSharedPointer<int>',value='',numchild='3'}," - "{iname='local.simplePtr3',addr='-',name='simplePtr3'," + "{iname='local.simplePtr3',name='simplePtr3'," "type='"NS"QSharedPointer<int>',value='',numchild='3'}," - "{iname='local.simplePtr4',addr='-',name='simplePtr4'," + "{iname='local.simplePtr4',name='simplePtr4'," "type='"NS"QWeakPointer<int>',value='',numchild='3'}," - "{iname='local.compositePtr',addr='-',name='compositePtr'," + "{iname='local.compositePtr',name='compositePtr'," "type='"NS"QSharedPointer<"NS"QString>',value='<null>',numchild='0'}," - "{iname='local.compositePtr2',addr='-',name='compositePtr2'," + "{iname='local.compositePtr2',name='compositePtr2'," "type='"NS"QSharedPointer<"NS"QString>',value='',numchild='3'}," - "{iname='local.compositePtr3',addr='-',name='compositePtr3'," + "{iname='local.compositePtr3',name='compositePtr3'," "type='"NS"QSharedPointer<"NS"QString>',value='',numchild='3'}," - "{iname='local.compositePtr4',addr='-',name='compositePtr4'," + "{iname='local.compositePtr4',name='compositePtr4'," "type='"NS"QWeakPointer<"NS"QString>',value='',numchild='3'}"); - run("C","{iname='local.simplePtr',addr='-',name='simplePtr'," + run("C","{iname='local.simplePtr',name='simplePtr'," "type='"NS"QSharedPointer<int>',value='<null>',numchild='0'}," - "{iname='local.simplePtr2',addr='-',name='simplePtr2'," + "{iname='local.simplePtr2',name='simplePtr2'," "type='"NS"QSharedPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='3',type='int',numchild='0'}," "{name='strongref',value='2',type='int',numchild='0'}]}," - "{iname='local.simplePtr3',addr='-',name='simplePtr3'," + "{iname='local.simplePtr3',name='simplePtr3'," "type='"NS"QSharedPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='3',type='int',numchild='0'}," "{name='strongref',value='2',type='int',numchild='0'}]}," - "{iname='local.simplePtr4',addr='-',name='simplePtr4'," + "{iname='local.simplePtr4',name='simplePtr4'," "type='"NS"QWeakPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='3',type='int',numchild='0'}," "{name='strongref',value='2',type='int',numchild='0'}]}," - "{iname='local.compositePtr',addr='-',name='compositePtr'," + "{iname='local.compositePtr',name='compositePtr'," "type='"NS"QSharedPointer<"NS"QString>',value='<null>',numchild='0'}," - "{iname='local.compositePtr2',addr='-',name='compositePtr2'," + "{iname='local.compositePtr2',name='compositePtr2'," "type='"NS"QSharedPointer<"NS"QString>',value='',numchild='3'}," - "{iname='local.compositePtr3',addr='-',name='compositePtr3'," + "{iname='local.compositePtr3',name='compositePtr3'," "type='"NS"QSharedPointer<"NS"QString>',value='',numchild='3'}," - "{iname='local.compositePtr4',addr='-',name='compositePtr4'," + "{iname='local.compositePtr4',name='compositePtr4'," "type='"NS"QWeakPointer<"NS"QString>',value='',numchild='3'}", "local.simplePtr,local.simplePtr2,local.simplePtr3,local.simplePtr4," "local.compositePtr,local.compositePtr,local.compositePtr," @@ -2804,10 +2902,10 @@ void tst_Gdb::dump_QSize() { prepare("dump_QSize"); next(2); - run("C","{iname='local.p',addr='-',name='p',type='"NS"QSize'," + run("C","{iname='local.p',name='p',type='"NS"QSize'," "value='(43, 44)',numchild='2',childtype='int',childnumchild='0'," "children=[{name='w',value='43'},{name='h',value='44'}]}," - "{iname='local.f',addr='-',name='f',type='"NS"QSizeF'," + "{iname='local.f',name='f',type='"NS"QSizeF'," "value='(45, 46)',numchild='2',childtype='double',childnumchild='0'," "children=[{name='w',value='45'},{name='h',value='46'}]}", "local.p,local.f"); @@ -2828,24 +2926,24 @@ void tst_Gdb::dump_QStack() { prepare("dump_QStack"); if (checkUninitialized) - run("A","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("A","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("B","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<0 items>',numchild='0'}"); - run("B","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("B","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<0 items>',numchild='0',children=[]}", "local.v"); next(); - run("C","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("C","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<1 items>',numchild='1'}"); - run("C","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("C","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<1 items>',numchild='1',childtype='int'," "childnumchild='0',children=[{value='3'}]}", // rounding... "local.v"); next(); - run("D","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("D","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<2 items>',numchild='2'}"); - run("D","{iname='local.v',addr='-',name='v',type='"NS"QStack<int>'," + run("D","{iname='local.v',name='v',type='"NS"QStack<int>'," "value='<2 items>',numchild='2',childtype='int'," "childnumchild='0',children=[{value='3'},{value='2'}]}", "local.v"); @@ -2866,19 +2964,19 @@ void tst_Gdb::dump_QString() { prepare("dump_QString"); if (checkUninitialized) - run("A","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("A","{iname='local.s',name='s',type='"NS"QString'," "value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("B","{iname='local.s',name='s',type='"NS"QString'," "valueencoded='7',value='',numchild='0'}", "local.s"); // Plain C style dumping: - run("B","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("B","{iname='local.s',name='s',type='"NS"QString'," "value='{...}',numchild='5'}", "", 0); - run("B","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("B","{iname='local.s',name='s',type='"NS"QString'," "value='{...}',numchild='5',children=[" "{iname='local.s.d',name='d',type='"NS"QString::Data *'," "value='-',numchild='1'}]}", "local.s", 0); - run("B","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("B","{iname='local.s',name='s',type='"NS"QString'," "value='{...}',numchild='5'," "children=[{iname='local.s.d',name='d'," "type='"NS"QString::Data *',value='-',numchild='1'," @@ -2886,10 +2984,10 @@ void tst_Gdb::dump_QString() "type='"NS"QString::Data',value='{...}',numchild='11'}]}]}", "local.s,local.s.d", 0); next(); - run("C","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("C","{iname='local.s',name='s',type='"NS"QString'," "valueencoded='7',value='680061006c006c006f00',numchild='0'}"); next(); - run("D","{iname='local.s',addr='-',name='s',type='"NS"QString'," + run("D","{iname='local.s',name='s',type='"NS"QString'," "valueencoded='7',value='680061006c006c006f007800',numchild='0'}"); } @@ -2908,25 +3006,25 @@ void tst_Gdb::dump_QStringList() { prepare("dump_QStringList"); if (checkUninitialized) - run("A","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("A","{iname='local.s',name='s',type='"NS"QStringList'," "value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("B","{iname='local.s',name='s',type='"NS"QStringList'," "value='<0 items>',numchild='0'}"); - run("B","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("B","{iname='local.s',name='s',type='"NS"QStringList'," "value='<0 items>',numchild='0',children=[]}", "local.s"); next(); - run("C","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("C","{iname='local.s',name='s',type='"NS"QStringList'," "value='<1 items>',numchild='1'}"); - run("C","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("C","{iname='local.s',name='s',type='"NS"QStringList'," "value='<1 items>',numchild='1',childtype='"NS"QString'," "childnumchild='0',children=[{valueencoded='7'," "value='680065006c006c006f00'}]}", "local.s"); next(); - run("D","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("D","{iname='local.s',name='s',type='"NS"QStringList'," "value='<2 items>',numchild='2'}"); - run("D","{iname='local.s',addr='-',name='s',type='"NS"QStringList'," + run("D","{iname='local.s',name='s',type='"NS"QStringList'," "value='<2 items>',numchild='2',childtype='"NS"QString'," "childnumchild='0',children=[" "{valueencoded='7',value='680065006c006c006f00'}," @@ -2949,24 +3047,24 @@ void tst_Gdb::dump_QVector() { prepare("dump_QVector"); if (checkUninitialized) - run("A","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("A","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<not in scope>',numchild='0'}"); next(); - run("B","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("B","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<0 items>',numchild='0'}"); - run("B","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("B","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<0 items>',numchild='0',children=[]}", "local.v"); next(); - run("C","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("C","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<1 items>',numchild='1'}"); - run("C","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("C","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<1 items>',numchild='1',childtype='double'," "childnumchild='0',children=[{value='-'}]}", // rounding... "local.v"); next(); - run("D","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("D","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<2 items>',numchild='2'}"); - run("D","{iname='local.v',addr='-',name='v',type='"NS"QVector<double>'," + run("D","{iname='local.v',name='v',type='"NS"QVector<double>'," "value='<2 items>',numchild='2',childtype='double'," "childnumchild='0',children=[{value='-'},{value='-'}]}", "local.v"); @@ -3034,7 +3132,7 @@ void dump_QVariant() void tst_Gdb::dump_QVariant() { - #define PRE "iname='local.v',addr='-',name='v',type='"NS"QVariant'," + #define PRE "iname='local.v',name='v',type='"NS"QVariant'," prepare("dump_QVariant"); if (checkUninitialized) /*<not in scope>*/ run("A","{"PRE"'value=<not in scope>',numchild='0'}"); @@ -3220,13 +3318,13 @@ void tst_Gdb::dump_QWeakPointer_11() // Case 1.1: Null pointer. prepare("dump_QWeakPointer_11"); if (checkUninitialized) - run("A","{iname='local.sp',addr='-',name='sp'," + run("A","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}"); next(); next(); - run("B","{iname='local.sp',addr='-',name='sp'," + run("B","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='<null>',numchild='0'}," - "{iname='local.wp',addr='-',name='wp'," + "{iname='local.wp',name='wp'," "type='"NS"QWeakPointer<int>',value='<null>',numchild='0'}"); } @@ -3244,20 +3342,20 @@ void tst_Gdb::dump_QWeakPointer_12() // Case 1.2: Weak pointer is unique. prepare("dump_QWeakPointer_12"); if (checkUninitialized) - run("A","{iname='local.sp',addr='-',name='sp'," + run("A","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}"); next(); next(); - run("B","{iname='local.sp',addr='-',name='sp'," + run("B","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='',numchild='3'}," - "{iname='local.wp',addr='-',name='wp'," + "{iname='local.wp',name='wp'," "type='"NS"QWeakPointer<int>',value='',numchild='3'}"); - run("B","{iname='local.sp',addr='-',name='sp'," + run("B","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='2',type='int',numchild='0'}," "{name='strongref',value='2',type='int',numchild='0'}]}," - "{iname='local.wp',addr='-',name='wp'," + "{iname='local.wp',name='wp'," "type='"NS"QWeakPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='2',type='int',numchild='0'}," @@ -3280,28 +3378,28 @@ void tst_Gdb::dump_QWeakPointer_13() // Case 1.3: There are other weak pointers. prepare("dump_QWeakPointer_13"); if (checkUninitialized) - run("A","{iname='local.sp',addr='-',name='sp'," + run("A","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='<not in scope>',numchild='0'}"); next(); next(); next(); - run("B","{iname='local.sp',addr='-',name='sp'," + run("B","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='',numchild='3'}," - "{iname='local.wp',addr='-',name='wp'," + "{iname='local.wp',name='wp'," "type='"NS"QWeakPointer<int>',value='',numchild='3'}," - "{iname='local.wp2',addr='-',name='wp2'," + "{iname='local.wp2',name='wp2'," "type='"NS"QWeakPointer<int>',value='',numchild='3'}"); - run("B","{iname='local.sp',addr='-',name='sp'," + run("B","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='3',type='int',numchild='0'}," "{name='strongref',value='3',type='int',numchild='0'}]}," - "{iname='local.wp',addr='-',name='wp'," + "{iname='local.wp',name='wp'," "type='"NS"QWeakPointer<int>',value='',numchild='3',children=[" "{name='data',type='int',value='99',numchild='0'}," "{name='weakref',value='3',type='int',numchild='0'}," "{name='strongref',value='3',type='int',numchild='0'}]}," - "{iname='local.wp2',addr='-',name='wp2'," + "{iname='local.wp2',name='wp2'," "type='"NS"QWeakPointer<int>',value='',numchild='3'}", "local.sp,local.wp"); } @@ -3320,17 +3418,17 @@ void tst_Gdb::dump_QWeakPointer_2() // Case 2: Composite type. prepare("dump_QWeakPointer_2"); if (checkUninitialized) - run("A","{iname='local.sp',addr='-',name='sp'," + run("A","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<"NS"QString>',value='<not in scope>',numchild='0'}"); next(); next(); - run("B","{iname='local.sp',addr='-',name='sp'," + run("B","{iname='local.sp',name='sp'," "type='"NS"QSharedPointer<"NS"QString>',value='',numchild='3',children=[" "{name='data',type='"NS"QString'," "valueencoded='7',value='5400650073007400',numchild='0'}," "{name='weakref',value='2',type='int',numchild='0'}," "{name='strongref',value='2',type='int',numchild='0'}]}," - "{iname='local.wp',addr='-',name='wp'," + "{iname='local.wp',name='wp'," "type='"NS"QWeakPointer<"NS"QString>',value='',numchild='3',children=[" "{name='data',type='"NS"QString'," "valueencoded='7',value='5400650073007400',numchild='0'}," @@ -3368,11 +3466,14 @@ int main(int argc, char *argv[]) dump_array_int(); dump_std_list(); dump_std_vector(); + dump_std_string(); + dump_std_wstring(); dump_Foo(); dump_misc(); dump_QByteArray(); dump_QChar(); dump_QHash_int_int(); + dump_QHash_QString_QString(); dump_QList_char(); dump_QList_char_star(); dump_QList_int(); @@ -3380,6 +3481,7 @@ int main(int argc, char *argv[]) dump_QList_Int3(); dump_QList_QString(); dump_QList_QString3(); + dump_QMap_QString_QString(); dump_QPoint(); dump_QRect(); dump_QSharedPointer(); -- GitLab