On 2014-11-17 at 17:04, Eric Blake wrote:
On 11/17/2014 05:31 AM, Max Reitz wrote:
_filter_qmp should be able to correctly filter out the QMP version
object for pretty JSON output.

Signed-off-by: Max Reitz <mre...@redhat.com>
---
  tests/qemu-iotests/common.filter | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter
index 3acdb30..dfb9726 100644
--- a/tests/qemu-iotests/common.filter
+++ b/tests/qemu-iotests/common.filter
@@ -167,7 +167,9 @@ _filter_qmp()
  {
      _filter_win32 | \
      sed -e 's#\("\(micro\)\?seconds": \)[0-9]\+#\1 TIMESTAMP#g' \
-        -e 's#^{"QMP":.*}$#QMP_VERSION#'
+        -e 's#^{"QMP":.*}$#QMP_VERSION#' \
+        -e '/^    "QMP": {\s*$/, /^    }\s*$/ c\' \
\s is a GNU sed extension.  But we don't really need to care about
whitespace to the end of the line; I think that it is sufficient to just
match the following regex:

-e '/^    "QMP": {/, /^    }/ c\' \

That doesn't match, however. QEMU's JSON formatter sometimes outputs whitespace at the end of line.

+        -e '    QMP_VERSION'
Either way, it's not the first time we've used a GNU sed extension, and
since other series are now depending on this one, I can live with:

Ooooh, you mean version 3 was actually fine? (which used 'c\' without a line break) ;-)

Reviewed-by: Eric Blake <ebl...@redhat.com>

Thank you!

Max

Reply via email to