[ONOS-6901] Fix how the systemTest does not return any result when it forced to quit the test

Change-Id: If93c48d46e8dc2494046b42de21f732775d7f520
diff --git a/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py b/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py
index a401bb2..f89e57d 100644
--- a/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py
+++ b/TestON/tests/FUNC/FUNCbgpls/FUNCbgpls.py
@@ -65,7 +65,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         try:
             main.cellName = main.params['ENV']['cellName']
@@ -90,8 +90,7 @@
                                      onfail="Something is wrong with app Ids" )
         if cliResults == main.FALSE:
             main.log.error( "Failed to start ONOS,stopping test" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
     def CASE2( self, main ):
         """
@@ -110,8 +109,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         bgplsConfig = BgpLs()
         Ne_id = bgplsConfig.Constants()
@@ -209,8 +207,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         bgplsConfig = BgpLs()
         Ne_id = bgplsConfig.Constants()
@@ -303,8 +300,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         bgplsConfig = BgpLs()
         app = bgplsConfig.apps()
@@ -375,8 +371,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         bgplsConfig = BgpLs()
         app = bgplsConfig.apps()
@@ -448,8 +443,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         bgplsConfig = BgpLs()
         app = bgplsConfig.apps()
diff --git a/TestON/tests/FUNC/FUNCflow/FUNCflow.py b/TestON/tests/FUNC/FUNCflow/FUNCflow.py
index 0b02465..9b504ba 100644
--- a/TestON/tests/FUNC/FUNCflow/FUNCflow.py
+++ b/TestON/tests/FUNC/FUNCflow/FUNCflow.py
@@ -31,7 +31,7 @@
             from tests.dependencies.ONOSSetup import ONOSSetup
         except ImportError:
             main.log.error( "SetUp not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.testSetUp
         except ( NameError, AttributeError ):
@@ -72,7 +72,7 @@
             except ImportError as e:
                 print e
                 main.log.error("CheckingFlow not found exiting the test")
-                main.exit()
+                main.cleanAndExit()
             copyResult = main.ONOSbench.scp( main.Mininet1,
                                              main.dependencyPath + main.topology,
                                              main.Mininet1.home + '/custom/',
@@ -117,7 +117,7 @@
             from tests.dependencies.topology import Topology
         except ImportError:
             main.log.error( "Topology not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.topoRelated
         except ( NameError, AttributeError ):
@@ -619,8 +619,7 @@
             stepResult = main.FALSE
         except ValueError:
             main.log.error( "Problem getting Flows state from REST API.  Exiting test" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         utilities.assert_equals( expect=main.TRUE,
                                  actual=stepResult,
@@ -1028,8 +1027,7 @@
             stepResult = main.FALSE
         except ValueError:
             main.log.error( "Problem getting Flows state from REST API.  Exiting test" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         utilities.assert_equals( expect=main.TRUE,
                                  actual=stepResult,
diff --git a/TestON/tests/FUNC/FUNCflow/dependencies/checkingFlow.py b/TestON/tests/FUNC/FUNCflow/dependencies/checkingFlow.py
index 0269f7e..4209947 100644
--- a/TestON/tests/FUNC/FUNCflow/dependencies/checkingFlow.py
+++ b/TestON/tests/FUNC/FUNCflow/dependencies/checkingFlow.py
@@ -22,8 +22,7 @@
             stepResult = main.FALSE
         except ValueError:
             main.log.error( "Problem getting Flows state from REST API.  Exiting test" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         utilities.assert_equals( expect=main.TRUE,
                                  actual=stepResult,
diff --git a/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py b/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py
index 3e59ab7..de50155 100644
--- a/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py
+++ b/TestON/tests/FUNC/FUNCgroup/FUNCgroup.py
@@ -41,7 +41,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
 
@@ -125,7 +125,7 @@
             from tests.dependencies.topology import Topology
         except ImportError:
             main.log.error( "Topology not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.topoRelated
         except ( NameError, AttributeError ):
diff --git a/TestON/tests/FUNC/FUNCgroup/dependencies/group-bucket.py b/TestON/tests/FUNC/FUNCgroup/dependencies/group-bucket.py
index b143fdb..7b8ded6 100644
--- a/TestON/tests/FUNC/FUNCgroup/dependencies/group-bucket.py
+++ b/TestON/tests/FUNC/FUNCgroup/dependencies/group-bucket.py
@@ -48,5 +48,4 @@
         return None
     except Exception:
         main.log.exception( self.name + ": Uncaught exception!" )
-        main.cleanup()
-        main.exit()
+        main.cleanAndExit()
diff --git a/TestON/tests/FUNC/FUNCintent/FUNCintent.py b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
index 9de5740..2b85fc2 100644
--- a/TestON/tests/FUNC/FUNCintent/FUNCintent.py
+++ b/TestON/tests/FUNC/FUNCintent/FUNCintent.py
@@ -45,7 +45,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
 
@@ -123,7 +123,7 @@
             from tests.dependencies.topology import Topology
         except ImportError:
             main.log.error( "Topology not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.topoRelated
         except ( NameError, AttributeError ):
@@ -387,7 +387,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
@@ -417,8 +417,7 @@
         mininetResult = main.Utils.mininetCleanup( main.Mininet1 )
         # Exit if topology did not load properly
         if not ( mininetResult and scapyResult ):
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
     def CASE19( self, main ):
         """
@@ -428,7 +427,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
diff --git a/TestON/tests/FUNC/FUNCintent/dependencies/FuncIntentFunction.py b/TestON/tests/FUNC/FUNCintent/dependencies/FuncIntentFunction.py
index 7418965..6299ac2 100644
--- a/TestON/tests/FUNC/FUNCintent/dependencies/FuncIntentFunction.py
+++ b/TestON/tests/FUNC/FUNCintent/dependencies/FuncIntentFunction.py
@@ -1936,7 +1936,7 @@
         from tests.dependencies.topology import Topology
     except Exception:
         main.log.error( "Topology not found exiting the test" )
-        main.exit()
+        main.cleanAndExit()
     try:
         main.topoRelated
     except Exception:
@@ -2279,8 +2279,8 @@
         return main.FALSE
     except Exception:
         main.log.exception( "checkLeaderChange: Uncaught exception!" )
-        main.cleanup()
-        main.exit()
+        main.cleanAndExit()
+
     main.log.info( "Checking Intent Paritions for Change in Leadership" )
     mismatch = False
     for dict1 in leaders1:
diff --git a/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
index 03ab601..0f3fcf9 100644
--- a/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
+++ b/TestON/tests/FUNC/FUNCintentRest/FUNCintentRest.py
@@ -48,12 +48,13 @@
             - Install ONOS package
             - Build ONOS package
         """
+        main.cleanAndExit()
         try:
             from tests.dependencies.ONOSSetup import ONOSSetup
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
 
@@ -121,7 +122,7 @@
             from tests.dependencies.topology import Topology
         except ImportError:
             main.log.error( "Topology not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.topoRelated
         except ( NameError, AttributeError ):
@@ -401,7 +402,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
@@ -432,8 +433,7 @@
         mininetResult = main.Utils.mininetCleanup( main.Mininet1 )
         # Exit if topology did not load properly
         if not ( mininetResult and scapyResult ):
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
     def CASE19( self, main ):
         """
@@ -443,7 +443,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
diff --git a/TestON/tests/FUNC/FUNCintentRest/dependencies/FuncIntentFunction.py b/TestON/tests/FUNC/FUNCintentRest/dependencies/FuncIntentFunction.py
index 5f29037..f4743ee 100644
--- a/TestON/tests/FUNC/FUNCintentRest/dependencies/FuncIntentFunction.py
+++ b/TestON/tests/FUNC/FUNCintentRest/dependencies/FuncIntentFunction.py
@@ -1514,7 +1514,7 @@
         from tests.dependencies.topology import Topology
     except Exception:
         main.log.error( "Topology not found exiting the test" )
-        main.exit()
+        main.cleanAndExit()
     try:
         main.topoRelated
     except ( NameError, AttributeError ):
@@ -1697,8 +1697,7 @@
         return main.FALSE
     except Exception:
         main.log.exception( self.name + ": Uncaught exception!" )
-        main.cleanup()
-        main.exit()
+        main.cleanAndExit()
     main.log.info( "Checking Intent Paritions for Change in Leadership" )
     mismatch = False
     for dict1 in leaders1:
diff --git a/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
index 1f4d05d..912db21 100644
--- a/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
+++ b/TestON/tests/FUNC/FUNCipv6Intent/FUNCipv6Intent.py
@@ -44,7 +44,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
         # Test variables
@@ -112,8 +112,8 @@
                                  onpass="ONOS summary command succeded",
                                  onfail="ONOS summary command failed" )
         if not ready:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
