From 33d42e25e672f859da19436c3e24f4cd04da9fac Mon Sep 17 00:00:00 2001 From: cody burkard <cody@onlab.us> Date: Fri, 3 Oct 2014 09:50:39 -0700 Subject: [PATCH] if a test fails or exits with an error, run cleanup as a precaution --- examples/test/runner.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/examples/test/runner.py b/examples/test/runner.py index 4939e085..6bf872c8 100755 --- a/examples/test/runner.py +++ b/examples/test/runner.py @@ -12,6 +12,18 @@ from mininet.util import ensureRoot from mininet.clean import cleanup +class MininetTestResult( unittest.TextTestResult ): + def addFailure( self, test, err ): + super( MininetTestResult, self ).addFailure( test, err ) + cleanup() + def addError( self,test, err ): + super( MininetTestResult, self ).addError( test, err ) + cleanup() + +class MininetTestRunner( unittest.TextTestRunner ): + def _makeResult( self ): + return MininetTestResult( self.stream, self.descriptions, self.verbosity ) + def runTests( testDir, verbosity=1 ): "discover and run all tests in testDir" # ensure root and cleanup before starting tests @@ -20,7 +32,7 @@ def runTests( testDir, verbosity=1 ): # discover all tests in testDir testSuite = unittest.defaultTestLoader.discover( testDir ) # run tests - unittest.TextTestRunner( verbosity=verbosity ).run( testSuite ) + MininetTestRunner( verbosity=verbosity ).run( testSuite ) if __name__ == '__main__': # get the directory containing example tests -- GitLab