diff mbox series

migration-test: ppc64: fix FORTH test program

Message ID 20200107163437.52139-1-lvivier@redhat.com
State New
Headers show
Series migration-test: ppc64: fix FORTH test program | expand

Commit Message

Laurent Vivier Jan. 7, 2020, 4:34 p.m. UTC
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(-)

Comments

Juan Quintela Jan. 7, 2020, 6:08 p.m. UTC | #1
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.
David Gibson Jan. 8, 2020, 1:02 a.m. UTC | #2
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 mbox series

Patch

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";