virt-convert: Don't detect existing paths in test suite

We have this option --dry-run that should run through the
installation process but don't actually touch anything. Just
pretend the installation. And we have a test that uses it
heavily. However, the test is failing:

  Traceback (most recent call last):
    File "/home/zippy/work/virt-manager.git/tests/clitest.py", line 161, in _launch_command
      ret = virtconvert.main(conn=conn)
    File "virt-convert", line 111, in main
      destdir=options.destination, dry=options.dry)
    File "/home/zippy/work/virt-manager.git/virtconv/formats.py", line 314, in convert_disks
      newpath)
  RuntimeError: New path name '/var/lib/libvirt/images/fedora.qcow2' already exists

Problem is, even in test suite we really touch the host paths.
This in general will spit unpredictable results. Resolution
consists of making this specific part of the code fault tolerant
if ran under test suite.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Michal Privoznik 2016-01-15 08:27:44 +01:00 committed by Cole Robinson
parent a0a34e4fed
commit 58ac786b6b

View File

@ -309,7 +309,7 @@ class VirtConverter(object):
if disk_format:
newpath += ("." + disk_format)
newpath = os.path.join(destdir, newpath)
if os.path.exists(newpath):
if os.path.exists(newpath) and not _is_test():
raise RuntimeError(_("New path name '%s' already exists") %
newpath)