[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xm-test: 10_block_attach_detach_multiple_devices fixed
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1249475784 -3600 # Node ID 1136d7b74c26a745dfb86f0b61ba7a05d8b47ef8 # Parent 8f2ee72433ccaaa4be35a6d915341c664ec80a12 xm-test: 10_block_attach_detach_multiple_devices fixed This patch fixes and (re-)enables test 10 of the block-create suite. The tests by random attach and detach devices to / from a domU and checks if everything is ok. Signed-off-by: Andreas Florath <xen@xxxxxxxxxxxx> --- tools/xm-test/tests/block-create/10_block_attach_dettach_multiple_devices.py | 71 +++++----- tools/xm-test/tests/block-create/Makefile.am | 1 2 files changed, 40 insertions(+), 32 deletions(-) diff -r 8f2ee72433cc -r 1136d7b74c26 tools/xm-test/tests/block-create/10_block_attach_dettach_multiple_devices.py --- a/tools/xm-test/tests/block-create/10_block_attach_dettach_multiple_devices.py Wed Aug 05 12:06:24 2009 +0100 +++ b/tools/xm-test/tests/block-create/10_block_attach_dettach_multiple_devices.py Wed Aug 05 13:36:24 2009 +0100 @@ -1,40 +1,42 @@ #!/usr/bin/python # Copyright (C) International Business Machines Corp., 2005 -# Author: Murillo F. Bernardes <mfb@xxxxxxxxxx> +# Copyright (C) flonatel GmbH & Co. KG, 2009 +# Authors: Murillo F. Bernardes <mfb@xxxxxxxxxx> +# Andreas Florath <xen@xxxxxxxxxxxx> + +# Block devices are by random attached to and detached from the domU. import re import random from xen.util import blkif -from os import path.basename +from os.path import basename from XmTestLib import * from XmTestLib.block_utils import * def availableRamdisks(): - i = 0 - while os.access("/dev/ram%d" % i, os.F_OK ): - i += 1 - - return i + i=0 + while os.access("/dev/ram%d" % i, os.F_OK): + i+=1 + return i-1 def attach(phy, devname): block_attach(domain, "phy:%s" % phy, devname) run = console.runCmd("cat /proc/partitions") if not re.search(basename(devname), run["output"]): - return -2, "Failed to attach block device: /proc/partitions does not show that!" - + return -2, "Failed to attach block device: " \ + + "/proc/partitions does not show that!" return 0, None def detach(devname): block_detach(domain, devname) - run = console.runCmd("cat /proc/partitions") if re.search(basename(devname), run["output"]): - return -2, "Failed to detach block device: /proc/partitions still showing that!" - + return -2, "Failed to detach block device: " \ + + "/proc/partitions still showing that!" return 0, None if ENABLE_HVM_SUPPORT: @@ -58,34 +60,39 @@ except ConsoleError, e: except ConsoleError, e: saveLog(console.getHistory()) FAIL(str(e)) - -ramdisks = availableRamdisks()-1 -print "ramdisks=%d" % ramdisks -i = 0 -devices = [] +ramdisk_cnt = availableRamdisks() -while i < ramdisks or devices: - op = random.randint(0,1) # 1 = attach, 0 = detach - if (not devices or op) and i < ramdisks: - i += 1 - devname = "/dev/xvda%d" % i - phy = "/dev/ram%d" % i - print "Attaching %s to %s" % (devname, phy) - status, msg = attach( phy, devname ) +detached = range(0, ramdisk_cnt) +attached = [] + +def attach_device(): + n = random.choice(detached) + status, msg = attach("ram%d" % n, "xvda%d" % n) if status: FAIL(msg) - else: - devices.append(devname) + detached.remove(n) + attached.append(n) - elif devices: - devname = random.choice(devices) - devices.remove(devname) - print "Detaching %s" % devname - status, msg = detach(devname) +def detach_device(): + n = random.choice(attached) + status, msg = detach("xvda%d" % n) if status: FAIL(msg) + detached.append(n) + attached.append(n) +# First attach some +for i in xrange(0, ramdisk_cnt/2): + attach_device() + +for i in xrange(0, ramdisk_cnt*5): + op = random.randint(0,1) # 1 = attach, 0 = detach + if op: + detach_device() + else: + attach_device() + # Close the console domain.closeConsole() diff -r 8f2ee72433cc -r 1136d7b74c26 tools/xm-test/tests/block-create/Makefile.am --- a/tools/xm-test/tests/block-create/Makefile.am Wed Aug 05 12:06:24 2009 +0100 +++ b/tools/xm-test/tests/block-create/Makefile.am Wed Aug 05 13:36:24 2009 +0100 @@ -9,6 +9,7 @@ TESTS = 01_block_attach_device_pos.test 07_block_attach_baddevice_neg.test \ 08_block_attach_bad_filedevice_neg.test \ 09_block_attach_and_dettach_device_check_data_pos.test \ + 10_block_attach_dettach_multiple_devices.test \ 11_block_attach_shared_dom0.test \ 12_block_attach_shared_domU.test _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |