debuggers.hg

view tools/xm-test/tests/sedf/05_sedf_extratime_pos.py @ 0:7d21f7218375

Exact replica of unstable on 051908 + README-this
author Mukesh Rathor
date Mon May 19 15:34:57 2008 -0700 (2008-05-19)
parents
children
line source
1 #!/usr/bin/python
3 # Copyright (C) International Business Machines Corp., 2005
4 # Author: Dan Smith <danms@us.ibm.com>
5 # Author: Ryan Harper <ryanh@us.ibm.com>
7 from XmTestLib import *
9 def get_sedf_params(domain):
10 status, output = traceCommand("xm sched-sedf %s" %(domain.getName()))
11 return (status, output.split('\n')[1].split())
14 domain = XmTestDomain(extraConfig = {"sched":"sedf"})
16 try:
17 domain.start(noConsole=True)
18 except DomainError, e:
19 if verbose:
20 print "Failed to create test domain because:"
21 print e.extra
22 FAIL(str(e))
24 # get current param values as baseline
25 (status, params) = get_sedf_params(domain)
27 # check rv
28 if status != 0:
29 FAIL("Getting sedf parameters return non-zero rv (%d)", status)
31 # parse out current params
32 (name, domid, p, s, l, e, w) = params
34 # toggle extratime value
35 extratime = str((int(e)+1)%2)
37 direction = "disable"
38 # NB: when disabling extratime(=0), must pass in a slice
39 opts = "%s -e %s" %(domain.getName(), extratime)
40 if extratime == "0":
41 opts += " -s %s" %( str( (float(p)/2)+1 ) )
42 direction = "enable"
44 (status, output) = traceCommand("xm sched-sedf %s" %(opts))
46 # check rv
47 if status != 0:
48 FAIL("Setting sedf parameters return non-zero rv (%d)" % status)
50 # validate
51 (s,params) = get_sedf_params(domain)
53 # check rv
54 if s != 0:
55 FAIL("Getting sedf parameters return non-zero rv (%d)" % s)
57 (name,domid,p1,s1,l1,e1,w1) = params
59 if e1 != extratime:
60 FAIL("Failed to %s extratime" %(direction))
62 # Stop the domain (nice shutdown)
63 domain.stop()