From 4e29b16f925478fa60357c6586eb2ebb1ac02d17 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Tue, 1 Dec 2009 16:46:59 +0100
Subject: [PATCH] debugger: work on new dumpers

more robustness in case qt's namespace cannot be determined
work on qvariant dumper
---
 share/qtcreator/gdbmacros/dumper.py    |   8 +-
 share/qtcreator/gdbmacros/gdbmacros.py |  37 +++-
 tests/auto/debugger/tst_gdb.cpp        | 244 +++++++++++++++++--------
 3 files changed, 209 insertions(+), 80 deletions(-)

diff --git a/share/qtcreator/gdbmacros/dumper.py b/share/qtcreator/gdbmacros/dumper.py
index 3de4911ce61..98b3ffa4d16 100644
--- a/share/qtcreator/gdbmacros/dumper.py
+++ b/share/qtcreator/gdbmacros/dumper.py
@@ -196,8 +196,12 @@ class FrameCommand(gdb.Command):
         block = frame.block()
 
         # initialize namespace
-        type = str(gdb.parse_and_eval("&QString::null").type.target().unqualified())
-        d.ns = type[0:len(type) - len("QString::Null")]
+        try:
+            type = str(gdb.parse_and_eval("&QString::null").type.target().unqualified())
+            d.ns = type[0:len(type) - len("QString::null")]
+        except RuntimeError:
+            d.ns = ""
+
         #warn(" NAMESPACE IS: '%s'" % d.ns)
         #warn("FRAME %s: " % frame)
 
diff --git a/share/qtcreator/gdbmacros/gdbmacros.py b/share/qtcreator/gdbmacros/gdbmacros.py
index 6e0d7162aa6..2ed5cef9c35 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.py
+++ b/share/qtcreator/gdbmacros/gdbmacros.py
@@ -420,6 +420,7 @@ def qqDumpQList(d, item):
 
 def qqDumpQImage(d, item):
     painters = item.value["painters"]
+    #warn("PAINTERS: %s" % painters)
     check(0 <= painters and painters < 1000)
     d_ptr = item.value["d"]
     if isNull(d_ptr):
@@ -1688,15 +1689,47 @@ def qqDumpQVariant(d, item):
         innert = d.ns + "QVariantHash"
     elif variantType == 64: # QVariant::Font
         inner = d.ns + "QFont"
+    elif variantType == 65: # QVariant::Pixmap
+        inner = d.ns + "QPixmap"
+    elif variantType == 66: # QVariant::Brush
+        inner = d.ns + "QBrush"
     elif variantType == 67: # QVariant::Color
         inner = d.ns + "QColor"
+    elif variantType == 68: # QVariant::Palette
+        inner = d.ns + "QPalette"
+    elif variantType == 69: # QVariant::Icon
+        inner = d.ns + "QIcon"
+    elif variantType == 70: # QVariant::Image
+        inner = d.ns + "QImage"
     elif variantType == 71: # QVariant::Polygon and PointArray
-        inner = d.ns + "QPointArray"
+        inner = d.ns + "QPolygon"
+    elif variantType == 72: # QVariant::Region
+        inner = d.ns + "QRegion"
+    elif variantType == 73: # QVariant::Bitmap
+        inner = d.ns + "QBitmap"
+    elif variantType == 74: # QVariant::Cursor
+        inner = d.ns + "QCursor"
     elif variantType == 75: # QVariant::SizePolicy
         inner = d.ns + "QSizePolicy"
     elif variantType == 76: # QVariant::KeySequence
         inner = d.ns + "QKeySequence"
-    elif variantType == 76: # QVariant::Quadernion
+    elif variantType == 77: # QVariant::Pen
+        inner = d.ns + "QPen"
+    elif variantType == 78: # QVariant::TextLength
+        inner = d.ns + "QTextLength"
+    elif variantType == 79: # QVariant::TextFormat
+        inner = d.ns + "QTextFormat"
+    elif variantType == 81: # QVariant::Transform
+        inner = d.ns + "QTransform"
+    elif variantType == 82: # QVariant::Matrix4x4
+        inner = d.ns + "QMatrix4x4"
+    elif variantType == 83: # QVariant::Vector2D
+        inner = d.ns + "QVector2D"
+    elif variantType == 84: # QVariant::Vector3D
+        inner = d.ns + "QVector3D"
+    elif variantType == 85: # QVariant::Vector4D
+        inner = d.ns + "QVector4D"
+    elif variantType == 86: # QVariant::Quadernion
         inner = d.ns + "QQuadernion"
     else:
         # FIXME: handle User types
