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 <ehabk...@redhat.com> --- 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