Message ID | 20210610005239.265588-2-peterx@redhat.com |
---|---|
State | New |
Headers | show |
Series | tests: migration-test: Fix agressive test skip, add dirty ring test | expand |
* Peter Xu (peterx@redhat.com) wrote: > Currently we'll skip the whole migration-test if uffd missing. > > It's a bit harsh - we can still run the rest besides postcopy! Enable them > when we still can. > > It'll happen more frequently now after kernel UFFD_USER_MODE_ONLY introduced in > commit 37cd0575b8510159, as qemu test normally requires kernel faults. One > alternative is we disable kvm and create the uffd with UFFD_USER_MODE_ONLY for > all postcopy tests, however to be simple for now just skip postcopy tests only > by default. If we wanna run them use "sudo" or root, they'll still work. In > all cases, it's still better than running nothing for migration-test. > > Signed-off-by: Peter Xu <peterx@redhat.com> Ouch! Yes; that check was originally in a standalone test file for postcopy that's then morphed into the full test over a few years. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > tests/qtest/migration-test.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c > index 2b028df6875..d9225f58d4d 100644 > --- a/tests/qtest/migration-test.c > +++ b/tests/qtest/migration-test.c > @@ -1376,10 +1376,6 @@ int main(int argc, char **argv) > > g_test_init(&argc, &argv, NULL); > > - if (!ufd_version_check()) { > - return g_test_run(); > - } > - > /* > * On ppc64, the test only works with kvm-hv, but not with kvm-pr and TCG > * is touchy due to race conditions on dirty bits (especially on PPC for > @@ -1416,8 +1412,11 @@ int main(int argc, char **argv) > > module_call_init(MODULE_INIT_QOM); > > - qtest_add_func("/migration/postcopy/unix", test_postcopy); > - qtest_add_func("/migration/postcopy/recovery", test_postcopy_recovery); > + if (ufd_version_check()) { > + qtest_add_func("/migration/postcopy/unix", test_postcopy); > + qtest_add_func("/migration/postcopy/recovery", test_postcopy_recovery); > + } > + > qtest_add_func("/migration/bad_dest", test_baddest); > qtest_add_func("/migration/precopy/unix", test_precopy_unix); > qtest_add_func("/migration/precopy/tcp", test_precopy_tcp); > -- > 2.31.1 >
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c index 2b028df6875..d9225f58d4d 100644 --- a/tests/qtest/migration-test.c +++ b/tests/qtest/migration-test.c @@ -1376,10 +1376,6 @@ int main(int argc, char **argv) g_test_init(&argc, &argv, NULL); - if (!ufd_version_check()) { - return g_test_run(); - } - /* * On ppc64, the test only works with kvm-hv, but not with kvm-pr and TCG * is touchy due to race conditions on dirty bits (especially on PPC for @@ -1416,8 +1412,11 @@ int main(int argc, char **argv) module_call_init(MODULE_INIT_QOM); - qtest_add_func("/migration/postcopy/unix", test_postcopy); - qtest_add_func("/migration/postcopy/recovery", test_postcopy_recovery); + if (ufd_version_check()) { + qtest_add_func("/migration/postcopy/unix", test_postcopy); + qtest_add_func("/migration/postcopy/recovery", test_postcopy_recovery); + } + qtest_add_func("/migration/bad_dest", test_baddest); qtest_add_func("/migration/precopy/unix", test_precopy_unix); qtest_add_func("/migration/precopy/tcp", test_precopy_tcp);
Currently we'll skip the whole migration-test if uffd missing. It's a bit harsh - we can still run the rest besides postcopy! Enable them when we still can. It'll happen more frequently now after kernel UFFD_USER_MODE_ONLY introduced in commit 37cd0575b8510159, as qemu test normally requires kernel faults. One alternative is we disable kvm and create the uffd with UFFD_USER_MODE_ONLY for all postcopy tests, however to be simple for now just skip postcopy tests only by default. If we wanna run them use "sudo" or root, they'll still work. In all cases, it's still better than running nothing for migration-test. Signed-off-by: Peter Xu <peterx@redhat.com> --- tests/qtest/migration-test.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)