From 2d21b1ad2be97530d45c730b1e401b5063c508b0 Mon Sep 17 00:00:00 2001
From: Marcin Nowak <Marcin.Nowak@cern.ch>
Date: Mon, 22 Aug 2016 12:22:10 +0200
Subject: [PATCH] fix remaining resource leaks (RootCollection-00-02-38)

	* test/read_test.cxx: fix remaining resource leaks
	* Tagging RootCollection-00-02-38

2016-08-10  Marcin Nowak  <Marcin.Nowak@cern.ch>
	* test/update_test.cxx: fix resource leak
	* Tagging RootCollection-00-02-37
---
 Database/APR/RootCollection/test/read_test.cxx   |  7 ++++---
 Database/APR/RootCollection/test/update_test.cxx | 11 ++++++-----
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/Database/APR/RootCollection/test/read_test.cxx b/Database/APR/RootCollection/test/read_test.cxx
index 842c080708f..e23da977231 100755
--- a/Database/APR/RootCollection/test/read_test.cxx
+++ b/Database/APR/RootCollection/test/read_test.cxx
@@ -21,6 +21,7 @@
 #include "PersistentDataModel/Token.h"
 #include <stdexcept>
 #include <cstdlib>
+#include <memory>
 #include "CoralBase/Attribute.h"
 
 #include "TInterpreter.h"
@@ -188,7 +189,7 @@ void
 TestDriver::write()
 {
    cout << "Creating CollectionService" << endl;
-   pool::ICollectionService *serviceHandle = new pool::CollectionService();
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    cout << "Creating Collection Description" << endl;
    pool::CollectionDescription description( m_name, "RootCollection", m_connection );
    description.insertColumn( "attr1", "int", "integer test attribute" );
@@ -271,8 +272,8 @@ void
 TestDriver::read()
 {
    cout << "Creating CollectionService" << endl;
-   pool::ICollectionService* serviceHandle = new pool::CollectionService();
-   
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
+
   cout << "Getting handle to existing collection ( opened for read-only transactions by default )" << endl;
   pool::ICollection* collection = serviceHandle->handle( m_name, "RootCollection" , m_connection );
 
diff --git a/Database/APR/RootCollection/test/update_test.cxx b/Database/APR/RootCollection/test/update_test.cxx
index 1364e33cdd7..e32328496c2 100755
--- a/Database/APR/RootCollection/test/update_test.cxx
+++ b/Database/APR/RootCollection/test/update_test.cxx
@@ -21,6 +21,7 @@
 
 #include <stdexcept>
 #include <cstdlib>
+#include <memory>
 #include "CoralBase/Attribute.h"
 
 #include "TInterpreter.h"
@@ -71,7 +72,7 @@ void
 TestDriver::write()
 {
    cout << "Creating CollectionService" << endl;
-   pool::ICollectionService *serviceHandle = new pool::CollectionService();
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    cout << "Creating Collection Description" << endl;
    pool::CollectionDescription description( m_name, "RootCollection", m_connection );
    description.insertColumn( "attr1", "int" );
@@ -116,7 +117,7 @@ TestDriver::write()
    cout << "Closing the collection." << endl;
    collection->close();
    delete collection;
-
+   
    cout << "[OVAL] finished hopefully" << endl;
 }
 
@@ -126,7 +127,7 @@ void
 TestDriver::read()
 {
    cout << "Creationg CollectionService" << endl;
-   pool::ICollectionService *serviceHandle = new pool::CollectionService();
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    
    cout << "Getting handle to existing collection for reading" << endl;
    bool        readOnly(true);
@@ -157,7 +158,7 @@ void
 TestDriver::update()
 {
    cout << "Creationg CollectionService" << endl;
-   pool::ICollectionService *serviceHandle( new pool::CollectionService() );
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    
    cout << "Getting handle to existing collection for update" << endl;
    bool        readOnly(false);
@@ -203,7 +204,7 @@ TestDriver::query() {
    
     cout << endl << endl;
    cout << "Creationg CollectionService" << endl;
-   pool::ICollectionService *serviceHandle( new pool::CollectionService() );
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    
    cout << "Getting handle to existing collection for reading" << endl;
    bool        readOnly(true);
-- 
GitLab