diff --git a/tests/auto/debugger/tst_gdb.cpp b/tests/auto/debugger/tst_gdb.cpp
index 3a6da62aa44..ca483edf50c 100644
--- a/tests/auto/debugger/tst_gdb.cpp
+++ b/tests/auto/debugger/tst_gdb.cpp
@@ -22,9 +22,14 @@ bool checkUninitialized = false;
 #include <QtGui/QFont>
 #include <QtGui/QIcon>
 #include <QtGui/QKeySequence>
+#include <QtGui/QMatrix4x4>
+#include <QtGui/QPen>
 #include <QtGui/QQuaternion>
 #include <QtGui/QStandardItemModel>
 #include <QtGui/QStringListModel>
+#include <QtGui/QTextFormat>
+#include <QtGui/QTextLength>
+#include <QtGui/QVector2D>
 #include <QtGui/QWidget>
 #endif
 
@@ -763,6 +768,7 @@ void tst_Gdb::cleanupTestCase()
 //
 /////////////////////////////////////////////////////////////////////////
 
+
 ///////////////////////////// Foo structure /////////////////////////////////
 
 /*
@@ -846,8 +852,58 @@ void dump_misc()
     /* A */ int *s = new int(1);
     /* B */ *s += 1;
     /* D */ (void) 0;
+    QVariant v1(QLatin1String("hallo"));
+    QVariant v2(QStringList(QLatin1String("hallo")));
+    QVector<QString> vec;
+    vec.push_back("Hallo");
+    vec.push_back("Hallo2");
+    std::set<std::string> stdSet;
+    stdSet.insert("s1");
+    #ifdef QT_GUI_LIB
+    QWidget *ww = 0; //this;
+    QWidget &wwr = *ww;
+    Q_UNUSED(wwr);
+    #endif
+
+    QSharedPointer<QString> sps(new QString("hallo"));
+    QList<QSharedPointer<QString> > spsl;
+    spsl.push_back(sps);
+    QMap<QString,QString> stringmap;
+    QMap<int,int> intmap;
+    std::map<std::string, std::string> stdstringmap;
+    stdstringmap[std::string("A")]  = std::string("B");
+    int xxx = 45;
+
+    if (1 == 1) {
+        int xxx = 7;
+        qDebug() << xxx;
+    }
+
+    QLinkedList<QString> lls;
+    lls << "link1" << "link2";
+    #ifdef QT_GUI_LIB
+    QStandardItemModel *model = new QStandardItemModel;
+    model->appendRow(new QStandardItem("i1"));
+    #endif
+
+    QList <QList<int> > nestedIntList;
+    nestedIntList << QList<int>();
+    nestedIntList.front() << 1 << 2;
+
+    QVariantList vList;
+    vList.push_back(QVariant(42));
+    vList.push_back(QVariant("HALLO"));
+
+
+    stringmap.insert("A", "B");
+    intmap.insert(3,4);
+    QSet<QString> stringSet;
+    stringSet.insert("S1");
+    stringSet.insert("S2");
+    qDebug() << *(spsl.front()) << xxx;
 }
 
+
 void tst_Gdb::dump_misc()
 {
     prepare("dump_misc");
@@ -856,7 +912,9 @@ void tst_Gdb::dump_misc()
             "value='-',numchild='1'}", "", 0);
     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);
+            "name='*s',type='int',value='1',numchild='0'}]}",
+            "local.s,local.model", 0);
+    next(10);
 }
 
 
@@ -2872,60 +2930,71 @@ void tst_Gdb::dump_QVector()
 
 ///////////////////////////// QVariant /////////////////////////////////
 
