qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 4/4] device-crash-test: Use query-device-info for us


From: Eduardo Habkost
Subject: [Qemu-devel] [PATCH 4/4] device-crash-test: Use query-device-info for user-creatable check
Date: Tue, 26 Sep 2017 19:03:26 -0300

Now that we have query-device-info, we don't need to parse "info
qdm" output to find out if a device is user-creatable.

Signed-off-by: Eduardo Habkost <address@hidden>
---
 scripts/device-crash-test | 19 ++-----------------
 1 file changed, 2 insertions(+), 17 deletions(-)

diff --git a/scripts/device-crash-test b/scripts/device-crash-test
index 043b24a4aa..ddc8f72eca 100755
--- a/scripts/device-crash-test
+++ b/scripts/device-crash-test
@@ -318,19 +318,6 @@ def qomListTypeNames(vm, **kwargs):
     return [t['name'] for t in types]
 
 
-def infoQDM(vm):
-    """Parse 'info qdm' output"""
-    args = {'command-line': 'info qdm'}
-    devhelp = vm.command('human-monitor-command', **args)
-    for l in devhelp.split('\n'):
-        l = l.strip()
-        if l == '' or l.endswith(':'):
-            continue
-        d = {'name': re.search(r'name "([^"]+)"', l).group(1),
-             'no-user': (re.search(', no-user', l) is not None)}
-        yield d
-
-
 class QemuBinaryInfo(object):
     def __init__(self, binary, devtype):
         if devtype is None:
@@ -346,11 +333,9 @@ class QemuBinaryInfo(object):
         vm.launch()
         try:
             self.alldevs = set(qomListTypeNames(vm, implements=devtype, 
abstract=False))
-            # there's no way to query DeviceClass::user_creatable using QMP,
-            # so use 'info qdm':
-            self.no_user_devs = set([d['name'] for d in infoQDM(vm, ) if 
d['no-user']])
+            self.dev_info = dict((t, vm.command('query-device-type', 
typename=t)) for t in self.alldevs)
+            self.user_devs = set(d for d in self.alldevs if 
self.dev_info[d]['user-creatable'])
             self.machines = list(m['name'] for m in 
vm.command('query-machines'))
-            self.user_devs = self.alldevs.difference(self.no_user_devs)
             self.kvm_available = vm.command('query-kvm')['enabled']
         finally:
             vm.shutdown()
-- 
2.13.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]