[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 03/21] iotests: Add _filter_json_filename
From: |
Maxim Levitsky |
Subject: |
Re: [PATCH v2 03/21] iotests: Add _filter_json_filename |
Date: |
Wed, 06 Nov 2019 17:44:51 +0200 |
On Tue, 2019-10-15 at 16:27 +0200, Max Reitz wrote:
> Signed-off-by: Max Reitz <address@hidden>
> ---
> 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 <address@hidden>
Best regards,
Maxim Levitsky
- Re: [PATCH v2 03/21] iotests: Add _filter_json_filename,
Maxim Levitsky <=