Xm-tests 01_memset_basic_pos.test and 03_memset_random_pos.test start

domUs with 64MB of memory,
and assume that all of that memory is available in the domU. They then
perform various xm memset tests
based on the assumed starting conditions.

When netback & blkback are comiled into the domU kernel, they eat about
5MB. This mismatch will cause
01_memset_basic_pos.test to fail every time. 03_memset_random_pos.test
will probably fail, but can
pass with some lucky numbers from the random number generator.

This patch changes both tests to read the starting memory allocation from
the balloon driver in the domU.

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
This commit is contained in:
emellor@leeni.uk.xensource.com committed 2006-05-02 18:17:59 +01:00
1 parent 9a10a080aa
commit e5fb08210d
2 files changed
+29 -7

No files matched your search

@@ -44,8 +44,20 @@ try:
except ConsoleError, e:
FAIL(str(e))
try:
run = console.runCmd("cat /proc/xen/balloon | grep Current");
except ConsoleError, e:
FAIL(str(e))
match = re.match("[^0-9]+([0-9]+)", run["output"])
if not match:
FAIL("Invalid domU meminfo line")
origmem = int(match.group(1)) / 1024
newmem = origmem - 1
# set mem-set for less than default
cmd = "xm mem-set %s %i" % (domain.getName(), 63)
cmd = "xm mem-set %s %i" % (domain.getName(), newmem)
status, output = traceCommand(cmd)
if status != 0:
if verbose:
@@ -55,7 +67,7 @@ if status != 0:
for i in [1,2,3,4,5,6,7,8,9,10]:
mem = getDomMem(domain.getName())
if mem == 63:
if mem == newmem:
break
time.sleep(1)
@@ -63,8 +75,8 @@ for i in [1,2,3,4,5,6,7,8,9,10]:
mem = getDomMem(domain.getName())
if not mem:
FAIL("Failed to get memory amount for domain %s" % domain.getName())
elif mem != 63:
FAIL("Dom0 failed to verify 63 MB; got %i MB" % mem)
elif mem != newmem:
FAIL("Dom0 failed to verify %i MB; got %i MB" % newmem,mem)
# verify memory set internally
try:
@@ -79,7 +91,7 @@ if not m:
domUmem = int(m.group(1)) / 1024
if domUmem != 63:
if domUmem != newmem:
FAIL("DomU reported incorrect memory amount: %i MB" % (domUmem))
# quiesce everything
@@ -22,8 +22,6 @@ except DomainError, e:
FAIL(str(e))
times = random.randint(10,50)
origmem = domain.config.getOpt("memory")
currmem = domain.config.getOpt("memory")
try:
console = XmConsole(domain.getName())
@@ -31,6 +29,18 @@ try:
except ConsoleError, e:
FAIL(str(e))
try:
run = console.runCmd("cat /proc/xen/balloon | grep Current");
except ConsoleError, e:
FAIL(str(e))
match = re.match("[^0-9]+([0-9]+)", run["output"])
if not match:
FAIL("Invalid domU meminfo line")
origmem = int(match.group(1)) / 1024
currmem = origmem
for i in range(0,times):
amt = random.randint(-10,10)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.