[kvm-unit-tests PATCH 3/7] (arm|s390): Use migrate_skip in test cases

Nicholas Piggin
2024-02-26T09:39:07Z

Have tests use the new migrate_skip command in skip paths, rather than
calling migrate_once to prevent harness reporting an error.

s390x/migration.c adds a new command that looks like it was missing
previously.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arm/gic.c | 21 ++++++++++++---------
s390x/migration-cmm.c | 8 ++++----
s390x/migration-skey.c | 4 +++-
s390x/migration.c | 1 +
4 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/arm/gic.c b/arm/gic.c
index c950b0d15..bbf828f17 100644
--- a/arm/gic.c
+++ b/arm/gic.c
@@ -782,13 +782,15 @@ static void test_its_migration(void)
struct its_device *dev2, *dev7;
cpumask_t mask;

- if (its_setup1())
+ if (its_setup1()) {
+ migrate_skip();
return;
+ }

dev2 = its_get_device(2);
dev7 = its_get_device(7);

- migrate_once();
+ migrate();

stats_reset();
cpumask_clear(&mask);
@@ -819,8 +821,10 @@ static void test_migrate_unmapped_collection(void)
int pe0 = 0;
u8 config;

- if (its_setup1())
+ if (its_setup1()) {
+ migrate_skip();
return;
+ }

if (!errata(ERRATA_UNMAPPED_COLLECTIONS)) {
report_skip("Skipping test, as this test hangs without the fix. "
@@ -836,7 +840,7 @@ static void test_migrate_unmapped_collection(void)
its_send_mapti(dev2, 8192, 0, col);
gicv3_lpi_set_config(8192, LPI_PROP_DEFAULT);

- migrate_once();
+ migrate();

/* on the destination, map the collection */
its_send_mapc(col, true);
@@ -875,8 +879,10 @@ static void test_its_pending_migration(void)
void *ptr;
int i;

- if (its_prerequisites(4))
+ if (its_prerequisites(4)) {
+ migrate_skip();
return;
+ }

dev = its_create_device(2 /* dev id */, 8 /* nb_ites */);
its_send_mapd(dev, true);
@@ -923,7 +929,7 @@ static void test_its_pending_migration(void)
gicv3_lpi_rdist_enable(pe0);
gicv3_lpi_rdist_enable(pe1);

- migrate_once();
+ migrate();

/* let's wait for the 256 LPIs to be handled */
mdelay(1000);
@@ -970,17 +976,14 @@ int main(int argc, char **argv)
} else if (!strcmp(argv[1], "its-migration")) {
report_prefix_push(argv[1]);
test_its_migration();
- migrate_once();
report_prefix_pop();
} else if (!strcmp(argv[1], "its-pending-migration")) {
report_prefix_push(argv[1]);
test_its_pending_migration();
- migrate_once();
report_prefix_pop();
} else if (!strcmp(argv[1], "its-migrate-unmapped-collection")) {
report_prefix_push(argv[1]);
test_migrate_unmapped_collection();
- migrate_once();
report_prefix_pop();
} else if (strcmp(argv[1], "its-introspection") == 0) {
report_prefix_push(argv[1]);
diff --git a/s390x/migration-cmm.c b/s390x/migration-cmm.c
index 43673f18e..b4043a80e 100644
--- a/s390x/migration-cmm.c
+++ b/s390x/migration-cmm.c
@@ -55,12 +55,12 @@ int main(void)
{
report_prefix_push("migration-cmm");

- if (!check_essa_available())
+ if (!check_essa_available()) {
report_skip("ESSA is not available");
- else
+ migrate_skip();
+ } else {
test_migration();
-
- migrate_once();
+ }

report_prefix_pop();
return report_summary();
diff --git a/s390x/migration-skey.c b/s390x/migration-skey.c
index 8d6d8ecfe..1a196ae1e 100644
--- a/s390x/migration-skey.c
+++ b/s390x/migration-skey.c
@@ -169,6 +169,7 @@ static void test_skey_migration_parallel(void)

if (smp_query_num_cpus() == 1) {
report_skip("need at least 2 cpus for this test");
+ migrate_skip();
goto error;
}

@@ -233,6 +234,7 @@ int main(int argc, char **argv)

if (test_facility(169)) {
report_skip("storage key removal facility is active");
+ migrate_skip();
goto error;
}

@@ -247,11 +249,11 @@ int main(int argc, char **argv)
break;
default:
print_usage();
+ migrate_skip();
break;
}

error:
- migrate_once();
report_prefix_pop();
return report_summary();
}
diff --git a/s390x/migration.c b/s390x/migration.c
index 269e272de..115afb731 100644
--- a/s390x/migration.c
+++ b/s390x/migration.c
@@ -164,6 +164,7 @@ int main(void)

if (smp_query_num_cpus() == 1) {
report_skip("need at least 2 cpus for this test");
+ migrate_skip();
goto done;
}

--
2.42.0