+            main.cleanAndExit()
 
         main.step( "setup the ipv6NeighbourDiscovery" )
         cfgResult1 = main.Cluster.active( 0 ).CLI.setCfg( "org.onosproject.incubator.net.neighbour.impl.NeighbourResolutionManager", "ndpEnabled", "true" )
@@ -148,8 +148,8 @@
                                  onfail="Failed to load topology" )
         # Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
+            main.cleanAndExit()
 
     def CASE12( self, main ):
         """
@@ -177,8 +177,8 @@
                                                          ip=tempONOSip,
                                                          port='6633' )
         if not assignResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
+            main.cleanAndExit()
 
         for i in range( 1, ( main.numSwitch + 1 ) ):
             response = main.Mininet1.getSwController( "s" + str( i ) )
@@ -231,7 +231,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
@@ -240,8 +240,8 @@
         topoResult = main.Utils.mininetCleanup( main.Mininet1 )
         # Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
+            main.cleanAndExit()
 
     def CASE1000( self, main ):
         """
diff --git a/TestON/tests/FUNC/FUNCipv6Intent/dependencies/FUNCIpv6IntentFunction.py b/TestON/tests/FUNC/FUNCipv6Intent/dependencies/FUNCIpv6IntentFunction.py
index 6bd4c6c..d4594aa 100644
--- a/TestON/tests/FUNC/FUNCipv6Intent/dependencies/FUNCIpv6IntentFunction.py
+++ b/TestON/tests/FUNC/FUNCipv6Intent/dependencies/FUNCIpv6IntentFunction.py
@@ -2008,8 +2008,8 @@
         return main.FALSE
     except Exception:
         main.log.exception( self.name + ": Uncaught exception!" )
