[master 5/5] dammit

vathpela installerbot-noreply at redhat.com
Wed Oct 14 00:11:13 UTC 2015


From: Peter Jones <pjones at redhat.com>

---
 blivet/devicelibs/edd.py                           |  29 +++---
 .../host6/target6:0:0/6:0:0:0/block/sr0/device     |   1 +
 .../ata7/host6/target6:0:0/6:0:0:0/block/sr0/foo   |   0
 .../host6/target6:0:1/6:0:1:0/block/sdb/device     |   1 +
 .../ata7/host6/target6:0:1/6:0:1:0/block/sdb/foo   |   0
 .../0000:00:01.1/ata7/link7/ata_link/foo           |   0
 .../0000:00:01.1/ata7/link7/ata_link/link7/device  |   1 +
 .../ata7/link7/dev7.0/ata_device/dev7.0/device     |   1 +
 .../pci0000:00/0000:00:01.1/ata7/link7/dev7.0/foo  |   0
 .../ata7/link7/dev7.1/ata_device/dev7.1/device     |   1 +
 .../pci0000:00/0000:00:01.1/ata7/link7/dev7.1/foo  |   0
 .../host0/target0:0:0/0:0:0:0/block/sda/device     |   1 +
 .../ata1/host0/target0:0:0/0:0:0:0/block/sda/foo   |   0
 .../host9/target9:0:0/9:0:0:0/block/sdd/device     |   1 +
 .../host9/target9:0:0/9:0:0:0/block/sdd/foo        |   0
 .../0000:00:07.0/virtio1/block/vda/device          |   1 +
 .../pci0000:00/0000:00:07.0/virtio1/block/vda/foo  |   0
 .../host10/target10:0:1/10:0:1:0/block/sde/device  |   1 +
 .../host10/target10:0:1/10:0:1:0/block/sde/foo     |   0
 .../host8/target8:0:0/8:0:0:0/block/sdc/device     |   1 +
 .../host8/target8:0:0/8:0:0:0/block/sdc/foo        |   0
 tests/devicelibs_test/edd_test.py                  | 107 ++++++++++++++-------
 22 files changed, 95 insertions(+), 51 deletions(-)
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/foo
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/link7/device
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/ata_device/dev7.0/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/ata_device/dev7.1/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/foo
 create mode 120000 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/device
 delete mode 100644 tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/foo

diff --git a/blivet/devicelibs/edd.py b/blivet/devicelibs/edd.py
index 7d43bac..e8698f5 100644
--- a/blivet/devicelibs/edd.py
+++ b/blivet/devicelibs/edd.py
@@ -395,8 +395,10 @@ def devname_from_ata_pci_dev(self):
                 # channel if applicable. We already checked print_id above.
                 if match.group(3) is None:
                     channel = int(match.group(1))
-                    if (self.edd.channel == 255 and channel == 0) or \
-                            (self.edd.channel == channel):
+                    if (self.edd.channel == 255 and \
+                            channel == self.edd.ata_device) or \
+                       (self.edd.channel != 255 and \
+                            self.edd.channel == channel):
                         self.edd.sysfslink = link
                         return path[len(fsroot):].split('/')[-1]
                 else:
@@ -504,22 +506,15 @@ def match_via_mbrsigs(self, mbr_dict):
                 return name
         return None
 
-def biosdev_to_edd_dir(biosdev):
-    return "/sys/firmware/edd/int13_dev%(biosdev)x" % {
-        'biosdev' : biosdev
-        }
-
 def collect_edd_data():
     edd_data_dict = {}
-    # BIOS dev numbers are 0-127 , with 0x80 unset for floppies and set
-    # for hard drives.  In practice, the kernel has had EDDMAXNR (the limit
-    # on how many EDD structures it will load) set to 6 since before the
-    # import into git, so that's good enough.
-    for biosdev in range(0x80, 0x86):
-        sysfspath = biosdev_to_edd_dir(biosdev)
-        if not os.path.exists("%s/%s" % (fsroot, sysfspath[1:])):
-            break
-        edd_data_dict[biosdev] = EddEntry(sysfspath)
+    exp = re.compile(r'.*/int13_dev(\d+)$')
+    globstr = os.path.join(fsroot, "sys/firmware/edd/int13_dev*")
+    for path in glob.glob(globstr):
+        match = exp.match(path)
+        biosdev = int("0x%s" % (match.group(1),), base=16)
+        log.debug("edd: found device 0x%x at %s", biosdev, path[len(fsroot):])
+        edd_data_dict[biosdev] = EddEntry(path[len(fsroot):])
     return edd_data_dict
 
 def collect_mbrs(devices):
@@ -583,7 +578,7 @@ def get_edd_dict(devices):
         matcher = EddMatcher(edd_entry)
         # first try to match through the pci dev etc.
         name = matcher.devname_from_pci_dev()
