Skip to content

Commit a80258f

Browse files
committedFeb 8, 2017
Fix some leaks in test suite
1 parent f945123 commit a80258f

File tree

6 files changed

+38
-21
lines changed

6 files changed

+38
-21
lines changed
 

‎tests/src/core/testqgslegendrenderer.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -327,9 +327,9 @@ void TestQgsLegendRenderer::testMapUnits()
327327
sym->setSizeUnit( QgsUnitTypes::RenderMillimeters );
328328
catRenderer->updateCategorySymbol( 2, sym );
329329

330-
QgsLayerTreeGroup* root = new QgsLayerTreeGroup();
330+
std::unique_ptr< QgsLayerTreeGroup > root( new QgsLayerTreeGroup() );
331331
root->addLayer( mVL3 );
332-
QgsLayerTreeModel legendModel( root );
332+
QgsLayerTreeModel legendModel( root.get() );
333333

334334
QgsLegendSettings settings;
335335
_setStandardTestFont( settings );
@@ -481,9 +481,9 @@ void TestQgsLegendRenderer::testFilterByMapSameSymbol()
481481

482482
QString testName = QStringLiteral( "legend_filter_by_map_dupe" );
483483

484-
QgsLayerTreeGroup* root = new QgsLayerTreeGroup();
484+
std::unique_ptr< QgsLayerTreeGroup > root( new QgsLayerTreeGroup() );
485485
root->addLayer( vl4 );
486-
QgsLayerTreeModel legendModel( root );
486+
QgsLayerTreeModel legendModel( root.get() );
487487

