From 54bd9e6112c1eb777f4e5080d0bcd720ca19cf47 Mon Sep 17 00:00:00 2001 From: cody burkard <cody@onlab.us> Date: Sat, 27 Sep 2014 03:20:07 -0700 Subject: [PATCH] continue to test cfs if rt is not enabled in kernel --- examples/cpu.py | 8 ++++++-- examples/test/test_cpu.py | 20 +++++++++++++++----- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/examples/cpu.py b/examples/cpu.py index 6dfc9369..0b7e67be 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 8b529258..2b91a087 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 -- GitLab