6 -e : emulator test only (no API tests)
10 from unittest
import defaultTestLoader
, TextTestRunner
, TestSuite
13 from mininet
.util
import ensureRoot
14 from mininet
.clean
import cleanup
15 from mininet
.log
import setLogLevel
18 def runTests( testDir
, verbosity
=1, emuonly
=False, apionly
=False ):
19 "discover and run all tests in testDir"
20 # ensure inport paths work
21 sys
.path
.append("%s/.." % testDir
)
22 # ensure root and cleanup before starting tests
25 # discover all tests in testDir
26 testSuite
= defaultTestLoader
.discover( testDir
)
28 testSuiteFiltered
= [s
for s
in testSuite
if "Emulator" in str(s
)]
29 testSuite
= TestSuite()
30 testSuite
.addTests(testSuiteFiltered
)
32 testSuiteFiltered
= [s
for s
in testSuite
if "Api" in str(s
)]
33 testSuite
= TestSuite()
34 testSuite
.addTests(testSuiteFiltered
)
37 TextTestRunner( verbosity
=verbosity
).run( testSuite
)
41 setLogLevel( 'warning' )
42 # get the directory containing example tests
43 vlevel
= 2 if '-v' in sys
.argv
else 1
44 emuonly
= ('-e' in sys
.argv
)
45 apionly
= ('-a' in sys
.argv
)
47 testDir
=thisdir
, verbosity
=vlevel
, emuonly
=emuonly
, apionly
=apionly
)
50 if __name__
== '__main__':
51 thisdir
= os
.path
.dirname( os
.path
.realpath( __file__
) )