51 lines
1.6 KiB
Python
Executable File
51 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
"""Package: mininet
|
|
Test creation and all-pairs ping for each included mininet topo type."""
|
|
|
|
import unittest
|
|
|
|
from mininet.net import Mininet
|
|
from mininet.node import Host, Controller
|
|
from mininet.node import UserSwitch, OVSKernelSwitch
|
|
from mininet.topo import SingleSwitchTopo, LinearTopo
|
|
from mininet.log import setLogLevel
|
|
|
|
SWITCHES = { 'user': UserSwitch,
|
|
'ovsk': OVSKernelSwitch,
|
|
}
|
|
|
|
|
|
class testSingleSwitch( unittest.TestCase ):
|
|
"For each datapath type, test ping with single switch topologies."
|
|
|
|
def testMinimal( self ):
|
|
"Ping test with both datapaths on minimal topology"
|
|
for switch in SWITCHES.values():
|
|
mn = Mininet( SingleSwitchTopo(), switch, Host, Controller )
|
|
dropped = mn.run( mn.ping )
|
|
self.assertEqual( dropped, 0 )
|
|
|
|
def testSingle5( self ):
|
|
"Ping test with both datapaths on 5-host single-switch topology"
|
|
for switch in SWITCHES.values():
|
|
mn = Mininet( SingleSwitchTopo( k=5 ), switch, Host, Controller )
|
|
dropped = mn.run( mn.ping )
|
|
self.assertEqual( dropped, 0 )
|
|
|
|
|
|
class testLinear( unittest.TestCase ):
|
|
"For each datapath type, test all-pairs ping with LinearNet."
|
|
|
|
def testLinear5( self ):
|
|
"Ping test with both datapaths on a 5-switch topology"
|
|
for switch in SWITCHES.values():
|
|
mn = Mininet( LinearTopo( k=5 ), switch, Host, Controller )
|
|
dropped = mn.run( mn.ping )
|
|
self.assertEqual( dropped, 0 )
|
|
|
|
|
|
if __name__ == '__main__':
|
|
setLogLevel( 'warning' )
|
|
unittest.main()
|