-        log.debug("edd: data extracted from 0x%x:\n%s", edd_number, edd_entry)
+        log.debug("edd: data extracted from 0x%x:\n%r", edd_number, edd_entry)
         if name:
             log.info("edd: matched 0x%x to %s using PCI dev", edd_number, name)
         # next try to compare mbr signatures
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/device
new file mode 120000
index 0000000..5be613c
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/device
@@ -0,0 +1 @@
+../../../6:0:0:0
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/device
new file mode 120000
index 0000000..420088f
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/device
@@ -0,0 +1 @@
+../../../6:0:1:0
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:1/6:0:1:0/block/sdb/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/link7/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/link7/device
new file mode 120000
index 0000000..5927252
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/ata_link/link7/device
@@ -0,0 +1 @@
+../../../link7
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/ata_device/dev7.0/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/ata_device/dev7.0/device
new file mode 120000
index 0000000..79f3f95
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/ata_device/dev7.0/device
@@ -0,0 +1 @@
+../../../dev7.0
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.0/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/ata_device/dev7.1/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/ata_device/dev7.1/device
new file mode 120000
index 0000000..8ef79ff
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/ata_device/dev7.1/device
@@ -0,0 +1 @@
+../../../dev7.1
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/link7/dev7.1/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/device
new file mode 120000
index 0000000..79ba802
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/device
@@ -0,0 +1 @@
+../../../0:0:0:0
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:03.0/ata1/host0/target0:0:0/0:0:0:0/block/sda/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/device
new file mode 120000
index 0000000..f083126
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/device
@@ -0,0 +1 @@
+../../../9:0:0:0/
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:06.7/usb1/1-1/1-1:1.0/host9/target9:0:0/9:0:0:0/block/sdd/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/device
new file mode 120000
index 0000000..9cc4643
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/device
@@ -0,0 +1 @@
+../../../virtio1
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:07.0/virtio1/block/vda/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/device
new file mode 120000
index 0000000..7613635
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/device
@@ -0,0 +1 @@
+../../../10:0:1:0
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0a.0/host10/target10:0:1/10:0:1:0/block/sde/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/device b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/device
new file mode 120000
index 0000000..04ec5f3
--- /dev/null
+++ b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/device
@@ -0,0 +1 @@
+../../../8:0:0:0
\ No newline at end of file
diff --git a/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/foo b/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:0b.0/virtio3/host8/target8:0:0/8:0:0:0/block/sdc/foo
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/devicelibs_test/edd_test.py b/tests/devicelibs_test/edd_test.py
index dfb40f5..8efe7e1 100644
--- a/tests/devicelibs_test/edd_test.py
+++ b/tests/devicelibs_test/edd_test.py
@@ -38,11 +38,6 @@ class EddTestCase(unittest.TestCase):
     maxDiff = None
 
     def setUp(self):
-        try:
-            ws = os.environ['WORKSPACE']
-        except KeyError:
-            ws = "/tmp"
-        blivet.util.set_up_logging(log_file=os.path.join(ws, "blivet.log"))
         super(EddTestCase, self).setUp()
         self._edd_logger = edd.log
         edd.log = mock.MagicMock(name='log')
@@ -52,8 +47,8 @@ def setUp(self):
         edd.log.debug = mock.MagicMock(name='debug')
 
     def tearDown(self):
-        super(EddTestCase, self).tearDown()
         edd.log = self._edd_logger
+        super(EddTestCase, self).tearDown()
 
     def _set_fs_root(self, edd_module, fsroot):
         if fsroot is None:
@@ -64,13 +59,18 @@ def _set_fs_root(self, edd_module, fsroot):
 
     def _respool_logs(self):
         log = edd.log
-        edd.log = mock.MagicMock(name='log')
         for logname in ["debug", "info", "warning", "error"]:
             logger = getattr(log, logname)
             newlogger = getattr(self._edd_logger, logname)
             for call in logger.call_args_list:
                 newlogger(*call[0])
