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

2024-03-01 Thread Thomas Huth

On 26/02/2024 10.38, Nicholas Piggin wrote:

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 
---
  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(-)


Reviewed-by: Thomas Huth 



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

2024-02-26 Thread Nicholas Piggin
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 
---
 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();
@@ -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