-        main.cleanup()
-        main.exit()
+        main.cleanAndExit()
+
     main.log.info( "Checking Intent Paritions for Change in Leadership" )
     mismatch = False
     for dict1 in leaders1:
diff --git a/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
index 2b44494..ef5eb99 100644
--- a/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
+++ b/TestON/tests/FUNC/FUNCnetCfg/FUNCnetCfg.py
@@ -42,7 +42,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
 
@@ -95,7 +95,7 @@
             from tests.dependencies.topology import Topology
         except ImportError:
             main.log.error( "Topology not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.topoRelated
         except ( NameError, AttributeError ):
@@ -136,8 +136,7 @@
                                  onfail="Failed to load topology" )
         # Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
     def CASE11( self, main ):
         """
@@ -163,8 +162,7 @@
                                  onfail="Failed to load topology" )
         # Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         tempONOSip = main.Cluster.getIps()
 
@@ -173,8 +171,7 @@
                                                          ip=tempONOSip,
                                                          port='6653' )
         if not assignResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         assignResult = main.TRUE
         for sw in swList:
@@ -201,7 +198,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
@@ -210,8 +207,7 @@
         topoResult = main.Utils.mininetCleanup( main.Mininet1 )
         # Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
     def CASE20( self, main ):
         """
@@ -236,8 +232,7 @@
                 s1Json = json.load( s1Jsondata )
         except IOError:
             main.log.exception( "s1Json File not found." )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.log.info( "s1Json:" + str( s1Json ) )
 
         main.s1Json = s1Json
