diff options
author | Max Reitz <mreitz@redhat.com> | 2019-11-07 17:36:50 +0100 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2020-01-06 13:43:06 +0100 |
commit | a75b7b5757f840a83c3961eff67cb25f9198936c (patch) | |
tree | 5ca27bfc5bd1f038be6c259d74c76e53e825dd09 /tests | |
parent | 0485e6ee4cc8a2cec5984cb00218b66e103684f0 (diff) |
iotests: Add _filter_json_filename
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-id: 20191107163708.833192-5-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/qemu-iotests/common.filter | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter index 5367deea39..116cc8a840 100644 --- a/tests/qemu-iotests/common.filter +++ b/tests/qemu-iotests/common.filter @@ -232,5 +232,29 @@ _filter_qmp_empty_return() grep -v '{"return": {}}' } +_filter_json_filename() +{ + $PYTHON -c 'import sys +result, *fnames = sys.stdin.read().split("json:{") +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 |