@@ -21,7 +21,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io
+from iotests import qemu_img, qemu_io, blind_remove
backing_img = os.path.join(iotests.test_dir, 'backing.img')
mid_img = os.path.join(iotests.test_dir, 'mid.img')
@@ -31,6 +31,9 @@ class TestSingleDrive(iotests.QMPTestCase):
image_len = 1 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(mid_img)
+ blind_remove(backing_img)
iotests.create_image(backing_img, TestSingleDrive.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
@@ -41,9 +44,6 @@ class TestSingleDrive(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(mid_img)
- os.remove(backing_img)
def test_stream(self):
self.assert_no_active_block_jobs()
@@ -24,7 +24,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io
+from iotests import qemu_img, qemu_io, blind_remove
import struct
import errno
@@ -76,6 +76,9 @@ class TestSingleDrive(ImageCommitTestCase):
test_len = 1 * 1024 * 256
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(mid_img)
+ blind_remove(backing_img)
iotests.create_image(backing_img, self.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
@@ -88,9 +91,6 @@ class TestSingleDrive(ImageCommitTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(mid_img)
- os.remove(backing_img)
def test_commit(self):
self.run_commit_test(mid_img, backing_img)
@@ -214,6 +214,9 @@ class TestRelativePaths(ImageCommitTestCase):
except OSError as exception:
if exception.errno != errno.EEXIST:
raise
+ blind_remove(self.test_img)
+ blind_remove(self.mid_img_abs)
+ blind_remove(self.backing_img_abs)
iotests.create_image(self.backing_img_abs, TestRelativePaths.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.backing_img_abs, self.mid_img_abs)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.mid_img_abs, self.test_img)
@@ -226,16 +229,6 @@ class TestRelativePaths(ImageCommitTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(self.test_img)
- os.remove(self.mid_img_abs)
- os.remove(self.backing_img_abs)
- try:
- os.rmdir(os.path.join(iotests.test_dir, self.dir1))
- os.rmdir(os.path.join(iotests.test_dir, self.dir3))
- os.rmdir(os.path.join(iotests.test_dir, self.dir2))
- except OSError as exception:
- if exception.errno != errno.EEXIST and exception.errno != errno.ENOTEMPTY:
- raise
def test_commit(self):
self.run_commit_test(self.mid_img, self.backing_img)
@@ -280,6 +273,9 @@ class TestSetSpeed(ImageCommitTestCase):
image_len = 80 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(mid_img)
+ blind_remove(backing_img)
qemu_img('create', backing_img, str(TestSetSpeed.image_len))
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
@@ -290,9 +286,6 @@ class TestSetSpeed(ImageCommitTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(mid_img)
- os.remove(backing_img)
def test_set_speed(self):
self.assert_no_active_block_jobs()
@@ -319,6 +312,10 @@ class TestReopenOverlay(ImageCommitTestCase):
img3 = os.path.join(iotests.test_dir, '3.img')
def setUp(self):
+ blind_remove(self.img0)
+ blind_remove(self.img1)
+ blind_remove(self.img2)
+ blind_remove(self.img3)
iotests.create_image(self.img0, self.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.img0, self.img1)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.img1, self.img2)
@@ -329,10 +326,6 @@ class TestReopenOverlay(ImageCommitTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(self.img0)
- os.remove(self.img1)
- os.remove(self.img2)
- os.remove(self.img3)
# This tests what happens when the overlay image of the 'top' node
# needs to be reopened in read-write mode in order to update the
@@ -21,7 +21,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io
+from iotests import qemu_img, qemu_io, blind_remove
backing_img = os.path.join(iotests.test_dir, 'backing.img')
target_backing_img = os.path.join(iotests.test_dir, 'target-backing.img')
@@ -40,6 +40,9 @@ class TestSingleDrive(iotests.QMPTestCase):
qmp_target = target_img
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(backing_img)
+ blind_remove(target_img)
iotests.create_image(backing_img, self.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
self.vm = iotests.VM().add_drive(test_img, "node-name=top,backing.node-name=base")
@@ -49,12 +52,6 @@ class TestSingleDrive(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(backing_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def test_complete(self):
self.assert_no_active_block_jobs()
@@ -258,6 +255,10 @@ class TestMirrorNoBacking(iotests.QMPTestCase):
image_len = 2 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(backing_img)
+ blind_remove(target_backing_img)
+ blind_remove(target_img)
iotests.create_image(backing_img, TestMirrorNoBacking.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
self.vm = iotests.VM().add_drive(test_img)
@@ -265,13 +266,6 @@ class TestMirrorNoBacking(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(backing_img)
- try:
- os.remove(target_backing_img)
- except:
- pass
- os.remove(target_img)
def test_complete(self):
self.assert_no_active_block_jobs()
@@ -328,6 +322,9 @@ class TestMirrorResized(iotests.QMPTestCase):
image_len = 2 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(backing_img)
+ blind_remove(target_img)
iotests.create_image(backing_img, TestMirrorResized.backing_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
qemu_img('resize', test_img, '2M')
@@ -336,12 +333,6 @@ class TestMirrorResized(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(backing_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def test_complete_top(self):
self.assert_no_active_block_jobs()
@@ -403,6 +394,10 @@ new_state = "1"
def setUp(self):
self.blkdebug_file = backing_img + ".blkdebug"
+ blind_remove(test_img)
+ blind_remove(target_img)
+ blind_remove(backing_img)
+ blind_remove(self.blkdebug_file)
iotests.create_image(backing_img, TestReadErrors.image_len)
self.create_blkdebug_file(self.blkdebug_file, "read_aio", 5)
qemu_img('create', '-f', iotests.imgfmt,
@@ -417,10 +412,6 @@ new_state = "1"
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(target_img)
- os.remove(backing_img)
- os.remove(self.blkdebug_file)
def test_report_read(self):
self.assert_no_active_block_jobs()
@@ -558,6 +549,10 @@ new_state = "1"
def setUp(self):
self.blkdebug_file = target_img + ".blkdebug"
+ blind_remove(test_img)
+ blind_remove(target_img)
+ blind_remove(backing_img)
+ blind_remove(self.blkdebug_file)
iotests.create_image(backing_img, TestWriteErrors.image_len)
self.create_blkdebug_file(self.blkdebug_file, "write_aio", 5)
qemu_img('create', '-f', iotests.imgfmt, '-obacking_file=%s' %(backing_img), test_img)
@@ -568,10 +563,6 @@ new_state = "1"
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(target_img)
- os.remove(backing_img)
- os.remove(self.blkdebug_file)
def test_report_write(self):
self.assert_no_active_block_jobs()
@@ -657,6 +648,9 @@ class TestSetSpeed(iotests.QMPTestCase):
image_len = 80 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(backing_img)
+ blind_remove(target_img)
qemu_img('create', backing_img, str(TestSetSpeed.image_len))
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
self.vm = iotests.VM().add_drive(test_img)
@@ -664,9 +658,6 @@ class TestSetSpeed(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(backing_img)
- os.remove(target_img)
def test_set_speed(self):
self.assert_no_active_block_jobs()
@@ -723,6 +714,8 @@ class TestUnbackedSource(iotests.QMPTestCase):
image_len = 2 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, test_img,
str(TestUnbackedSource.image_len))
self.vm = iotests.VM().add_drive(test_img)
@@ -730,8 +723,6 @@ class TestUnbackedSource(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(target_img)
def test_absolute_paths_full(self):
self.assert_no_active_block_jobs()
@@ -764,6 +755,8 @@ class TestGranularity(iotests.QMPTestCase):
image_len = 10 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, test_img,
str(TestGranularity.image_len))
qemu_io('-c', 'write 0 %d' % (self.image_len),
@@ -775,8 +768,6 @@ class TestGranularity(iotests.QMPTestCase):
self.vm.shutdown()
self.assertTrue(iotests.compare_images(test_img, target_img),
'target image does not match source after mirroring')
- os.remove(test_img)
- os.remove(target_img)
def test_granularity(self):
self.assert_no_active_block_jobs()
@@ -797,6 +788,9 @@ class TestRepairQuorum(iotests.QMPTestCase):
IMAGES = [ quorum_img1, quorum_img2, quorum_img3 ]
def setUp(self):
+ for i in self.IMAGES + [ quorum_repair_img, quorum_snapshot_file ]:
+ blind_remove(i)
+
self.vm = iotests.VM()
if iotests.qemu_default_machine == 'pc':
@@ -823,12 +817,6 @@ class TestRepairQuorum(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- for i in self.IMAGES + [ quorum_repair_img, quorum_snapshot_file ]:
- # Do a try/except because the test may have deleted some images
- try:
- os.remove(i)
- except OSError:
- pass
def test_complete(self):
if not iotests.supports_quorum():
@@ -23,7 +23,7 @@ import os
import qcow2
from qcow2 import QcowHeader
import iotests
-from iotests import qemu_img, qemu_img_verbose, qemu_io
+from iotests import qemu_img, qemu_img_verbose, qemu_io, blind_remove
import struct
import subprocess
@@ -99,15 +99,11 @@ class TestRefcountTableGrowth(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(test_img)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'cluster_size=512', test_img, '16G')
self.preallocate(test_img)
pass
-
- def tearDown(self):
- os.remove(test_img)
- pass
-
def test_grow_refcount_table(self):
qemu_io('-c', 'write 3800M 1M', test_img)
qemu_img_verbose('check' , test_img)
@@ -20,7 +20,7 @@
import os
import iotests
-from iotests import qemu_img
+from iotests import qemu_img, blind_remove
image0 = os.path.join(iotests.test_dir, 'image0')
image1 = os.path.join(iotests.test_dir, 'image1')
@@ -31,6 +31,11 @@ image4 = os.path.join(iotests.test_dir, 'image4')
class TestFdSets(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(image0)
+ blind_remove(image1)
+ blind_remove(image2)
+ blind_remove(image3)
+ blind_remove(image4)
self.vm = iotests.VM()
qemu_img('create', '-f', iotests.imgfmt, image0, '128K')
qemu_img('create', '-f', iotests.imgfmt, image1, '128K')
@@ -57,11 +62,6 @@ class TestFdSets(iotests.QMPTestCase):
self.file2.close()
self.file3.close()
self.file4.close()
- os.remove(image0)
- os.remove(image1)
- os.remove(image2)
- os.remove(image3)
- os.remove(image4)
def test_query_fdset(self):
result = self.vm.qmp('query-fdsets')
@@ -128,6 +128,7 @@ class TestFdSets(iotests.QMPTestCase):
# Add fd at runtime, there are two ways: monitor related or fdset related
class TestSCMFd(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(image0)
self.vm = iotests.VM()
qemu_img('create', '-f', iotests.imgfmt, image0, '128K')
# Add an unused monitor, to verify it works fine when two monitor
@@ -137,7 +138,6 @@ class TestSCMFd(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(image0)
def _send_fd_by_SCM(self):
ret = self.vm.send_fd_scm(image0)
@@ -23,7 +23,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io
+from iotests import qemu_img, qemu_io, blind_remove
test_img = os.path.join(iotests.test_dir, 'test.img')
target_img = os.path.join(iotests.test_dir, 'target.img')
@@ -32,6 +32,7 @@ blockdev_target_img = os.path.join(iotests.test_dir, 'blockdev-target.img')
image_len = 64 * 1024 * 1024 # MB
def setUpModule():
+ blind_remove(test_img)
qemu_img('create', '-f', iotests.imgfmt, test_img, str(image_len))
qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x11 0 64k', test_img)
qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x00 64k 128k', test_img)
@@ -40,12 +41,11 @@ def setUpModule():
qemu_io('-f', iotests.imgfmt, '-c', 'write -P0xdc 32M 124k', test_img)
qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x33 67043328 64k', test_img)
-def tearDownModule():
- os.remove(test_img)
-
class TestSingleDrive(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(blockdev_target_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
self.vm = iotests.VM().add_drive(test_img)
@@ -56,11 +56,6 @@ class TestSingleDrive(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(blockdev_target_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def do_test_cancel(self, cmd, target):
self.assert_no_active_block_jobs()
@@ -164,6 +159,8 @@ class TestSingleDrive(iotests.QMPTestCase):
class TestSetSpeed(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(blockdev_target_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
self.vm = iotests.VM().add_drive(test_img)
@@ -172,11 +169,6 @@ class TestSetSpeed(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(blockdev_target_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def do_test_set_speed(self, cmd, target):
self.assert_no_active_block_jobs()
@@ -248,6 +240,8 @@ class TestSetSpeed(iotests.QMPTestCase):
class TestSingleTransaction(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(blockdev_target_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
self.vm = iotests.VM().add_drive(test_img)
@@ -258,11 +252,6 @@ class TestSingleTransaction(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(blockdev_target_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def do_test_cancel(self, cmd, target):
self.assert_no_active_block_jobs()
@@ -452,13 +441,12 @@ class TestDriveCompression(iotests.QMPTestCase):
fmt_supports_compression = [{'type': 'qcow2', 'args': ()},
{'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized')}]
+ def setUp(self):
+ blind_remove(blockdev_target_img)
+ blind_remove(target_img)
+
def tearDown(self):
self.vm.shutdown()
- os.remove(blockdev_target_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def do_prepare_drives(self, fmt, args, attach_target):
self.vm = iotests.VM().add_drive(test_img)
@@ -23,7 +23,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io, create_image
+from iotests import qemu_img, qemu_io, create_image, blind_remove
backing_img = os.path.join(iotests.test_dir, 'backing.img')
test_img = os.path.join(iotests.test_dir, 'test.img')
@@ -33,6 +33,9 @@ class TestSyncModesNoneAndTop(iotests.QMPTestCase):
image_len = 64 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(backing_img)
+ blind_remove(target_img)
create_image(backing_img, TestSyncModesNoneAndTop.image_len)
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
qemu_io('-c', 'write -P0x41 0 512', test_img)
@@ -44,12 +47,6 @@ class TestSyncModesNoneAndTop(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- os.remove(backing_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def test_complete_top(self):
self.assert_no_active_block_jobs()
@@ -84,12 +81,12 @@ class TestSyncModesNoneAndTop(iotests.QMPTestCase):
class TestBeforeWriteNotifier(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(target_img)
self.vm = iotests.VM().add_drive_raw("file=blkdebug::null-co://,id=drive0,align=65536,driver=blkdebug")
self.vm.launch()
def tearDown(self):
self.vm.shutdown()
- os.remove(target_img)
def test_before_write_notifier(self):
self.vm.pause_drive("drive0")
@@ -23,7 +23,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io
+from iotests import qemu_img, qemu_io, blind_remove
test_drv_base_name = 'drive'
@@ -36,6 +36,8 @@ class ImageSnapshotTestCase(iotests.QMPTestCase):
def _setUp(self, test_img_base_name, image_num):
self.vm = iotests.VM()
+ for dev_expect in self.expect:
+ blind_remove(dev_expect['image'])
for i in range(0, image_num):
filename = '%s%d' % (test_img_base_name, i)
img = os.path.join(iotests.test_dir, filename)
@@ -49,8 +51,6 @@ class ImageSnapshotTestCase(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- for dev_expect in self.expect:
- os.remove(dev_expect['image'])
def createSnapshotInTransaction(self, snapshot_num, abort = False):
actions = []
@@ -23,7 +23,7 @@ import os
import re
import json
import iotests
-from iotests import qemu_img, qemu_img_pipe
+from iotests import qemu_img, qemu_img_pipe, blind_remove
import unittest
test_img = os.path.join(iotests.test_dir, 'test.img')
@@ -32,14 +32,12 @@ class TestImageInfoSpecific(iotests.QMPTestCase):
'''Abstract base class for ImageInfoSpecific tests'''
def setUp(self):
+ blind_remove(test_img)
if self.img_options is None:
self.skipTest('Skipping abstract test class')
qemu_img('create', '-f', iotests.imgfmt, '-o', self.img_options,
test_img, '128K')
- def tearDown(self):
- os.remove(test_img)
-
class TestQemuImgInfo(TestImageInfoSpecific):
'''Abstract base class for qemu-img info tests'''
@@ -21,6 +21,7 @@
import iotests
import os
+from iotests import blind_remove
class TestLiveSnapshot(iotests.QMPTestCase):
base_img = os.path.join(iotests.test_dir, 'base.img')
@@ -30,6 +31,8 @@ class TestLiveSnapshot(iotests.QMPTestCase):
iops_size = 1024
def setUp(self):
+ blind_remove(self.base_img)
+ blind_remove(self.target_img)
opts = []
opts.append('node-name=base')
opts.append('throttling.group=%s' % self.group)
@@ -41,8 +44,6 @@ class TestLiveSnapshot(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(self.base_img)
- os.remove(self.target_img)
def checkConfig(self, active_layer):
result = self.vm.qmp('query-block')
@@ -23,7 +23,7 @@ import os
import stat
import time
import iotests
-from iotests import qemu_img
+from iotests import qemu_img, blind_remove
old_img = os.path.join(iotests.test_dir, 'test0.img')
new_img = os.path.join(iotests.test_dir, 'test1.img')
@@ -323,6 +323,8 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass):
was_empty = False
def setUp(self, media, interface):
+ blind_remove(old_img)
+ blind_remove(new_img)
qemu_img('create', '-f', iotests.imgfmt, old_img, '1440k')
qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
self.vm = iotests.VM()
@@ -336,8 +338,6 @@ class TestInitiallyFilled(GeneralChangeTestsBaseClass):
def tearDown(self):
self.vm.shutdown()
- os.remove(old_img)
- os.remove(new_img)
def test_insert_on_filled(self):
result = self.vm.qmp('blockdev-add',
@@ -360,13 +360,13 @@ class TestInitiallyEmpty(GeneralChangeTestsBaseClass):
was_empty = True
def setUp(self, media, interface):
+ blind_remove(new_img)
qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
self.vm = iotests.VM().add_drive(None, 'media=%s' % media, interface)
self.vm.launch()
def tearDown(self):
self.vm.shutdown()
- os.remove(new_img)
def test_remove_on_empty(self):
result = self.vm.qmp('blockdev-open-tray', device='drive0')
@@ -411,16 +411,16 @@ class TestFloppyInitiallyEmpty(TestInitiallyEmpty):
class TestChangeReadOnly(ChangeBaseClass):
def setUp(self):
- qemu_img('create', '-f', iotests.imgfmt, old_img, '1440k')
- qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
- self.vm = iotests.VM()
-
- def tearDown(self):
- self.vm.shutdown()
os.chmod(old_img, 0666)
os.chmod(new_img, 0666)
- os.remove(old_img)
- os.remove(new_img)
+ blind_remove(old_img)
+ blind_remove(new_img)
+ qemu_img('create', '-f', iotests.imgfmt, old_img, '1440k')
+ qemu_img('create', '-f', iotests.imgfmt, new_img, '1440k')
+ self.vm = iotests.VM()
+
+ def tearDown(self):
+ self.vm.shutdown()
def test_ro_ro_retain(self):
os.chmod(old_img, 0444)
@@ -645,6 +645,8 @@ TestInitiallyEmpty = None
class TestBlockJobsAfterCycle(ChangeBaseClass):
def setUp(self):
+ blind_remove(old_img)
+ blind_remove(new_img)
qemu_img('create', '-f', iotests.imgfmt, old_img, '1M')
self.vm = iotests.VM()
@@ -678,11 +680,6 @@ class TestBlockJobsAfterCycle(ChangeBaseClass):
def tearDown(self):
self.vm.shutdown()
- os.remove(old_img)
- try:
- os.remove(new_img)
- except OSError:
- pass
def test_snapshot_and_commit(self):
# We need backing file support
@@ -22,20 +22,13 @@
import os
import iotests
+from iotests import blind_remove
def io_write_patterns(img, patterns):
for pattern in patterns:
iotests.qemu_io('-c', 'write -P%s %s %s' % pattern, img)
-
-def try_remove(img):
- try:
- os.remove(img)
- except OSError:
- pass
-
-
def transaction_action(action, **kwargs):
return {
'type': action,
@@ -82,13 +75,13 @@ class Bitmap:
def del_target(self):
for image in self.backups.pop():
- try_remove(image)
+ blind_remove(image)
self.num -= 1
def cleanup(self):
for backup in self.backups:
for image in backup:
- try_remove(image)
+ blind_remove(image)
class TestIncrementalBackupBase(iotests.QMPTestCase):
@@ -102,6 +95,10 @@ class TestIncrementalBackupBase(iotests.QMPTestCase):
def setUp(self):
+ for filename in self.files:
+ blind_remove(filename)
+ for bitmap in self.bitmaps:
+ bitmap.cleanup()
# Create a base image with a distinctive patterning
drive0 = self.add_node('drive0')
self.img_create(drive0['file'], drive0['fmt'])
@@ -273,10 +270,6 @@ class TestIncrementalBackupBase(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- for bitmap in self.bitmaps:
- bitmap.cleanup()
- for filename in self.files:
- try_remove(filename)
@@ -21,7 +21,7 @@
import time
import os
import iotests
-from iotests import qemu_img, qemu_io
+from iotests import qemu_img, qemu_io, blind_remove
test_img = os.path.join(iotests.test_dir, 'test.img')
target_img = os.path.join(iotests.test_dir, 'target.img')
@@ -30,6 +30,8 @@ class TestSingleDrive(iotests.QMPTestCase):
image_len = 2 * 1024 * 1024 # MB
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(target_img)
# Write data to the image so we can compare later
qemu_img('create', '-f', iotests.imgfmt, test_img, str(TestSingleDrive.image_len))
qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x5d 0 2M', test_img)
@@ -39,11 +41,6 @@ class TestSingleDrive(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def test_mirror_discard(self):
result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
@@ -21,6 +21,7 @@
import iotests
import os
+from iotests import blind_remove
interval_length = 10
nsec_per_sec = 1000000000
@@ -68,6 +69,7 @@ sector = "%d"
file.close()
def setUp(self):
+ blind_remove(blkdebug_file)
drive_args = []
drive_args.append("stats-intervals.0=%d" % interval_length)
drive_args.append("stats-account-invalid=%s" %
@@ -84,7 +86,6 @@ sector = "%d"
def tearDown(self):
self.vm.shutdown()
- os.remove(blkdebug_file)
def accounted_ops(self, read = False, write = False, flush = False):
ops = 0
@@ -22,6 +22,7 @@
import os
import iotests
import time
+from iotests import blind_remove
base_img = os.path.join(iotests.test_dir, 'base.img')
new_img = os.path.join(iotests.test_dir, 'new.img')
@@ -29,6 +30,8 @@ new_img = os.path.join(iotests.test_dir, 'new.img')
class TestBlockdevDel(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(base_img)
+ blind_remove(new_img)
iotests.qemu_img('create', '-f', iotests.imgfmt, base_img, '1M')
self.vm = iotests.VM()
self.vm.add_device("virtio-scsi-pci,id=virtio-scsi")
@@ -36,9 +39,6 @@ class TestBlockdevDel(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(base_img)
- if os.path.isfile(new_img):
- os.remove(new_img)
# Check whether a BlockDriverState exists
def checkBlockDriverState(self, node, must_exist = True):
@@ -23,7 +23,7 @@ import socket
import stat
import time
import iotests
-from iotests import cachemode, imgfmt, qemu_img, qemu_nbd
+from iotests import cachemode, imgfmt, qemu_img, qemu_nbd, blind_remove
NBD_PORT = 10811
@@ -70,17 +70,14 @@ class NBDBlockdevAddBase(iotests.QMPTestCase):
class QemuNBD(NBDBlockdevAddBase):
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(unix_socket)
qemu_img('create', '-f', iotests.imgfmt, test_img, '64k')
self.vm = iotests.VM()
self.vm.launch()
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- try:
- os.remove(unix_socket)
- except OSError:
- pass
def _server_up(self, *args):
self.assertEqual(qemu_nbd('-f', imgfmt, test_img, *args), 0)
@@ -105,6 +102,8 @@ class QemuNBD(NBDBlockdevAddBase):
class BuiltinNBD(NBDBlockdevAddBase):
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(unix_socket)
qemu_img('create', '-f', iotests.imgfmt, test_img, '64k')
self.vm = iotests.VM()
self.vm.launch()
@@ -118,11 +117,6 @@ class BuiltinNBD(NBDBlockdevAddBase):
def tearDown(self):
self.vm.shutdown()
self.server.shutdown()
- os.remove(test_img)
- try:
- os.remove(unix_socket)
- except OSError:
- pass
def _server_up(self, address):
result = self.server.qmp('nbd-server-start', addr=address)
@@ -21,6 +21,7 @@
import os
import iotests
+from iotests import blind_remove
imgs = (os.path.join(iotests.test_dir, 'quorum0.img'),
os.path.join(iotests.test_dir, 'quorum1.img'),
@@ -48,6 +49,9 @@ sector = "%d"
file.close()
def setUp(self):
+ for i in range(len(imgs)):
+ blind_remove(imgs[i])
+ blind_remove(img_conf[i])
driveopts = ['driver=quorum', 'vote-threshold=2']
driveopts.append('read-pattern=%s' % self.read_pattern)
for i in range(len(imgs)):
@@ -64,9 +68,6 @@ sector = "%d"
def tearDown(self):
self.vm.shutdown()
- for i in range(len(imgs)):
- os.remove(imgs[i])
- os.remove(img_conf[i])
def do_check_event(self, node, sector = 0):
if node == None:
@@ -20,24 +20,21 @@
import os
import iotests
-from iotests import qemu_img
+from iotests import qemu_img, blind_remove
test_img = os.path.join(iotests.test_dir, 'test.img')
target_img = os.path.join(iotests.test_dir, 'target.img')
class TestUnaligned(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(test_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, test_img, '512')
self.vm = iotests.VM().add_drive(test_img)
self.vm.launch()
def tearDown(self):
self.vm.shutdown()
- os.remove(test_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def test_unaligned(self):
result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
@@ -23,7 +23,7 @@
import os
import iotests
-from iotests import qemu_img
+from iotests import qemu_img, blind_remove
back0_img = os.path.join(iotests.test_dir, 'back0.' + iotests.imgfmt)
back1_img = os.path.join(iotests.test_dir, 'back1.' + iotests.imgfmt)
@@ -51,6 +51,11 @@ class BaseClass(iotests.QMPTestCase):
target_real_backing = None
def setUp(self):
+ blind_remove(source_img)
+ blind_remove(back2_img)
+ blind_remove(back1_img)
+ blind_remove(back0_img)
+ blind_remove(target_img)
qemu_img('create', '-f', iotests.imgfmt, back0_img, '1M')
qemu_img('create', '-f', iotests.imgfmt, '-b', back0_img, back1_img)
qemu_img('create', '-f', iotests.imgfmt, '-b', back1_img, back2_img)
@@ -95,14 +100,6 @@ class BaseClass(iotests.QMPTestCase):
def tearDown(self):
self.vm.shutdown()
- os.remove(source_img)
- os.remove(back2_img)
- os.remove(back1_img)
- os.remove(back0_img)
- try:
- os.remove(target_img)
- except OSError:
- pass
def findBlockNode(self, node_name, id=None):
if id:
@@ -21,7 +21,7 @@
import os
import re
import iotests
-from iotests import qemu_img
+from iotests import qemu_img, blind_remove
disk = os.path.join(iotests.test_dir, 'disk')
disk_size = 0x40000000 # 1G
@@ -36,11 +36,9 @@ regions2 = ((0x10000000, 0x20000),
class TestPersistentDirtyBitmap(iotests.QMPTestCase):
def setUp(self):
+ blind_remove(disk)
qemu_img('create', '-f', iotests.imgfmt, disk, str(disk_size))
- def tearDown(self):
- os.remove(disk)
-
def mkVm(self):
return iotests.VM().add_drive(disk)
Now that 'check' will clean up after tests, try and make python tests leave intermediate files so that they might be inspectable on failure. This isn't perfect; the python unittest framework runs multiple tests, even if previous tests failed. So we need to make sure that each test still begins with a "clean" slate, to prevent false positives or tainted test runs. Rather than delete images in the unittest tearDown, invert this and delete images to be used in that test at the beginning of the setUp. This is to make sure that the test run is not inadvertently using file droppings from previous runs. We must use 'blind_remove' then for these, as the files might not exist yet, but we don't want to throw an error for that. Signed-off-by: Jeff Cody <jcody@redhat.com> --- tests/qemu-iotests/030 | 8 +++--- tests/qemu-iotests/040 | 35 ++++++++++--------------- tests/qemu-iotests/041 | 70 +++++++++++++++++++++----------------------------- tests/qemu-iotests/044 | 8 ++---- tests/qemu-iotests/045 | 14 +++++----- tests/qemu-iotests/055 | 36 +++++++++----------------- tests/qemu-iotests/056 | 13 ++++------ tests/qemu-iotests/057 | 6 ++--- tests/qemu-iotests/065 | 6 ++--- tests/qemu-iotests/096 | 5 ++-- tests/qemu-iotests/118 | 31 ++++++++++------------ tests/qemu-iotests/124 | 21 +++++---------- tests/qemu-iotests/132 | 9 +++---- tests/qemu-iotests/136 | 3 ++- tests/qemu-iotests/139 | 6 ++--- tests/qemu-iotests/147 | 16 ++++-------- tests/qemu-iotests/148 | 7 ++--- tests/qemu-iotests/152 | 9 +++---- tests/qemu-iotests/155 | 15 +++++------ tests/qemu-iotests/165 | 6 ++--- 20 files changed, 130 insertions(+), 194 deletions(-)