diff --git a/examples/cpu.py b/examples/cpu.py index 6dfc936901f681199e1688894ca6553a23a8ba0e..0b7e67bef60d87f95052aebdcb21316bcb9bf6a6 100755 --- a/examples/cpu.py +++ b/examples/cpu.py @@ -8,7 +8,7 @@ from mininet.node import CPULimitedHost from mininet.topolib import TreeTopo from mininet.util import custom -from mininet.log import setLogLevel, output +from mininet.log import setLogLevel, output, info from time import sleep @@ -38,7 +38,11 @@ def bwtest( cpuLimits, period_us=100000, seconds=5 ): host = custom( CPULimitedHost, sched=sched, period_us=period_us, cpu=cpu ) - net = Mininet( topo=topo, host=host ) + try: + net = Mininet( topo=topo, host=host ) + except: + info( '*** Skipping host %s\n' % sched ) + break net.start() net.pingAll() hosts = [ net.getNodeByName( h ) for h in topo.hosts() ] diff --git a/examples/test/test_cpu.py b/examples/test/test_cpu.py index 8b529258aa2aaf60c7000c2605c4ea7abdcc92dc..2b91a087a528fed78cb373c30c44a3b9fe667b60 100755 --- a/examples/test/test_cpu.py +++ b/examples/test/test_cpu.py @@ -2,6 +2,17 @@ """ Test for cpu.py + +results format: + + sched cpu client MB/s + + cfs 45.00% 13254.669841 + cfs 40.00% 11822.441399 + cfs 30.00% 5112.963009 + cfs 20.00% 3449.090009 + cfs 10.00% 2271.741564 + """ import unittest @@ -16,8 +27,9 @@ class testCPU( unittest.TestCase ): def testCPU( self ): "Verify that CPU utilization is monotonically decreasing for each scheduler" p = pexpect.spawn( 'python -m mininet.examples.cpu' ) + # matches each line from results( shown above ) opts = [ '([a-z]+)\t([\d\.]+)%\t([\d\.]+)', - 'please enable RT_GROUP_SCHED', pexpect.EOF ] + pexpect.EOF ] scheds = [] while True: index = p.expect( opts, timeout=600 ) @@ -27,11 +39,9 @@ def testCPU( self ): bw = float( p.match.group( 3 ) ) if sched not in scheds: scheds.append( sched ) - previous_bw = 10 ** 4 # 10 GB/s - self.assertTrue( bw < previous_bw ) + else: + self.assertTrue( bw < previous_bw ) previous_bw = bw - elif index == 1: - self.skipTest( 'please enable RT_GROUP_SCHED' ) else: break