-            setattr(edd.log, logname, mock.MagicMock(name=logname))
+
+    def _clear_logs(self):
+        edd.log = mock.MagicMock(name='log')
+        edd.log.info = mock.MagicMock(name='info')
+        edd.log.warning = mock.MagicMock(name='warning')
+        edd.log.error = mock.MagicMock(name='error')
+        edd.log.debug = mock.MagicMock(name='debug')
 
     def _check_logs(self, debugs=None, infos=None, warnings=None, errors=None):
         for (left, right) in ((debugs, edd.log.debug),
@@ -83,17 +83,8 @@ def _check_logs(self, debugs=None, infos=None, warnings=None, errors=None):
             right.sort()
             self.assertEqual(left, right)
 
-    def test_biosdev_to_edd_dir(self):
-        self._set_fs_root(edd, None)
-        path = edd.biosdev_to_edd_dir(138)
-        self.assertEqual("/sys/firmware/edd/int13_dev8a", path)
-        self.assertEqual(edd.log.debug.called, False)
-        self.assertEqual(edd.log.info.called, False)
-        self.assertEqual(edd.log.warning.called, False)
-        self.assertEqual(edd.log.error.called, False)
-        self._respool_logs()
-
     def test_collect_edd_data_sata_usb(self):
+        self._edd_logger.info("starting test test_collect_edd_data_sata_usb")
         # test with sata sda, usb sdb
         self._set_fs_root(edd, "sata_usb")
         fakeedd = {
@@ -111,17 +102,24 @@ def test_collect_edd_data_sata_usb(self):
             }
 
         edd_dict = edd.collect_edd_data()
+        self._respool_logs()
         self.assertEqual(len(edd_dict), 2)
         self.assertEqual(fakeedd[0x80], edd_dict[0x80])
         self.assertEqual(fakeedd[0x81], edd_dict[0x81])
-        self._check_logs()
-        self.assertEqual(edd.log.debug.called, False)
+        debugs = [
+            ("edd: found device 0x%x at %s", 0x80,
+                    "/sys/firmware/edd/int13_dev80"),
+            ("edd: found device 0x%x at %s", 0x81,
+                    "/sys/firmware/edd/int13_dev81"),
+            ]
+        self._check_logs(debugs=debugs)
         self.assertEqual(edd.log.info.called, False)
         self.assertEqual(edd.log.warning.called, False)
         self.assertEqual(edd.log.error.called, False)
-        self._respool_logs()
+        self._clear_logs()
 
     def test_get_edd_dict_sata_usb(self):
+        self._edd_logger.info("starting test test_get_edd_dict_sata_usb")
         # test with sata sda, usb sdb
         self._set_fs_root(edd, "sata_usb")
         devices=(FakeDevice("sda"),
@@ -148,8 +146,12 @@ def test_get_edd_dict_sata_usb(self):
         self.assertEqual(edd_dict["sda"], 0x80)
         self.assertEqual(edd_dict["sdb"], 0x81)
         debugs = [
-            ("edd: data extracted from 0x%x:\n%s", 0x80, fakeedd[0x80]),
-            ("edd: data extracted from 0x%x:\n%s", 0x81, fakeedd[0x81]),
+            ("edd: data extracted from 0x%x:\n%r", 0x80, fakeedd[0x80]),
+            ("edd: data extracted from 0x%x:\n%r", 0x81, fakeedd[0x81]),
+            ("edd: found device 0x%x at %s", 0x80,
+                    "/sys/firmware/edd/int13_dev80"),
+            ("edd: found device 0x%x at %s", 0x81,
+                    "/sys/firmware/edd/int13_dev81"),
             ]
         infos = [
             ("edd: MBR signature on %s is zero. new disk image?", "sda"),
@@ -162,11 +164,13 @@ def test_get_edd_dict_sata_usb(self):
                 "/sys/firmware/edd/int13_dev81"),
             ("edd: interface details: %s", "USB     \tserial_number: 30302e31"),
             ]
+        self._respool_logs()
         self._check_logs(debugs, infos, warnings)
         self.assertEqual(edd.log.error.called, False)
-        self._respool_logs()
+        self._clear_logs()
 
     def test_collect_edd_data_absurd_virt(self):
+        self._edd_logger.info("starting test test_collect_edd_data_absurd_virt")
         self._set_fs_root(edd, "absurd_virt")
         # siiiigh - this is actually the data out of sysfs on a virt I have
         # created.  Apparently even qemu claims 3.0 sometimes and gives us
@@ -198,6 +202,7 @@ def test_collect_edd_data_absurd_virt(self):
                                sysfspath="/sys/firmware/edd/int13_dev85"),
             }
         edd_dict = edd.collect_edd_data()
+        self._respool_logs()
         self.assertEqual(len(edd_dict), 6)
         self.assertEqual(fakeedd[0x80], edd_dict[0x80])
         self.assertEqual(fakeedd[0x81], edd_dict[0x81])
@@ -205,14 +210,28 @@ def test_collect_edd_data_absurd_virt(self):
         self.assertEqual(fakeedd[0x83], edd_dict[0x83])
         self.assertEqual(fakeedd[0x84], edd_dict[0x84])
         self.assertEqual(fakeedd[0x85], edd_dict[0x85])
