Message ID | 20200107163437.52139-1-lvivier@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | migration-test: ppc64: fix FORTH test program | expand |
Laurent Vivier <lvivier@redhat.com> wrote: > Commit e51e711b1bef has moved the initialization of start_address and > end_address after the definition of the command line argument, > where the nvramrc is initialized, and thus the loop is between 0 and 0 > rather than 1 MiB and 100 MiB. > > It doesn't affect the result of the test if all the tests are run in > sequence because the two first tests don't run the loop, so the > values are correctly initialized when we actually need them. > > But it hangs when we ask to run only one test, for instance: > > QTEST_QEMU_BINARY=ppc64-softmmu/qemu-system-ppc64 \ > tests/migration-test -m=quick -p /ppc64/migration/validate_uuid_error > > Fixes: e51e711b1bef ("tests/migration: Add migration-test header file") > Cc: wei@redhat.com > Signed-off-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> queued.
On Tue, Jan 07, 2020 at 05:34:37PM +0100, Laurent Vivier wrote: > Commit e51e711b1bef has moved the initialization of start_address and > end_address after the definition of the command line argument, > where the nvramrc is initialized, and thus the loop is between 0 and 0 > rather than 1 MiB and 100 MiB. > > It doesn't affect the result of the test if all the tests are run in > sequence because the two first tests don't run the loop, so the > values are correctly initialized when we actually need them. > > But it hangs when we ask to run only one test, for instance: > > QTEST_QEMU_BINARY=ppc64-softmmu/qemu-system-ppc64 \ > tests/migration-test -m=quick -p /ppc64/migration/validate_uuid_error > > Fixes: e51e711b1bef ("tests/migration: Add migration-test header file") > Cc: wei@redhat.com > Signed-off-by: Laurent Vivier <lvivier@redhat.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> > --- > tests/migration-test.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tests/migration-test.c b/tests/migration-test.c > index 53afec439522..341d19092214 100644 > --- a/tests/migration-test.c > +++ b/tests/migration-test.c > @@ -480,14 +480,14 @@ static int test_migrate_start(QTestState **from, QTestState **to, > } else if (strcmp(arch, "ppc64") == 0) { > machine_opts = "vsmt=8"; > memory_size = "256M"; > + start_address = PPC_TEST_MEM_START; > + end_address = PPC_TEST_MEM_END; > arch_source = g_strdup_printf("-nodefaults " > "-prom-env 'use-nvramrc?=true' -prom-env " > "'nvramrc=hex .\" _\" begin %x %x " > "do i c@ 1 + i c! 1000 +loop .\" B\" 0 " > "until'", end_address, start_address); > arch_target = g_strdup(""); > - start_address = PPC_TEST_MEM_START; > - end_address = PPC_TEST_MEM_END; > } else if (strcmp(arch, "aarch64") == 0) { > init_bootfile(bootpath, aarch64_kernel, sizeof(aarch64_kernel)); > machine_opts = "virt,gic-version=max";
diff --git a/tests/migration-test.c b/tests/migration-test.c index 53afec439522..341d19092214 100644 --- a/tests/migration-test.c +++ b/tests/migration-test.c @@ -480,14 +480,14 @@ static int test_migrate_start(QTestState **from, QTestState **to, } else if (strcmp(arch, "ppc64") == 0) { machine_opts = "vsmt=8"; memory_size = "256M"; + start_address = PPC_TEST_MEM_START; + end_address = PPC_TEST_MEM_END; arch_source = g_strdup_printf("-nodefaults " "-prom-env 'use-nvramrc?=true' -prom-env " "'nvramrc=hex .\" _\" begin %x %x " "do i c@ 1 + i c! 1000 +loop .\" B\" 0 " "until'", end_address, start_address); arch_target = g_strdup(""); - start_address = PPC_TEST_MEM_START; - end_address = PPC_TEST_MEM_END; } else if (strcmp(arch, "aarch64") == 0) { init_bootfile(bootpath, aarch64_kernel, sizeof(aarch64_kernel)); machine_opts = "virt,gic-version=max";
Commit e51e711b1bef has moved the initialization of start_address and end_address after the definition of the command line argument, where the nvramrc is initialized, and thus the loop is between 0 and 0 rather than 1 MiB and 100 MiB. It doesn't affect the result of the test if all the tests are run in sequence because the two first tests don't run the loop, so the values are correctly initialized when we actually need them. But it hangs when we ask to run only one test, for instance: QTEST_QEMU_BINARY=ppc64-softmmu/qemu-system-ppc64 \ tests/migration-test -m=quick -p /ppc64/migration/validate_uuid_error Fixes: e51e711b1bef ("tests/migration: Add migration-test header file") Cc: wei@redhat.com Signed-off-by: Laurent Vivier <lvivier@redhat.com> --- tests/migration-test.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)