Skip to content
  • Markus Armbruster's avatar
    tests: Clean up string interpolation around qtest_qmp_device_add() · 82cab70b
    Markus Armbruster authored
    
    
    Leaving interpolation into JSON to qmp() is more robust than building
    QMP input manually, as explained in the commit before previous.
    
    qtest_qmp_device_add() and its wrappers interpolate into JSON as
    follows:
    
    * qtest_qmp_device_add() interpolates members into a JSON object.
    
    * So do its wrappers qpci_plug_device_test() and usb_test_hotplug().
    
    * usb_test_hotplug() additionally interpolates strings and numbers
      into JSON strings.
    
    Clean them up:
    
    * Have qtest_qmp_device_add() take its extra device properties as
      arguments for qdict_from_jsonf_nofail() instead of a string
      containing JSON members.
    
    * Drop qpci_plug_device_test(), use qtest_qmp_device_add()
      directly.
    
    * Change usb_test_hotplug() parameter @port to string, to avoid
      interpolation.  Interpolate @hcd_id separately.
    
    Bonus: gets rid of a non-literal format string.  A step towards
    compile-time format string checking without triggering
    -Wformat-nonliteral.
    
    Cc: Thomas Huth <thuth@redhat.com>
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Message-Id: <20180806065344.7103-15-armbru@redhat.com>
    82cab70b