On Tue, 2019-10-15 at 16:27 +0200, Max Reitz wrote: > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > tests/qemu-iotests/common.filter | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/tests/qemu-iotests/common.filter > b/tests/qemu-iotests/common.filter > index 9f418b4881..63bc6f6f26 100644 > --- a/tests/qemu-iotests/common.filter > +++ b/tests/qemu-iotests/common.filter > @@ -227,5 +227,29 @@ _filter_qmp_empty_return() > grep -v '{"return": {}}' > } > > +_filter_json_filename() > +{ > + $PYTHON -c 'import sys > +result, *fnames = sys.stdin.read().split("json:{")
Very minor nitpick, maybe I would give 'fnames' a more generic name, since its is just result of a split, thus not really a list of filenames. Feel free to ignore that though. > +depth = 0 > +for fname in fnames: > + depth += 1 # For the opening brace in the split separator > + for chr_i, chr in enumerate(fname): > + if chr == "{": > + depth += 1 > + elif chr == "}": > + depth -= 1 > + if depth == 0: > + break > + > + # json:{} filenames may be nested; filter out everything from > + # inside the outermost one > + if depth == 0: > + chr_i += 1 # First character past the filename > + result += "json:{ /* filtered */ }" + fname[chr_i:] > + > +sys.stdout.write(result)' > +} > + > # make sure this script returns success > true I must admit that I haven't run tested it, but it looks like it should work. Reviewed-by: Maxim Levitsky <mlevi...@redhat.com> Best regards, Maxim Levitsky