488488
QgsMapSettings mapSettings;
489489
// extent and size to include only the red and green points
@@ -507,7 +507,7 @@ bool TestQgsLegendRenderer::_testLegendColumns( int itemCount, int columnCount,
507507
QgsFillSymbol* sym = new QgsFillSymbol();
508508
sym->setColor( Qt::cyan );
509509

510-
QgsLayerTreeGroup* root = new QgsLayerTreeGroup();
510+
std::unique_ptr< QgsLayerTreeGroup > root( new QgsLayerTreeGroup() );
511511

512512
QList< QgsVectorLayer* > layers;
513513
for ( int i = 1; i <= itemCount; ++i )
@@ -520,7 +520,7 @@ bool TestQgsLegendRenderer::_testLegendColumns( int itemCount, int columnCount,
520520
}
521521
delete sym;
522522

523-
QgsLayerTreeModel legendModel( root );
523+
QgsLayerTreeModel legendModel( root.get() );
524524
QgsLegendSettings settings;
525525
settings.setColumnCount( columnCount );
526526
_setStandardTestFont( settings, QStringLiteral( "Bold" ) );
@@ -565,10 +565,10 @@ void TestQgsLegendRenderer::testRasterBorder()
565565
{
566566
QString testName = QStringLiteral( "legend_raster_border" );
567567

568-
QgsLayerTreeGroup* root = new QgsLayerTreeGroup();
568+
std::unique_ptr< QgsLayerTreeGroup > root( new QgsLayerTreeGroup() );
569569
root->addLayer( mRL );
570570

571-
QgsLayerTreeModel legendModel( root );
571+
QgsLayerTreeModel legendModel( root.get() );
572572

573573
QgsLegendSettings settings;
574574
_setStandardTestFont( settings );
@@ -673,9 +673,9 @@ void TestQgsLegendRenderer::testDiagramAttributeLegend()
673673
dls.setShowAllDiagrams( true );
674674
vl4->setDiagramLayerSettings( dls );
675675

676-
QgsLayerTreeGroup* root = new QgsLayerTreeGroup();
676+
std::unique_ptr< QgsLayerTreeGroup > root( new QgsLayerTreeGroup() );
677677
root->addLayer( vl4 );
678-
QgsLayerTreeModel legendModel( root );
678+
QgsLayerTreeModel legendModel( root.get() );
679679

680680
QgsLegendSettings settings;
681681
_setStandardTestFont( settings, QStringLiteral( "Bold" ) );
@@ -713,9 +713,9 @@ void TestQgsLegendRenderer::testDiagramSizeLegend()
713713
dls.setShowAllDiagrams( true );
714714
vl4->setDiagramLayerSettings( dls );
715715

716-
QgsLayerTreeGroup* root = new QgsLayerTreeGroup();
716+
std::unique_ptr< QgsLayerTreeGroup > root( new QgsLayerTreeGroup() );
717717
root->addLayer( vl4 );
718-
QgsLayerTreeModel legendModel( root );
718+
QgsLayerTreeModel legendModel( root.get() );
719719

720720
QgsLegendSettings settings;
721721
_setStandardTestFont( settings, QStringLiteral( "Bold" ) );

‎tests/src/core/testqgsmapsettings.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class TestQgsMapSettings: public QObject
3333
Q_OBJECT
3434
private slots:
3535
void initTestCase();
36+
void cleanupTestCase();
3637
void visibleExtent();
3738
void mapUnitsPerPixel();
3839
void visiblePolygon();
@@ -49,6 +50,11 @@ void TestQgsMapSettings::initTestCase()
4950
QgsApplication::showSettings();
5051
}
5152

53+
void TestQgsMapSettings::cleanupTestCase()
54+
{
55+
QgsApplication::exitQgis();
56+
}
57+
5258
QString TestQgsMapSettings::toString( const QPolygonF& p, int dec ) const
5359
{
5460
QString s;

‎tests/src/core/testqgspainteffectregistry.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,13 @@ class TestQgsPaintEffectRegistry : public QObject
6060

6161
void TestQgsPaintEffectRegistry::initTestCase()
6262
{
63-
63+
QgsApplication::init(); // init paths for CRS lookup
64+
QgsApplication::initQgis();
6465
}
6566

6667
void TestQgsPaintEffectRegistry::cleanupTestCase()
6768
{
68-
69+
QgsApplication::exitQgis();
6970
}
7071

7172
void TestQgsPaintEffectRegistry::init()
@@ -116,8 +117,10 @@ void TestQgsPaintEffectRegistry::addEffect()
116117
registry->addEffectType( new QgsPaintEffectMetadata( QStringLiteral( "Dummy" ), QStringLiteral( "Dummy effect" ), DummyPaintEffect::create ) );
117118
QCOMPARE( registry->effects().length(), previousCount + 1 );
118119
//try adding again, should have no effect
119-
registry->addEffectType( new QgsPaintEffectMetadata( QStringLiteral( "Dummy" ), QStringLiteral( "Dummy effect" ), DummyPaintEffect::create ) );
120+
QgsPaintEffectMetadata* dupe = new QgsPaintEffectMetadata( QStringLiteral( "Dummy" ), QStringLiteral( "Dummy effect" ), DummyPaintEffect::create );
121+
QVERIFY( ! registry->addEffectType( dupe ) );
120122
QCOMPARE( registry->effects().length(), previousCount + 1 );
123+
delete dupe;
121124

122125
//try adding empty metadata
123126
registry->addEffectType( nullptr );

‎tests/src/core/testqgsprocessing.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ void TestQgsProcessing::addProvider()
8787
QVERIFY( !r.addProvider( p3 ) );
8888
QCOMPARE( r.providers().toSet(), QSet< QgsProcessingProvider* >() << p << p2 );
8989
QCOMPARE( spyProviderAdded.count(), 2 );
90+
delete p3;
9091
}
9192

9293
void TestQgsProcessing::providerById()

‎tests/src/core/testqgsstyle.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,12 @@ void TestStyle::testFavorites()
255255
int count = favorites.count();
256256

257257
// add some symbols to favorites
258-
mStyle->saveSymbol( "symbolA", QgsMarkerSymbol::createSimple( QgsStringMap() ), true, QStringList() );
259-
mStyle->saveSymbol( "symbolB", QgsMarkerSymbol::createSimple( QgsStringMap() ), false, QStringList() );
260-
mStyle->saveSymbol( "symbolC", QgsMarkerSymbol::createSimple( QgsStringMap() ), true, QStringList() );
258+
std::unique_ptr< QgsMarkerSymbol > sym1( QgsMarkerSymbol::createSimple( QgsStringMap() ) );
259+
std::unique_ptr< QgsMarkerSymbol > sym2( QgsMarkerSymbol::createSimple( QgsStringMap() ) );
260+
std::unique_ptr< QgsMarkerSymbol > sym3( QgsMarkerSymbol::createSimple( QgsStringMap() ) );
261+
mStyle->saveSymbol( "symbolA", sym1.get(), true, QStringList() );
262+
mStyle->saveSymbol( "symbolB", sym2.get(), false, QStringList() );
263+
mStyle->saveSymbol( "symbolC", sym3.get(), true, QStringList() );
261264

262265
// check for added symbols to favorites
263266
favorites = mStyle->symbolsOfFavorite( QgsStyle::SymbolEntity );
@@ -307,9 +310,12 @@ void TestStyle::testTags()
307310
QVERIFY( !tags.contains( "purple" ) );
308311

309312
//add some symbols
310-
QVERIFY( mStyle->saveSymbol( "symbol1", QgsMarkerSymbol::createSimple( QgsStringMap() ), false, QStringList() << "red" << "starry" ) );
311-
mStyle->addSymbol( QStringLiteral( "blue starry" ), QgsMarkerSymbol::createSimple( QgsStringMap() ), true );
312-
mStyle->addSymbol( QStringLiteral( "red circle" ), QgsMarkerSymbol::createSimple( QgsStringMap() ), true );
313+
std::unique_ptr< QgsMarkerSymbol> sym1( QgsMarkerSymbol::createSimple( QgsStringMap() ) );
314+
std::unique_ptr< QgsMarkerSymbol> sym2( QgsMarkerSymbol::createSimple( QgsStringMap() ) );
315+
std::unique_ptr< QgsMarkerSymbol> sym3( QgsMarkerSymbol::createSimple( QgsStringMap() ) );
316+
QVERIFY( mStyle->saveSymbol( "symbol1", sym1.get() , false, QStringList() << "red" << "starry" ) );
317+
mStyle->addSymbol( QStringLiteral( "blue starry" ), sym2.release(), true );
318+
mStyle->addSymbol( QStringLiteral( "red circle" ), sym3.release(), true );
313319

314320
//tag them
315321
QVERIFY( mStyle->tagSymbol( QgsStyle::SymbolEntity, "blue starry", QStringList() << "blue" << "starry" ) );

‎tests/src/gui/testqgsmapcanvas.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ void TestQgsMapCanvas::initTestCase()
7676

7777
void TestQgsMapCanvas::cleanupTestCase()
7878
{
79+
QgsApplication::exitQgis();
7980
}
8081

8182

0 commit comments

Comments
 (0)
Please sign in to comment.