+void dump_QVariant1()
+{
+    QVariant v(QLatin1String("hallo"));
+    (void) v.toInt();
+}
+
+#ifdef QT_GUI_LIB
+#define GUI(s) s
+#else
+#define GUI(s) 0
+#endif
+
 void dump_QVariant()
 {
     /*<invalid>*/ QVariant v;
     /* <invalid>    */ v = QBitArray();
-    /* QBitArray    */ v = 0; // QBitmap();
+    /* QBitArray    */ v = GUI(QBitmap());
     /* QBitMap      */ v = bool(true);
-    /* bool         */ v = 0; // QBrush();
+    /* bool         */ v = GUI(QBrush());
     /* QBrush       */ v = QByteArray("abc");
     /* QByteArray   */ v = QChar(QLatin1Char('x'));
-    /* QChar        */ v = 0; // QColor();
-    /* QColor       */ v = 0; // QCursor();
+    /* QChar        */ v = GUI(QColor());
+    /* QColor       */ v = GUI(QCursor());
     /* QCursor      */ v = QDate();
     /* QDate        */ v = QDateTime();
     /* QDateTime    */ v = double(46);
-    /* double       */ v = 0; // QFont();
+    /* double       */ v = GUI(QFont());
     /* QFont        */ v = QVariantHash();
-    /* QVariantHash */ v = 0; // QIcon();
-    /* QIcon        */ v = 0; // QImage();
+    /* QVariantHash */ v = GUI(QIcon());
+    /* QIcon        */ v = GUI(QImage(10, 10, QImage::Format_RGB32));
     /* QImage       */ v = int(42);
-    /* int          */ v = 0; // QKeySequence();
+    /* int          */ v = GUI(QKeySequence());
     /* QKeySequence */ v = QLine();
     /* QLine        */ v = QLineF();
     /* QLineF       */ v = QVariantList();
     /* QVariantList */ v = QLocale();
     /* QLocale      */ v = qlonglong(44);
     /* qlonglong    */ v = QVariantMap();
-    /* QVariantMap  */ v = 0; // QTransform();
-    /* QTransform   */ v = 0; // QMatrix4x4();
-    /* QMatrix4x4   */ v = 0; // QPalette();
-    /* QPalette     */ v = 0; // QPen();
-    /* QPen         */ v = 0; // QPixmap();
+    /* QVariantMap  */ v = GUI(QTransform());
+    /* QTransform   */ v = GUI(QMatrix4x4());
+    /* QMatrix4x4   */ v = GUI(QPalette());
+    /* QPalette     */ v = GUI(QPen());
+    /* QPen         */ v = GUI(QPixmap());
     /* QPixmap      */ v = QPoint(45, 46);
-    /* QPoint       */ v = 0; // QPointArray();
-    /* QPointArray  */ v = QPointF(41, 42);
-    /* QPointF      */ v = 0; // QPolygon();
-    /* QPolygon     */ v = 0; // QQuaternion();
+    /* QPoint       */ v = QPointF(41, 42);
+    /* QPointF      */ v = GUI(QPolygon());
+    /* QPolygon     */ v = GUI(QQuaternion());
     /* QQuaternion  */ v = QRect(1, 2, 3, 4);
     /* QRect        */ v = QRectF(1, 2, 3, 4);
     /* QRectF       */ v = QRegExp("abc");
-    /* QRegExp      */ v = 0; // QRegion();
+    /* QRegExp      */ v = GUI(QRegion());
     /* QRegion      */ v = QSize(0, 0);
     /* QSize        */ v = QSizeF(0, 0);
-    /* QSizeF       */ v = 0; // QSizePolicy();
+    /* QSizeF       */ v = GUI(QSizePolicy());
     /* QSizePolicy  */ v = QString("abc");
     /* QString      */ v = QStringList() << "abc";
-    /* QStringList  */ v = 0; // QTextFormat();
-    /* QTextFormat  */ v = 0; // QTextLength();
+    /* QStringList  */ v = GUI(QTextFormat());
+    /* QTextFormat  */ v = GUI(QTextLength());
     /* QTextLength  */ v = QTime();
     /* QTime        */ v = uint(43);
     /* uint         */ v = qulonglong(45);
     /* qulonglong   */ v = QUrl("http://foo");
-    /* QUrl         */ v = 0; // QVector2D();
-    /* QVector2D    */ v = 0; // QVector3D();
-    /* QVector3D    */ v = 0; // QVector4D();
+    /* QUrl         */ v = GUI(QVector2D());
+    /* QVector2D    */ v = GUI(QVector3D());
+    /* QVector3D    */ v = GUI(QVector4D());
     /* QVector4D    */ (void) 0;
 }
 
