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@xxxxxxxxx> --- 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