@@ -281,8 +276,7 @@
                 s3Json = json.load( s3Jsondata )
         except IOError:
             main.log.exception( "s3Json File not found" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.log.info( "s3Json:" + str( s3Json ) )
 
         main.s3Json = s3Json
@@ -329,8 +323,7 @@
             assert main.s1Json, "s1Json not defined"
         except AssertionError:
             main.log.exception( "Case Prerequisites not set: " )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.case( "Check Devices After they initially connect to ONOS" )
 
         main.netCfg.compareCfg( main )
@@ -395,8 +388,7 @@
                 s2Json = json.load( s2Jsondata )
         except IOError:
             main.log.exception( "s2Json File not found" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.log.info( "s2Json:" + str( s2Json ) )
         main.s2Json = s2Json
         setS2Allow = main.Cluster.active( 1 ).REST.setNetCfg( s2Json,
@@ -436,8 +428,7 @@
                 s4Json = json.load( s4Jsondata )
         except IOError:
             main.log.exception( "s4Json File not found" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.log.info( "s4Json:" + str( s4Json ) )
         main.s4Json = s4Json
         setS4Disallow = main.Cluster.active( 2 ).REST.setNetCfg( s4Json,
@@ -485,8 +476,7 @@
             assert main.s2Json, "s2Json not defined"
         except AssertionError:
             main.log.exception( "Case Prerequisites not set: " )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.case( "Check Devices after all configurations are set" )
 
         main.netCfg.compareCfg( main )
@@ -535,8 +525,7 @@
             assert main.s4Json, "s4Json not defined"
         except AssertionError:
             main.log.exception( "Case Prerequisites not set: " )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.case( "Testing removal of configurations" )
         main.step( "Remove 'allowed' configuration from all devices" )
 
@@ -684,8 +673,7 @@
                 main.s5Json = json.load( s5Jsondata )
         except IOError:
             main.log.exception( "s5Json File not found" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.log.info( "s5Json:" + str( main.s5Json ) )
 
         try:
@@ -693,8 +681,7 @@
                 main.s6Json = json.load( s6Jsondata )
         except IOError:
             main.log.exception( "s6Json File not found" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
         main.log.info( "s6Json:" + str( main.s6Json ) )
 
         s5Json = main.s5Json
diff --git a/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
index 798c800..d518c5a 100644
--- a/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
+++ b/TestON/tests/FUNC/FUNCnetconf/FUNCnetconf.py
@@ -45,7 +45,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
 
@@ -117,7 +117,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
diff --git a/TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py b/TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py
index bed1670..ce8620a 100644
--- a/TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py
+++ b/TestON/tests/FUNC/FUNCnetconf/dependencies/netconf.py
@@ -64,9 +64,7 @@
     except pexpect.ExceptionPexpect as e:
         main.log.exception( self.name + ": Pexpect exception found: " )
         main.log.error( self.name + ":    " + self.handle.before )
-        main.cleanup()
-        main.exit()
-
+        main.cleanAndExit()
 
 def createConfig( main ):
     """
diff --git a/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
index 12b3c8c..00d5cab 100644
--- a/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
+++ b/TestON/tests/FUNC/FUNCoptical/FUNCoptical.py
@@ -45,7 +45,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
         # Test variables
@@ -101,8 +101,7 @@
                                                    fileName="TopoDDriver.json")
         #Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.caseExplanation = "Start opticalTest.py topology included with ONOS"
         main.step( "Starting mininet and LINC-OE" )
@@ -127,7 +126,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
@@ -136,8 +135,7 @@
         topoResult = main.Utils.mininetCleanup( main.LincOE, timeout=180 )
         # Exit if topology did not load properly
         if not topoResult:
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
     def CASE16( self, main ):
         """
@@ -186,7 +184,7 @@
             from tests.dependencies.utils import Utils
         except ImportError:
             main.log.error( "Utils not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.Utils
         except ( NameError, AttributeError ):
@@ -241,7 +239,7 @@
             from tests.dependencies.topology import Topology
         except ImportError:
             main.log.error( "Topology not found exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         try:
             main.topoRelated
         except ( NameError, AttributeError ):
diff --git a/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
index f16adb8..ad55a9a 100644
--- a/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
+++ b/TestON/tests/FUNC/FUNCovsdbtest/FUNCovsdbtest.py
@@ -63,7 +63,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
 
@@ -85,8 +85,7 @@
 
         if cliResults == main.FALSE:
             main.log.error( "Failed to start ONOS, stopping test" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.step( "App Ids check" )
         appCheck = main.Cluster.active( 0 ).CLI.appToIDCheck()
@@ -426,8 +425,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "Configure Network Subnet Port Start" )
         main.case( "Configure Network Subnet Port" )
diff --git a/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
index 7893972..5d471ad 100644
--- a/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
+++ b/TestON/tests/FUNC/FUNCvirNetNB/FUNCvirNetNB.py
@@ -74,7 +74,7 @@
             main.testSetUp = ONOSSetup()
         except ImportError:
             main.log.error( "ONOSSetup not found. exiting the test" )
-            main.exit()
+            main.cleanAndExit()
         main.testSetUp.envSetupDescription()
         stepResult = main.FALSE
         try:
@@ -92,8 +92,7 @@
                                                cellName=cellName, removeLog=True )
         if cliResults == main.FALSE:
             main.log.error( "Failed to start ONOS, stopping test" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.step( "App Ids check" )
         appCheck = main.Cluster.active( 0 ).CLI.appToIDCheck()
@@ -123,8 +122,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Network Post test Start" )
         main.case( "Virtual Network NBI Test - Network" )
@@ -196,8 +194,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Network Update test Start" )
         main.case( "Virtual Network NBI Test - Network" )
@@ -282,8 +279,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Network Delete test Start" )
         main.case( "Virtual Network NBI Test - Network" )
@@ -342,8 +338,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Subnet Post test Start" )
         main.case( "Virtual Network NBI Test - Subnet" )
@@ -430,8 +425,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Subnet Update test Start" )
         main.case( "Virtual Network NBI Test - Subnet" )
@@ -535,8 +529,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Subnet Delete test Start" )
         main.case( "Virtual Network NBI Test - Subnet" )
@@ -611,8 +604,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Port Post test Start" )
         main.case( "Virtual Network NBI Test - Port" )
@@ -718,8 +710,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Port Update test Start" )
         main.case( "Virtual Network NBI Test - Port" )
@@ -840,8 +831,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Port Delete test Start" )
         main.case( "Virtual Network NBI Test - Port" )
@@ -938,8 +928,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Post Error Json Create Network test Start" )
         main.case( "Virtual Network NBI Test - Network" )
@@ -984,8 +973,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Post Error Json Create Subnet test Start" )
         main.case( "Virtual Network NBI Test - Subnet" )
@@ -1043,8 +1031,7 @@
         except ImportError:
             main.log.exception( "Something wrong with import file or code error." )
             main.log.info( "Import Error, please check!" )
-            main.cleanup()
-            main.exit()
+            main.cleanAndExit()
 
         main.log.info( "ONOS Post Error Json Create Subnet test Start" )
         main.case( "Virtual Network NBI Test - Port" )