@@ -2942,13 +3011,15 @@ void tst_Gdb::dump_QVariant()
         "{name='data',type='"NS"QBitArray',value='{...}',numchild='1'}]}",
         "local.v");
     next();
-    //run("QBitMap", "{"PRE"value="NS"QBitMap'',numchild='1',children=["
-    //    "]}", "local.v");
+    GUI(run("QBitMap", "{"PRE"value='("NS"QBitmap)',numchild='1',children=["
+        "{name='data',type='"NS"QBitmap',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
     run("bool", "{"PRE"value='true',numchild='0'}", "local.v");
     next();
-    //run("QBrush", "{"PRE"value='"NS"QBrush',numchild='1',children=["
-    //    "]}", "local.v");
+    GUI(run("QBrush", "{"PRE"value='("NS"QBrush)',numchild='1',children=["
+        "{name='data',type='"NS"QBrush',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
     run("QByteArray", "{"PRE"value='("NS"QByteArray)',numchild='1',"
         "children=[{name='data',type='"NS"QByteArray',valueencoded='6',"
@@ -2957,11 +3028,13 @@ void tst_Gdb::dump_QVariant()
     run("QChar", "{"PRE"value='("NS"QChar)',numchild='1',"
         "children=[{name='data',type='"NS"QChar',value=''x' (120)',numchild='0'}]}", "local.v");
     next();
-    //run("QColor", "{"PRE"value='("NS"QColor)',numchild='1',children=["
-    //    "]}", "local.v");
+    GUI(run("QColor", "{"PRE"value='("NS"QColor)',numchild='1',children=["
+        "{name='data',type='"NS"QColor',value='{...}',numchild='2'}]}",
+        "local.v"));
     next();
-    //run("QCursor", "{"PRE"value='',numchild='1',children=["
-    //    "]}", "local.v");
+    GUI(run("QCursor", "{"PRE"value='("NS"QCursor)',numchild='1',children=["
+        "{name='data',type='"NS"QCursor',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
     run("QDate", "{"PRE"value='("NS"QDate)',numchild='1',children=["
         "{name='data',type='"NS"QDate',value='{...}',numchild='1'}]}", "local.v");
@@ -2971,23 +3044,28 @@ void tst_Gdb::dump_QVariant()
     next();
     run("double", "{"PRE"value='46',numchild='0'}", "local.v");
     next();
-    //run("QFont", "{"PRE"value='(NS"QFont")',numchild='1',children=["
-    //    "{name='data',type='"NS"QFont',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QFont", "{"PRE"value='("NS"QFont)',numchild='1',children=["
+        "{name='data',type='"NS"QFont',value='{...}',numchild='3'}]}",
+        "local.v"));
     next();
     run("QVariantHash", "{"PRE"value='("NS"QVariantHash)',numchild='1',children=["
         "{name='data',type='"NS"QHash<"NS"QString, "NS"QVariant>',"
             "value='<0 items>',numchild='0'}]}", "local.v");
     next();
-    //run("QIcon", "{"PRE"value='("NS"QIcon)',numchild='1',children=["
-    //    "{name='data',type='"NS"QIcon',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QIcon", "{"PRE"value='("NS"QIcon)',numchild='1',children=["
+        "{name='data',type='"NS"QIcon',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
-    //run("QImage", "{"PRE"value='("NS"QImage)',numchild='1',children=["
-    //    "{name='data',type='"NS"QImage',value='{...}',numchild='1'}]}", "local.v");
+// FIXME:
+//    GUI(run("QImage", "{"PRE"value='("NS"QImage)',numchild='1',children=["
+//        "{name='data',type='"NS"QImage',value='{...}',numchild='1'}]}",
+//        "local.v"));
     next();
     run("int", "{"PRE"value='42',numchild='0'}", "local.v");
     next();
-    //run("QKeySequence", "{"PRE"value='("NS"QKeySequence)',numchild='1'",
-    //  "local.v");
+    GUI(run("QKeySequence","{"PRE"value='("NS"QKeySequence)',numchild='1',children=["
+        "{name='data',type='"NS"QKeySequence',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
     run("QLine", "{"PRE"value='("NS"QLine)',numchild='1',children=["
         "{name='data',type='"NS"QLine',value='{...}',numchild='2'}]}", "local.v");
@@ -3008,38 +3086,44 @@ void tst_Gdb::dump_QVariant()
         "{name='data',type='"NS"QMap<"NS"QString, "NS"QVariant>',"
             "value='<0 items>',numchild='0'}]}", "local.v");
     next();
-    //run("QTransform", "{"PRE"value='("NS"QTransform)',numchild='1',children=["
-    //    "{name='data',type='"NS"QTransform',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QTransform", "{"PRE"value='("NS"QTransform)',numchild='1',children=["
+        "{name='data',type='"NS"QTransform',value='{...}',numchild='7'}]}",
+        "local.v"));
     next();
-    //run("QMatrix4x4", "{"PRE"value='("NS"QMatrix4x4)',numchild='1',children=["
-    //    "{name='data',type='"NS"QMatrix4x4',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QMatrix4x4", "{"PRE"value='("NS"QMatrix4x4)',numchild='1',children=["
+        "{name='data',type='"NS"QMatrix4x4',value='{...}',numchild='2'}]}",
+        "local.v"));
     next();
-    //run("QPalette", "{"PRE"value='("NS"QPalette)',numchild='1',children=["
-    //    "{name='data',type='"NS"QPalette',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QPalette", "{"PRE"value='("NS"QPalette)',numchild='1',children=["
+        "{name='data',type='"NS"QPalette',value='{...}',numchild='4'}]}",
+        "local.v"));
     next();
