def METHOD_NAME(self, qemu_devtype, virtio_devid):
    """Check if a virtio device type and its variants behave as expected"""
    # Force modern mode:
    dev_modern, _ = self.run_device(qemu_devtype,
                                   'disable-modern=off,disable-legacy=on')
    self.assert_devids(dev_modern, pci_modern_device_id(virtio_devid),
                       non_transitional=True)
    # <prefix>-non-transitional device types should be 100% equivalent to
    # <prefix>,disable-modern=off,disable-legacy=on
    dev_1_0, nt_ifaces = self.run_device('%s-non-transitional' % (qemu_devtype))
    self.assertEqual(dev_modern, dev_1_0)
    # Force transitional mode:
    dev_trans, _ = self.run_device(qemu_devtype,
                                  'disable-modern=off,disable-legacy=off')
    self.assert_devids(dev_trans, PCI_LEGACY_DEVICE_IDS[virtio_devid])
    # Force legacy mode:
    dev_legacy, _ = self.run_device(qemu_devtype,
                                   'disable-modern=on,disable-legacy=off')
    self.assert_devids(dev_legacy, PCI_LEGACY_DEVICE_IDS[virtio_devid])
    # No options: default to transitional on PC machine-type:
    no_opts_pc, generic_ifaces = self.run_device(qemu_devtype)
    self.assertEqual(dev_trans, no_opts_pc)
    #TODO: check if plugging on a PCI Express bus will make the
    #      device non-transitional
    #no_opts_q35 = self.run_device(qemu_devtype, machine='q35')
    #self.assertEqual(dev_modern, no_opts_q35)
    # <prefix>-transitional device types should be 100% equivalent to
    # <prefix>,disable-modern=off,disable-legacy=off
    dev_trans, trans_ifaces = self.run_device('%s-transitional' % (qemu_devtype))
    self.assertEqual(dev_trans, dev_trans)
    # ensure the interface information is correct:
    self.assertIn('conventional-pci-device', generic_ifaces)
    self.assertIn('pci-express-device', generic_ifaces)
    self.assertIn('conventional-pci-device', nt_ifaces)
    self.assertIn('pci-express-device', nt_ifaces)
    self.assertIn('conventional-pci-device', trans_ifaces)
    self.assertNotIn('pci-express-device', trans_ifaces)