cleaned up and commented test_multiping.py

This commit is contained in:
Brian O'Connor
2013-09-11 14:45:47 -07:00
parent 1d555e724b
commit e6e1260bc2
+9 -9
View File
@@ -1,21 +1,22 @@
#!/usr/bin/env python #!/usr/bin/env python
"""TEST""" """
Test for multiping.py
"""
import unittest import unittest
import pexpect import pexpect
from collections import defaultdict from collections import defaultdict
from mininet.log import setLogLevel
class testMultiPing( unittest.TestCase ): class testMultiPing( unittest.TestCase ):
"Test ping with single switch topology (common code)."
def testMultiPing( self ): def testMultiPing( self ):
"""Verify that each target is pinged at least once, and
that pings to 'real' targets are successful and unknown targets fail"""
p = pexpect.spawn( 'python -m mininet.examples.multiping' ) p = pexpect.spawn( 'python -m mininet.examples.multiping' )
opts = [] opts = [ "Host (h\d+) \(([\d.]+)\) will be pinging ips: ([\d\. ]+)",
opts.append( "Host (h\d+) \(([\d.]+)\) will be pinging ips: ([\d. ]+)" ) "(h\d+): ([\d.]+) -> ([\d.]+) \d packets transmitted, (\d) received",
opts.append( "(h\d+): ([\d.]+) -> ([\d.]+) \d packets transmitted, (\d) received" ) pexpect.EOF ]
opts.append( pexpect.EOF )
pings = defaultdict( list ) pings = defaultdict( list )
while True: while True:
index = p.expect( opts ) index = p.expect( opts )
@@ -39,10 +40,9 @@ class testMultiPing( unittest.TestCase ):
pass pass
else: else:
break break
self.assertTrue( len(pings) > 0 ) self.assertTrue( len( pings ) > 0 )
for t in pings.values(): for t in pings.values():
self.assertEqual( len( t ), 0 ) self.assertEqual( len( t ), 0 )
if __name__ == '__main__': if __name__ == '__main__':
setLogLevel( 'warning' )
unittest.main() unittest.main()