On 1/23/19 9:46 AM, Max Reitz wrote:
> Fixes: 08fcd6111e1949f456e1b232ebeeb0cc17019a92
> Signed-off-by: Max Reitz <mre...@redhat.com>
Commit message is a bit barren, feel free to blame me for not realizing
that non-qcow2 tests used the feature I was rewriting. I may have chosen
to rewrite it differently if I had seen all the other callers. :\
Any opinions on how it shook out, now that you've had to fix things in
its wake? It felt like a lot of work to do not much to be honest, but
also it seemed like we were being too cavalier about the differences
between rich/qmp filters and text ones.
Reviewed-by: John Snow <js...@redhat.com>
> ---
> tests/qemu-iotests/207 | 10 +++++++---
> tests/qemu-iotests/207.out | 4 ++--
> 2 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/tests/qemu-iotests/207 b/tests/qemu-iotests/207
> index c617ee7453..dfd3c51bd1 100755
> --- a/tests/qemu-iotests/207
> +++ b/tests/qemu-iotests/207
> @@ -27,12 +27,16 @@ import re
> iotests.verify_image_format(supported_fmts=['raw'])
> iotests.verify_protocol(supported=['ssh'])
>
> -def filter_hash(msg):
> - return re.sub('"hash": "[0-9a-f]+"', '"hash": HASH', msg)
> +def filter_hash(qmsg):
> + def _filter(key, value):
> + if key == 'hash' and re.match('[0-9a-f]+', value):
> + return 'HASH'
> + return value
> + return iotests.filter_qmp(qmsg, _filter)
>
> def blockdev_create(vm, options):
> result = vm.qmp_log('blockdev-create', job_id='job0', options=options,
> - filters=[iotests.filter_testfiles, filter_hash])
> + filters=[iotests.filter_qmp_testfiles, filter_hash])
>
> if 'return' in result:
> assert result['return'] == {}
> diff --git a/tests/qemu-iotests/207.out b/tests/qemu-iotests/207.out
> index 45ac7c2a8f..88d2240f54 100644
> --- a/tests/qemu-iotests/207.out
> +++ b/tests/qemu-iotests/207.out
> @@ -40,7 +40,7 @@ Job failed: remote host key does not match host_key_check
> 'wrong'
> {"execute": "job-dismiss", "arguments": {"id": "job0"}}
> {"return": {}}
>
> -{"execute": "blockdev-create", "arguments": {"job_id": "job0", "options":
> {"driver": "ssh", "location": {"host-key-check": {"hash": HASH, "mode":
> "hash", "type": "md5"}, "path": "TEST_DIR/PID-t.img", "server": {"host":
> "127.0.0.1", "port": "22"}}, "size": 8388608}}}
> +{"execute": "blockdev-create", "arguments": {"job_id": "job0", "options":
> {"driver": "ssh", "location": {"host-key-check": {"hash": "HASH", "mode":
> "hash", "type": "md5"}, "path": "TEST_DIR/PID-t.img", "server": {"host":
> "127.0.0.1", "port": "22"}}, "size": 8388608}}}
> {"return": {}}
> {"execute": "job-dismiss", "arguments": {"id": "job0"}}
> {"return": {}}
> @@ -55,7 +55,7 @@ Job failed: remote host key does not match host_key_check
> 'wrong'
> {"execute": "job-dismiss", "arguments": {"id": "job0"}}
> {"return": {}}
>
> -{"execute": "blockdev-create", "arguments": {"job_id": "job0", "options":
> {"driver": "ssh", "location": {"host-key-check": {"hash": HASH, "mode":
> "hash", "type": "sha1"}, "path": "TEST_DIR/PID-t.img", "server": {"host":
> "127.0.0.1", "port": "22"}}, "size": 4194304}}}
> +{"execute": "blockdev-create", "arguments": {"job_id": "job0", "options":
> {"driver": "ssh", "location": {"host-key-check": {"hash": "HASH", "mode":
> "hash", "type": "sha1"}, "path": "TEST_DIR/PID-t.img", "server": {"host":
> "127.0.0.1", "port": "22"}}, "size": 4194304}}}
> {"return": {}}
> {"execute": "job-dismiss", "arguments": {"id": "job0"}}
> {"return": {}}
>