-        self._check_logs()
-        self.assertEqual(edd.log.debug.called, False)
+        debugs = [
+            ("edd: found device 0x%x at %s", 0x80,
+                    "/sys/firmware/edd/int13_dev80"),
+            ("edd: found device 0x%x at %s", 0x81,
+                    "/sys/firmware/edd/int13_dev81"),
+            ("edd: found device 0x%x at %s", 0x82,
+                    "/sys/firmware/edd/int13_dev82"),
+            ("edd: found device 0x%x at %s", 0x83,
+                    "/sys/firmware/edd/int13_dev83"),
+            ("edd: found device 0x%x at %s", 0x84,
+                    "/sys/firmware/edd/int13_dev84"),
+            ("edd: found device 0x%x at %s", 0x85,
+                    "/sys/firmware/edd/int13_dev85"),
+            ]
+        self._check_logs(debugs=debugs)
         self.assertEqual(edd.log.info.called, False)
         self.assertEqual(edd.log.warning.called, False)
         self.assertEqual(edd.log.error.called, False)
-        self._respool_logs()
+        self._clear_logs()
 
     def test_get_edd_dict_absurd_virt(self):
+        self._edd_logger.info("starting test test_get_edd_dict_absurd_virt")
         self._set_fs_root(edd, "absurd_virt")
         # siiiigh - this is actually the data out of sysfs on a virt I have
         # created.  Apparently even qemu claims 3.0 sometimes and gives us
@@ -260,6 +279,7 @@ def test_get_edd_dict_absurd_virt(self):
                  )
 
         edd_dict = edd.get_edd_dict(devices)
+        self._edd_logger.debug(edd_dict)
         self.assertEqual(len(edd_dict), 6)
         # this order is *completely unlike* the order in virt-manager,
         # but it does appear to be what EDD is displaying.
@@ -270,12 +290,24 @@ def test_get_edd_dict_absurd_virt(self):
         self.assertEqual(edd_dict["sdc"], 0x84)
         self.assertEqual(edd_dict["sdd"], 0x85)
         debugs = [
-            ("edd: data extracted from 0x%x:\n%s", 0x80, fakeedd[0x80]),
-            ("edd: data extracted from 0x%x:\n%s", 0x81, fakeedd[0x81]),
-            ("edd: data extracted from 0x%x:\n%s", 0x82, fakeedd[0x82]),
-            ("edd: data extracted from 0x%x:\n%s", 0x83, fakeedd[0x83]),
-            ("edd: data extracted from 0x%x:\n%s", 0x84, fakeedd[0x84]),
-            ("edd: data extracted from 0x%x:\n%s", 0x85, fakeedd[0x85]),
+            ("edd: data extracted from 0x%x:\n%r", 0x80, fakeedd[0x80]),
+            ("edd: data extracted from 0x%x:\n%r", 0x81, fakeedd[0x81]),
+            ("edd: data extracted from 0x%x:\n%r", 0x82, fakeedd[0x82]),
+            ("edd: data extracted from 0x%x:\n%r", 0x83, fakeedd[0x83]),
+            ("edd: data extracted from 0x%x:\n%r", 0x84, fakeedd[0x84]),
+            ("edd: data extracted from 0x%x:\n%r", 0x85, fakeedd[0x85]),
+            ("edd: found device 0x%x at %s", 0x80,
+                    "/sys/firmware/edd/int13_dev80"),
+            ("edd: found device 0x%x at %s", 0x81,
+                    "/sys/firmware/edd/int13_dev81"),
+            ("edd: found device 0x%x at %s", 0x82,
+                    "/sys/firmware/edd/int13_dev82"),
+            ("edd: found device 0x%x at %s", 0x83,
+                    "/sys/firmware/edd/int13_dev83"),
+            ("edd: found device 0x%x at %s", 0x84,
+                    "/sys/firmware/edd/int13_dev84"),
+            ("edd: found device 0x%x at %s", 0x85,
+                    "/sys/firmware/edd/int13_dev85"),
             ]
         infos = [
             ("edd: collected mbr signatures: %s", { 'vda': '0x86531966',
@@ -292,7 +324,14 @@ def test_get_edd_dict_absurd_virt(self):
             ("edd: matched 0x%x to %s using PCI dev", 0x84, "sdc"),
             ("edd: matched 0x%x to %s using MBR sig", 0x85, "sdd"),
             ]
+        self._respool_logs()
         self._check_logs(debugs, infos)
         self.assertEqual(edd.log.warning.called, False)
         self.assertEqual(edd.log.error.called, False)
-        self._respool_logs()
+        self._clear_logs()
+
+try:
+    blivet.util.set_up_logging(log_file=os.path.join(os.environ['WORKSPACE'],
+                                                     "blivet.log"))
+except KeyError:
+    blivet.util.set_up_logging("/tmp/blivet.log")


-- 
To view this commit on github, visit https://github.com/rhinstaller/blivet/commit/724fcdbb5ee685d827b7cd657ce457affe3646d2


More information about the anaconda-patches mailing list