qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]