-    //run("QPen", "{"PRE"value='("NS"QPen)',numchild='1',children=["
-    //    "{name='data',type='"NS"QPen',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QPen", "{"PRE"value='("NS"QPen)',numchild='1',children=["
+        "{name='data',type='"NS"QPen',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
-    //run("QPixmap", "{"PRE"value='("NS"QPixmap)',numchild='1',children=["
-    //    "{name='data',type='"NS"QPixmap',value='{...}',numchild='1'}]}", "local.v");
+// FIXME:
+//    GUI(run("QPixmap", "{"PRE"value='("NS"QPixmap)',numchild='1',children=["
+//        "{name='data',type='"NS"QPixmap',value='{...}',numchild='1'}]}",
+//        "local.v"));
     next();
     run("QPoint", "{"PRE"value='("NS"QPoint)',numchild='1',children=["
         "{name='data',type='"NS"QPoint',value='(45, 46)',numchild='2'}]}",
             "local.v");
     next();
-    //run("QPointArray", "{"PRE"value='("NS"QPointArray)',numchild='1',children=["
-    //    "{name='data',type='"NS"QPointArray',value='{...}',numchild='1'}]}", "local.v");
-    next();
 // FIXME
 //    run("QPointF", "{"PRE"value='("NS"QPointF)',numchild='1',children=["
-//        "{name='data',type='"NS"QPointF',value='(41, 42)',numchild='2'}]}",
-//            "local.v");
+//        "{name='data',type='"NS"QBrush',value='{...}',numchild='1'}]}",
+//        "local.v"));
     next();
-    //run("QPolygon", "{"PRE"value='("NS"QPolygon)',numchild='1',children=["
-    //    "{name='data',type='"NS"QPolygon',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QPolygon", "{"PRE"value='("NS"QPolygon)',numchild='1',children=["
+        "{name='data',type='"NS"QPolygon',value='{...}',numchild='1'}]}",
+        "local.v"));
     next();
-    //run("QQuaternion", "{"PRE"value='("NS"QQuaternion)',numchild='1',children=["
-    //    "{name='data',type='"NS"QQuaternion',value='{...}',numchild='1'}]}", "local.v");
+// FIXME:
+//    GUI(run("QQuaternion", "{"PRE"value='("NS"QQuaternion)',numchild='1',children=["
+//        "{name='data',type='"NS"QQuadernion',value='{...}',numchild='1'}]}",
+//        "local.v"));
     next();
 // FIXME: Fix value
     run("QRect", "{"PRE"value='("NS"QRect)',numchild='1',children=["
@@ -3052,19 +3136,22 @@ void tst_Gdb::dump_QVariant()
     run("QRegExp", "{"PRE"value='("NS"QRegExp)',numchild='1',children=["
         "{name='data',type='"NS"QRegExp',value='{...}',numchild='1'}]}", "local.v");
     next();
-    //run("QRegion", "{"PRE"value='("NS"QRegion)',numchild='1',children=["
-    //    "{name='data',type='"NS"QRegion',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QRegion", "{"PRE"value='("NS"QRegion)',numchild='1',children=["
+        "{name='data',type='"NS"QRegion',value='{...}',numchild='2'}]}",
+        "local.v"));
     next();
     run("QSize", "{"PRE"value='("NS"QSize)',numchild='1',children=["
         "{name='data',type='"NS"QSize',value='(0, 0)',numchild='2'}]}", "local.v");
     next();
 
 // FIXME:
