From b6bf8a4b70091f836a20f4848d3dc00e82bafe3c Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 6 Nov 2014 11:36:23 +0200 Subject: Fixed Valgrind reported issues in cpp tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I284832fc697e0ac6ef1ba1bb857892a10cbcd8fd Reviewed-by: Tomi Korpipää --- .../auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp | 36 ++++++++------- tests/auto/cpptest/q3dbars/tst_bars.cpp | 8 +++- .../cpptest/q3dscatter-modelproxy/tst_proxy.cpp | 23 +++++---- tests/auto/cpptest/q3dscatter/tst_scatter.cpp | 9 +++- tests/auto/cpptest/q3dscene/tst_scene.cpp | 10 ++-- .../cpptest/q3dsurface-heightproxy/tst_proxy.cpp | 4 +- .../cpptest/q3dsurface-modelproxy/tst_proxy.cpp | 50 ++++++++++---------- tests/auto/cpptest/q3dsurface/tst_surface.cpp | 9 +++- tests/auto/qmltest/qmltest.pro | 54 +++++++++++----------- 9 files changed, 116 insertions(+), 87 deletions(-) diff --git a/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp index c65e151b..ef7e0663 100644 --- a/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp +++ b/tests/auto/cpptest/q3dbars-modelproxy/tst_proxy.cpp @@ -164,7 +164,7 @@ void tst_proxy::initializeProperties() { QVERIFY(m_proxy); - QTableWidget *table = new QTableWidget(); + QTableWidget table; m_proxy->setAutoColumnCategories(false); m_proxy->setAutoRowCategories(false); @@ -172,7 +172,7 @@ void tst_proxy::initializeProperties() m_proxy->setColumnRole("column"); m_proxy->setColumnRolePattern(QRegExp("/^.*-(\\d\\d)$/")); m_proxy->setColumnRoleReplace("\\\\1"); - m_proxy->setItemModel(table->model()); + m_proxy->setItemModel(table.model()); m_proxy->setMultiMatchBehavior(QItemModelBarDataProxy::MMBAverage); m_proxy->setRotationRole("rotation"); m_proxy->setRotationRolePattern(QRegExp("/-/")); @@ -209,28 +209,28 @@ void tst_proxy::initializeProperties() void tst_proxy::multiMatch() { - Q3DBars *graph = new Q3DBars(); + Q3DBars graph; - QTableWidget *table = new QTableWidget(); + QTableWidget table; QStringList rows; rows << "row 1" << "row 2" << "row 3"; QStringList columns; columns << "col 1"; const char *values[1][3] = {{"0/0/3.5/30", "0/0/5.0/30", "0/0/6.5/30"}}; - table->setRowCount(1); - table->setColumnCount(3); + table.setRowCount(1); + table.setColumnCount(3); for (int col = 0; col < columns.size(); col++) { for (int row = 0; row < rows.size(); row++) { - QModelIndex index = table->model()->index(col, row); - table->model()->setData(index, values[col][row]); + QModelIndex index = table.model()->index(col, row); + table.model()->setData(index, values[col][row]); } } - m_proxy->setItemModel(table->model()); - m_proxy->setRowRole(table->model()->roleNames().value(Qt::DisplayRole)); - m_proxy->setColumnRole(table->model()->roleNames().value(Qt::DisplayRole)); + m_proxy->setItemModel(table.model()); + m_proxy->setRowRole(table.model()->roleNames().value(Qt::DisplayRole)); + m_proxy->setColumnRole(table.model()->roleNames().value(Qt::DisplayRole)); m_proxy->setRowRolePattern(QRegExp(QStringLiteral("^(\\d*)\\/(\\d*)\\/\\d*[\\.\\,]?\\d*\\/\\d*[\\.\\,]?\\d*$"))); m_proxy->setRowRoleReplace(QStringLiteral("\\2")); m_proxy->setValueRolePattern(QRegExp(QStringLiteral("^\\d*(\\/)(\\d*)\\/(\\d*[\\.\\,]?\\d*)\\/\\d*[\\.\\,]?\\d*$"))); @@ -240,27 +240,29 @@ void tst_proxy::multiMatch() QBar3DSeries *series = new QBar3DSeries(m_proxy); - graph->addSeries(series); + graph.addSeries(series); QCoreApplication::processEvents(); - QCOMPARE(graph->valueAxis()->max(), 6.5f); + QCOMPARE(graph.valueAxis()->max(), 6.5f); m_proxy->setMultiMatchBehavior(QItemModelBarDataProxy::MMBFirst); QCoreApplication::processEvents(); - QCOMPARE(graph->valueAxis()->max(), 3.5f); + QCOMPARE(graph.valueAxis()->max(), 3.5f); m_proxy->setMultiMatchBehavior(QItemModelBarDataProxy::MMBLast); QCoreApplication::processEvents(); - QCOMPARE(graph->valueAxis()->max(), 6.5f); + QCOMPARE(graph.valueAxis()->max(), 6.5f); m_proxy->setMultiMatchBehavior(QItemModelBarDataProxy::MMBAverage); QCoreApplication::processEvents(); - QCOMPARE(graph->valueAxis()->max(), 5.0f); + QCOMPARE(graph.valueAxis()->max(), 5.0f); m_proxy->setMultiMatchBehavior(QItemModelBarDataProxy::MMBCumulative); QCoreApplication::processEvents(); - QCOMPARE(graph->valueAxis()->max(), 15.0f); + QCOMPARE(graph.valueAxis()->max(), 15.0f); QCOMPARE(m_proxy->columnLabels().count(), 1); QCOMPARE(m_proxy->rowCount(), 1); QCOMPARE(m_proxy->rowLabels().count(), 1); QVERIFY(m_proxy->series()); + + m_proxy = 0; // Proxy gets deleted as graph gets deleted } QTEST_MAIN(tst_proxy) diff --git a/tests/auto/cpptest/q3dbars/tst_bars.cpp b/tests/auto/cpptest/q3dbars/tst_bars.cpp index 6910e4fa..3d4daaef 100644 --- a/tests/auto/cpptest/q3dbars/tst_bars.cpp +++ b/tests/auto/cpptest/q3dbars/tst_bars.cpp @@ -96,7 +96,8 @@ void tst_bars::construct() QVERIFY(graph); delete graph; - graph = new Q3DBars(new QSurfaceFormat()); + QSurfaceFormat format; + graph = new Q3DBars(&format); QVERIFY(graph); delete graph; } @@ -250,6 +251,7 @@ void tst_bars::removeSeries() m_graph->addSeries(series); m_graph->removeSeries(series); QCOMPARE(m_graph->seriesList().length(), 0); + delete series; } void tst_bars::removeMultipleSeries() @@ -276,6 +278,10 @@ void tst_bars::removeMultipleSeries() m_graph->removeSeries(series3); QCOMPARE(m_graph->seriesList().length(), 0); + + delete series; + delete series2; + delete series3; } // The following tests are not required for scatter or surface, as they are handled identically diff --git a/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp index 9d5cea90..0dccd54f 100644 --- a/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp +++ b/tests/auto/cpptest/q3dscatter-modelproxy/tst_proxy.cpp @@ -120,9 +120,9 @@ void tst_proxy::initializeProperties() { QVERIFY(m_proxy); - QTableWidget *table = new QTableWidget(); + QTableWidget table; - m_proxy->setItemModel(table->model()); + m_proxy->setItemModel(table.model()); m_proxy->setRotationRole("rotation"); m_proxy->setRotationRolePattern(QRegExp("/-/")); m_proxy->setRotationRoleReplace("\\\\1"); @@ -153,26 +153,26 @@ void tst_proxy::initializeProperties() void tst_proxy::addModel() { - QTableWidget *table = new QTableWidget(); + QTableWidget table; QStringList rows; rows << "row 1"; QStringList columns; columns << "col 1"; const char *values[1][2] = {{"0/0/5.5/30", "0/0/10.5/30"}}; - table->setRowCount(2); - table->setColumnCount(1); + table.setRowCount(2); + table.setColumnCount(1); for (int col = 0; col < columns.size(); col++) { for (int row = 0; row < rows.size(); row++) { - QModelIndex index = table->model()->index(col, row); - table->model()->setData(index, values[col][row]); + QModelIndex index = table.model()->index(col, row); + table.model()->setData(index, values[col][row]); } } - m_proxy->setItemModel(table->model()); - m_proxy->setXPosRole(table->model()->roleNames().value(Qt::DisplayRole)); - m_proxy->setZPosRole(table->model()->roleNames().value(Qt::DisplayRole)); + m_proxy->setItemModel(table.model()); + m_proxy->setXPosRole(table.model()->roleNames().value(Qt::DisplayRole)); + m_proxy->setZPosRole(table.model()->roleNames().value(Qt::DisplayRole)); m_proxy->setXPosRolePattern(QRegExp(QStringLiteral("^(\\d*)\\/(\\d*)\\/\\d*[\\.\\,]?\\d*\\/\\d*[\\.\\,]?\\d*$"))); m_proxy->setXPosRoleReplace(QStringLiteral("\\2")); m_proxy->setYPosRolePattern(QRegExp(QStringLiteral("^\\d*(\\/)(\\d*)\\/(\\d*[\\.\\,]?\\d*)\\/\\d*[\\.\\,]?\\d*$"))); @@ -187,6 +187,9 @@ void tst_proxy::addModel() QCOMPARE(m_proxy->itemCount(), 2); QVERIFY(m_proxy->series()); + + delete series; + m_proxy = 0; // proxy gets deleted with series } QTEST_MAIN(tst_proxy) diff --git a/tests/auto/cpptest/q3dscatter/tst_scatter.cpp b/tests/auto/cpptest/q3dscatter/tst_scatter.cpp index 5a3b6550..10693915 100644 --- a/tests/auto/cpptest/q3dscatter/tst_scatter.cpp +++ b/tests/auto/cpptest/q3dscatter/tst_scatter.cpp @@ -81,7 +81,8 @@ void tst_scatter::construct() QVERIFY(graph); delete graph; - graph = new Q3DScatter(new QSurfaceFormat()); + QSurfaceFormat format; + graph = new Q3DScatter(&format); QVERIFY(graph); delete graph; } @@ -207,6 +208,8 @@ void tst_scatter::removeSeries() m_graph->addSeries(series); m_graph->removeSeries(series); QCOMPARE(m_graph->seriesList().length(), 0); + + delete series; } void tst_scatter::removeMultipleSeries() @@ -231,6 +234,10 @@ void tst_scatter::removeMultipleSeries() m_graph->removeSeries(series3); QCOMPARE(m_graph->seriesList().length(), 0); + + delete series; + delete series2; + delete series3; } QTEST_MAIN(tst_scatter) diff --git a/tests/auto/cpptest/q3dscene/tst_scene.cpp b/tests/auto/cpptest/q3dscene/tst_scene.cpp index 83eff9eb..bddd40d2 100644 --- a/tests/auto/cpptest/q3dscene/tst_scene.cpp +++ b/tests/auto/cpptest/q3dscene/tst_scene.cpp @@ -127,12 +127,12 @@ void tst_scene::invalidProperties() void tst_scene::subViews() { - Q3DBars *graph = new Q3DBars(); - graph->setPosition(QPoint(0, 0)); - graph->setWidth(200); - graph->setHeight(200); + Q3DBars graph; + graph.setPosition(QPoint(0, 0)); + graph.setWidth(200); + graph.setHeight(200); - Q3DScene *scene = graph->scene(); + Q3DScene *scene = graph.scene(); QCoreApplication::processEvents(); diff --git a/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp index 20ed1aeb..88faec4b 100644 --- a/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp +++ b/tests/auto/cpptest/q3dsurface-heightproxy/tst_proxy.cpp @@ -66,7 +66,9 @@ void tst_proxy::construct() QVERIFY(proxy); delete proxy; - proxy = new QHeightMapSurfaceDataProxy(QImage(QSize(10, 10), QImage::Format_ARGB32)); + QImage image(QSize(10, 10), QImage::Format_ARGB32); + image.fill(0); + proxy = new QHeightMapSurfaceDataProxy(image); QVERIFY(proxy); QCoreApplication::processEvents(); QCOMPARE(proxy->columnCount(), 10); diff --git a/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp b/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp index 6bef9478..36d72b09 100644 --- a/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp +++ b/tests/auto/cpptest/q3dsurface-modelproxy/tst_proxy.cpp @@ -70,13 +70,13 @@ void tst_proxy::construct() QVERIFY(proxy); delete proxy; - QTableWidget *table = new QTableWidget(); + QTableWidget table; - proxy = new QItemModelSurfaceDataProxy(table->model()); + proxy = new QItemModelSurfaceDataProxy(table.model()); QVERIFY(proxy); delete proxy; - proxy = new QItemModelSurfaceDataProxy(table->model(), "y"); + proxy = new QItemModelSurfaceDataProxy(table.model(), "y"); QVERIFY(proxy); QCOMPARE(proxy->rowRole(), QString("")); QCOMPARE(proxy->columnRole(), QString("")); @@ -87,7 +87,7 @@ void tst_proxy::construct() QCOMPARE(proxy->columnCategories().length(), 0); delete proxy; - proxy = new QItemModelSurfaceDataProxy(table->model(), "row", "column", "y"); + proxy = new QItemModelSurfaceDataProxy(table.model(), "row", "column", "y"); QVERIFY(proxy); QCOMPARE(proxy->rowRole(), QString("row")); QCOMPARE(proxy->columnRole(), QString("column")); @@ -98,7 +98,7 @@ void tst_proxy::construct() QCOMPARE(proxy->columnCategories().length(), 0); delete proxy; - proxy = new QItemModelSurfaceDataProxy(table->model(), "row", "column", "x", "y", "z"); + proxy = new QItemModelSurfaceDataProxy(table.model(), "row", "column", "x", "y", "z"); QVERIFY(proxy); QCOMPARE(proxy->rowRole(), QString("row")); QCOMPARE(proxy->columnRole(), QString("column")); @@ -109,7 +109,7 @@ void tst_proxy::construct() QCOMPARE(proxy->columnCategories().length(), 0); delete proxy; - proxy = new QItemModelSurfaceDataProxy(table->model(), "row", "column", "y", + proxy = new QItemModelSurfaceDataProxy(table.model(), "row", "column", "y", QStringList() << "rowCat", QStringList() << "colCat"); QVERIFY(proxy); QCOMPARE(proxy->rowRole(), QString("row")); @@ -121,7 +121,7 @@ void tst_proxy::construct() QCOMPARE(proxy->columnCategories().length(), 1); delete proxy; - proxy = new QItemModelSurfaceDataProxy(table->model(), "row", "column", "x", "y", "z", + proxy = new QItemModelSurfaceDataProxy(table.model(), "row", "column", "x", "y", "z", QStringList() << "rowCat", QStringList() << "colCat"); QVERIFY(proxy); QCOMPARE(proxy->rowRole(), QString("row")); @@ -172,7 +172,7 @@ void tst_proxy::initializeProperties() { QVERIFY(m_proxy); - QTableWidget *table = new QTableWidget(); + QTableWidget table; m_proxy->setAutoColumnCategories(false); m_proxy->setAutoRowCategories(false); @@ -180,7 +180,7 @@ void tst_proxy::initializeProperties() m_proxy->setColumnRole("column"); m_proxy->setColumnRolePattern(QRegExp("/^.*-(\\d\\d)$/")); m_proxy->setColumnRoleReplace("\\\\1"); - m_proxy->setItemModel(table->model()); + m_proxy->setItemModel(table.model()); m_proxy->setMultiMatchBehavior(QItemModelSurfaceDataProxy::MMBAverage); m_proxy->setRowCategories(QStringList() << "row1" << "row2"); m_proxy->setRowRole("row"); @@ -223,9 +223,9 @@ void tst_proxy::initializeProperties() void tst_proxy::multiMatch() { - Q3DSurface *graph = new Q3DSurface(); + Q3DSurface graph; - QTableWidget *table = new QTableWidget(); + QTableWidget table; QStringList rows; rows << "row 1" << "row 2"; QStringList columns; @@ -235,19 +235,19 @@ void tst_proxy::multiMatch() {"1/0/5.5/30", "1/0/0.5/30"}, {"1/1/0.0/30", "1/1/0.0/30"}}; - table->setRowCount(2); - table->setColumnCount(4); + table.setRowCount(2); + table.setColumnCount(4); for (int col = 0; col < columns.size(); col++) { for (int row = 0; row < rows.size(); row++) { - QModelIndex index = table->model()->index(col, row); - table->model()->setData(index, values[col][row]); + QModelIndex index = table.model()->index(col, row); + table.model()->setData(index, values[col][row]); } } - m_proxy->setItemModel(table->model()); - m_proxy->setRowRole(table->model()->roleNames().value(Qt::DisplayRole)); - m_proxy->setColumnRole(table->model()->roleNames().value(Qt::DisplayRole)); + m_proxy->setItemModel(table.model()); + m_proxy->setRowRole(table.model()->roleNames().value(Qt::DisplayRole)); + m_proxy->setColumnRole(table.model()->roleNames().value(Qt::DisplayRole)); m_proxy->setRowRolePattern(QRegExp(QStringLiteral("^(\\d*)\\/(\\d*)\\/\\d*[\\.\\,]?\\d*\\/\\d*[\\.\\,]?\\d*$"))); m_proxy->setRowRoleReplace(QStringLiteral("\\2")); m_proxy->setYPosRolePattern(QRegExp(QStringLiteral("^\\d*(\\/)(\\d*)\\/(\\d*[\\.\\,]?\\d*)\\/\\d*[\\.\\,]?\\d*$"))); @@ -257,26 +257,28 @@ void tst_proxy::multiMatch() QSurface3DSeries *series = new QSurface3DSeries(m_proxy); - graph->addSeries(series); + graph.addSeries(series); QCoreApplication::processEvents(); - QCOMPARE(graph->axisY()->max(), 10.5f); + QCOMPARE(graph.axisY()->max(), 10.5f); m_proxy->setMultiMatchBehavior(QItemModelSurfaceDataProxy::MMBFirst); QCoreApplication::processEvents(); - QCOMPARE(graph->axisY()->max(), 5.5f); + QCOMPARE(graph.axisY()->max(), 5.5f); m_proxy->setMultiMatchBehavior(QItemModelSurfaceDataProxy::MMBLast); QCoreApplication::processEvents(); - QCOMPARE(graph->axisY()->max(), 10.5f); + QCOMPARE(graph.axisY()->max(), 10.5f); m_proxy->setMultiMatchBehavior(QItemModelSurfaceDataProxy::MMBAverage); QCoreApplication::processEvents(); - QCOMPARE(graph->axisY()->max(), 8.0f); + QCOMPARE(graph.axisY()->max(), 8.0f); m_proxy->setMultiMatchBehavior(QItemModelSurfaceDataProxy::MMBCumulativeY); QCoreApplication::processEvents(); - QCOMPARE(graph->axisY()->max(), 16.0f); + QCOMPARE(graph.axisY()->max(), 16.0f); QCOMPARE(m_proxy->columnCount(), 2); QCOMPARE(m_proxy->rowCount(), 3); QVERIFY(m_proxy->series()); + + m_proxy = 0; // Graph deletes proxy } QTEST_MAIN(tst_proxy) diff --git a/tests/auto/cpptest/q3dsurface/tst_surface.cpp b/tests/auto/cpptest/q3dsurface/tst_surface.cpp index 0ae0a326..a71af1ee 100644 --- a/tests/auto/cpptest/q3dsurface/tst_surface.cpp +++ b/tests/auto/cpptest/q3dsurface/tst_surface.cpp @@ -86,7 +86,8 @@ void tst_surface::construct() QVERIFY(graph); delete graph; - graph = new Q3DSurface(new QSurfaceFormat()); + QSurfaceFormat format; + graph = new Q3DSurface(&format); QVERIFY(graph); delete graph; } @@ -217,6 +218,8 @@ void tst_surface::removeSeries() m_graph->addSeries(series); m_graph->removeSeries(series); QCOMPARE(m_graph->seriesList().length(), 0); + + delete series; } void tst_surface::removeMultipleSeries() @@ -241,6 +244,10 @@ void tst_surface::removeMultipleSeries() m_graph->removeSeries(series3); QCOMPARE(m_graph->seriesList().length(), 0); + + delete series; + delete series2; + delete series3; } QTEST_MAIN(tst_surface) diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro index cbb9b8b8..5b52595f 100644 --- a/tests/auto/qmltest/qmltest.pro +++ b/tests/auto/qmltest/qmltest.pro @@ -3,33 +3,33 @@ TARGET = tst_qmltest CONFIG += qmltestcase CONFIG += console SOURCES += tst_qmltest.cpp -OTHER_FILES += bars3d\tst_basic.qml \ - bars3d\tst_bars.qml \ - bars3d\tst_barseries.qml \ - bars3d\tst_proxy.qml \ - scatter3d\tst_basic.qml \ - scatter3d\tst_scatter.qml \ - scatter3d\tst_scatterseries.qml \ - scatter3d\tst_proxy.qml \ - surface3d\tst_basic.qml \ - surface3d\tst_surface.qml \ - surface3d\tst_surfaceseries.qml \ - surface3d\tst_proxy.qml \ - surface3d\tst_heightproxy.qml \ - theme3d\tst_theme.qml \ - theme3d\tst_colorgradient.qml \ - theme3d\tst_themecolor.qml \ - custom3d\tst_customitem.qml \ - custom3d\tst_customlabel.qml \ - custom3d\tst_customvolume.qml \ - scene3d\tst_scene.qml \ - scene3d\tst_camera.qml \ - scene3d\tst_light.qml \ - input3d\tst_input.qml \ - input3d\tst_touch.qml \ - axis3d\tst_category.qml \ - axis3d\tst_value.qml \ - axis3d\tst_logvalue.qml \ +OTHER_FILES += bars3d/tst_basic.qml \ + bars3d/tst_bars.qml \ + bars3d/tst_barseries.qml \ + bars3d/tst_proxy.qml \ + scatter3d/tst_basic.qml \ + scatter3d/tst_scatter.qml \ + scatter3d/tst_scatterseries.qml \ + scatter3d/tst_proxy.qml \ + surface3d/tst_basic.qml \ + surface3d/tst_surface.qml \ + surface3d/tst_surfaceseries.qml \ + surface3d/tst_proxy.qml \ + surface3d/tst_heightproxy.qml \ + theme3d/tst_theme.qml \ + theme3d/tst_colorgradient.qml \ + theme3d/tst_themecolor.qml \ + custom3d/tst_customitem.qml \ + custom3d/tst_customlabel.qml \ + custom3d/tst_customvolume.qml \ + scene3d/tst_scene.qml \ + scene3d/tst_camera.qml \ + scene3d/tst_light.qml \ + input3d/tst_input.qml \ + input3d/tst_touch.qml \ + axis3d/tst_category.qml \ + axis3d/tst_value.qml \ + axis3d/tst_logvalue.qml \ RESOURCES += \ qmltest.qrc -- cgit v1.2.3