On Tue, 28 Feb 2023 at 19:28, Fabiano Rosas <faro...@suse.de> wrote: > > The migration tests are currently broken for an aarch64 host because > the tests pass no 'machine' and 'cpu' options on the QEMU command > line. > > Add a separate class to each architecture so that we can specify > 'machine' and 'cpu' options instead of relying on defaults. > > Add a skip decorator to keep the current behavior of only running > migration tests when the qemu target matches the host architecture.
I still don't understand this patch. Don't we run the migration-test on all hosts already? David ? > Signed-off-by: Fabiano Rosas <faro...@suse.de> > --- > tests/avocado/migration.py | 83 +++++++++++++++++++++++++++++++++++--- > 1 file changed, 78 insertions(+), 5 deletions(-) > > diff --git a/tests/avocado/migration.py b/tests/avocado/migration.py > index 4b25680c50..8b2ec0e3c4 100644 > --- a/tests/avocado/migration.py > +++ b/tests/avocado/migration.py > @@ -11,6 +11,8 @@ > > > import tempfile > +import os > + > from avocado_qemu import QemuSystemTest > from avocado import skipUnless > > @@ -19,7 +21,7 @@ > from avocado.utils.path import find_command > > > -class Migration(QemuSystemTest): > +class MigrationTest(QemuSystemTest): > """ > :avocado: tags=migration > """ > @@ -62,20 +64,91 @@ def _get_free_port(self): > self.cancel('Failed to find a free port') > return port > > - > - def test_migration_with_tcp_localhost(self): > + def migration_with_tcp_localhost(self): > dest_uri = 'tcp:localhost:%u' % self._get_free_port() > self.do_migrate(dest_uri) > > - def test_migration_with_unix(self): > + def migration_with_unix(self): > with tempfile.TemporaryDirectory(prefix='socket_') as socket_path: > dest_uri = 'unix:%s/qemu-test.sock' % socket_path > self.do_migrate(dest_uri) > > @skipUnless(find_command('nc', default=False), "'nc' command not found") > - def test_migration_with_exec(self): > + def migration_with_exec(self): > """The test works for both netcat-traditional and netcat-openbsd > packages.""" > free_port = self._get_free_port() > dest_uri = 'exec:nc -l localhost %u' % free_port > src_uri = 'exec:nc localhost %u' % free_port > self.do_migrate(dest_uri, src_uri) > + > + > +@skipUnless('aarch64' in os.uname()[4], "host != target") > +class Aarch64(MigrationTest): > + """ > + :avocado: tags=arch:aarch64 > + :avocado: tags=machine:virt > + :avocado: tags=cpu:max > + """ > + > + def test_migration_with_tcp_localhost(self): > + self.migration_with_tcp_localhost() > + > + def test_migration_with_unix(self): > + self.migration_with_unix() > + > + def test_migration_with_exec(self): > + self.migration_with_exec() > + > + > +@skipUnless('x86_64' in os.uname()[4], "host != target") > +class X86_64(MigrationTest): > + """ > + :avocado: tags=arch:x86_64 > + :avocado: tags=machine:pc > + :avocado: tags=cpu:qemu64 > + """ > + > + def test_migration_with_tcp_localhost(self): > + self.migration_with_tcp_localhost() > + > + def test_migration_with_unix(self): > + self.migration_with_unix() > + > + def test_migration_with_exec(self): > + self.migration_with_exec() > + > + > +@skipUnless('ppc64le' in os.uname()[4], "host != target") > +class PPC64(MigrationTest): > + """ > + :avocado: tags=arch:ppc64 > + :avocado: tags=machine:pseries > + :avocado: tags=cpu:power9_v2.0 > + """ > + > + def test_migration_with_tcp_localhost(self): > + self.migration_with_tcp_localhost() > + > + def test_migration_with_unix(self): > + self.migration_with_unix() > + > + def test_migration_with_exec(self): > + self.migration_with_exec() > + > + > +@skipUnless('s390x' in os.uname()[4], "host != target") > +class S390X(MigrationTest): > + """ > + :avocado: tags=arch:s390x > + :avocado: tags=machine:s390-ccw-virtio > + :avocado: tags=cpu:qemu > + """ > + > + def test_migration_with_tcp_localhost(self): > + self.migration_with_tcp_localhost() > + > + def test_migration_with_unix(self): > + self.migration_with_unix() > + > + def test_migration_with_exec(self): > + self.migration_with_exec() > -- > 2.35.3 thanks -- PMM