42 lines
1.2 KiB
Python
Executable File
42 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
"""
|
|
Run all mininet.examples tests
|
|
-v : verbose output
|
|
-quick : skip tests that take more than ~30 seconds
|
|
"""
|
|
|
|
import unittest
|
|
import os
|
|
import sys
|
|
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
|
|
ensureRoot()
|
|
cleanup()
|
|
# discover all tests in testDir
|
|
testSuite = unittest.defaultTestLoader.discover( testDir )
|
|
# run tests
|
|
MininetTestRunner( verbosity=verbosity ).run( testSuite )
|
|
|
|
if __name__ == '__main__':
|
|
# get the directory containing example tests
|
|
testDir = os.path.dirname( os.path.realpath( __file__ ) )
|
|
verbosity = 2 if '-v' in sys.argv else 1
|
|
runTests( testDir, verbosity )
|