Fabiano Rosas <faro...@suse.de> wrote: > We have strict rules around migration compatibility between different > QEMU versions but no test to validate the migration state between > different binaries. > > Add infrastructure to allow running the migration tests with two > different QEMU binaries as migration source and destination. > > The code now recognizes two new environment variables > QTEST_QEMU_BINARY_SRC and QTEST_QEMU_BINARY_DST. In the absence of > either of them, the test will use the QTEST_QEMU_BINARY variable. If > both are missing then the tests are run with single binary as > previously. > > The machine type is selected automatically as the latest machine type > version that works with both binaries. > > Usage: > QTEST_QEMU_BINARY_SRC=../build-8.2.0/qemu-system-x86_64 \ > QTEST_QEMU_BINARY_DST=../build-8.1.0/qemu-system-x86_64 \ > ./tests/qtest/migration-test > > Signed-off-by: Fabiano Rosas <faro...@suse.de>
Reviewed-by: Juan Quintela <quint...@redhat.com> > --- > tests/qtest/migration-test.c | 29 +++++++++++++++++++++++++---- > 1 file changed, 25 insertions(+), 4 deletions(-) > > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c > index 7c10ac925b..984f52becd 100644 > --- a/tests/qtest/migration-test.c > +++ b/tests/qtest/migration-test.c > @@ -66,6 +66,9 @@ static bool got_dst_resume; > */ > #define DIRTYLIMIT_TOLERANCE_RANGE 25 /* MB/s */ > > +#define QEMU_ENV_SRC "QTEST_QEMU_BINARY_SRC" > +#define QEMU_ENV_DST "QTEST_QEMU_BINARY_DST" > + > #if defined(__linux__) > #include <sys/syscall.h> > #include <sys/vfs.h> > @@ -747,6 +750,7 @@ static int test_migrate_start(QTestState **from, > QTestState **to, > const char *arch = qtest_get_arch(); > const char *memory_size; > const char *machine; > + g_autofree char *machine_type = NULL; machine_name?