From: Pavel Hrdina Date: Thu, 1 Mar 2018 14:25:05 +0000 (+0100) Subject: tests: introduce qemucapsfixreplies helper X-Git-Tag: v4.1.0~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=328b8dbe8bee9939c7108fdec4fda05fd02511f6;p=thirdparty%2Flibvirt.git tests: introduce qemucapsfixreplies helper Sometimes we don't regenerate QEMU capabilities replies using QEMU binary but we simply add a new entry manually. In that case you need to manually fix all the replies ids. This helper will do that for you. Reviewed-by: Andrea Bolognani Signed-off-by: Pavel Hrdina --- diff --git a/tests/qemucapabilitiestest.c b/tests/qemucapabilitiestest.c index 87807b4135..acfa1106e4 100644 --- a/tests/qemucapabilitiestest.c +++ b/tests/qemucapabilitiestest.c @@ -192,6 +192,9 @@ mymain(void) /* * Run "tests/qemucapsprobe /path/to/qemu/binary >foo.replies" * to generate updated or new *.replies data files. + * + * If you manually edit replies files you can run + * "tests/qemucapsfixreplies foo.replies" to fix the replies ids. */ qemuTestDriverFree(&driver); diff --git a/tests/qemucapsfixreplies b/tests/qemucapsfixreplies new file mode 100755 index 0000000000..4e3371a1f7 --- /dev/null +++ b/tests/qemucapsfixreplies @@ -0,0 +1,22 @@ +#!/bin/sh + +if [ "$#" -ne 1 ] || [ "$1" = "--help" ] || [ ! -f "$1" ]; then + echo "This script fixes replies ids in QEMU replies files." + echo "" + echo " Usage: $0 path/to/qemu.replies" + exit 0 +fi + +awk -i inplace \ + 'BEGIN {count=1; pattern="libvirt-[0-9]+"} + { + if (match($0, "libvirt-1[^0-9]")) { + count=1; + } + if (match($0, pattern)) { + str="libvirt-" count; + sub(pattern, str, $0); + count++; + } + print + }' "$1"