-//    run("QSizeF", "{"PRE"value='("NS"QSizeF)',numchild='1',children=["
-//        "{name='data',type='"NS"QSizeF',value='(0, 0)',numchild='2'}]}", "local.v");
+//  run("QSizeF", "{"PRE"value='("NS"QSizeF)',numchild='1',children=["
+//        "{name='data',type='"NS"QBrush',value='{...}',numchild='1'}]}",
+//        "local.v");
     next();
-    //run("QSizePolicy", "{"PRE"value='("NS"QSizePolicy)',numchild='1',children=["
-    //    "{name='data',type='"NS"QSizePolicy',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QSizePolicy", "{"PRE"value='("NS"QSizePolicy)',numchild='1',children=["
+        "{name='data',type='"NS"QSizePolicy',value='{...}',numchild='2'}]}",
+        "local.v"));
     next();
     run("QString", "{"PRE"value='("NS"QString)',numchild='1',children=["
         "{name='data',type='"NS"QString',valueencoded='7',value='610062006300',numchild='0'}]}",
@@ -3073,11 +3160,13 @@ void tst_Gdb::dump_QVariant()
     run("QStringList", "{"PRE"value='("NS"QStringList)',numchild='1',children=["
         "{name='data',type='"NS"QStringList',value='<1 items>',numchild='1'}]}", "local.v");
     next();
-    //run("QTextFormat", "{"PRE"value='("NS"QTextFormat)',numchild='1',children=["
-    //    "{name='data',type='"NS"QTextFormat',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QTextFormat", "{"PRE"value='("NS"QTextFormat)',numchild='1',children=["
+        "{name='data',type='"NS"QTextFormat',value='{...}',numchild='3'}]}",
+        "local.v"));
     next();
-    //run("QTextLength", "{"PRE"value='("NS"QTextLength)',numchild='1',children=["
-    //    "{name='data',type='"NS"QTextLength',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QTextLength", "{"PRE"value='("NS"QTextLength)',numchild='1',children=["
+        "{name='data',type='"NS"QTextLength',value='{...}',numchild='2'}]}",
+        "local.v"));
     next();
     run("QTime", "{"PRE"value='("NS"QTime)',numchild='1',children=["
         "{name='data',type='"NS"QTime',value='{...}',numchild='1'}]}", "local.v");
@@ -3089,14 +3178,17 @@ void tst_Gdb::dump_QVariant()
     run("QUrl", "{"PRE"value='("NS"QUrl)',numchild='1',children=["
         "{name='data',type='"NS"QUrl',value='{...}',numchild='1'}]}", "local.v");
     next();
-    //run("QVector2D", "{"PRE"value='("NS"QVector2D)',numchild='1',children=["
-    //   "{name='data',type='"NS"QVector2D',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QVector2D", "{"PRE"value='("NS"QVector2D)',numchild='1',children=["
+        "{name='data',type='"NS"QVector2D',value='{...}',numchild='2'}]}",
+        "local.v"));
     next();
-    //run("QVector3D", "{"PRE"value='("NS"QVector3D)',numchild='1',children=["
-    //    "{name='data',type='"NS"QVector3D',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QVector3D", "{"PRE"value='("NS"QVector3D)',numchild='1',children=["
+        "{name='data',type='"NS"QVector3D',value='{...}',numchild='3'}]}",
+        "local.v"));
     next();
-    //run("QVector4D", "{"PRE"value='("NS"QVector4D)',numchild='1',children=["
-    //    "{name='data',type='"NS"QVector4D',value='{...}',numchild='1'}]}", "local.v");
+    GUI(run("QVector4D", "{"PRE"value='("NS"QVector4D)',numchild='1',children=["
+        "{name='data',type='"NS"QVector4D',value='{...}',numchild='4'}]}",
+        "local.v"));
 }
 
 
-- 
GitLab