xref: /qemu/tests/avocado/info_usernet.py (revision 684750ab)
1bbbd9b6eSWillian Rampazzo# Test for the hmp command "info usernet"
2bbbd9b6eSWillian Rampazzo#
3bbbd9b6eSWillian Rampazzo# Copyright (c) 2021 Red Hat, Inc.
4bbbd9b6eSWillian Rampazzo#
5bbbd9b6eSWillian Rampazzo# Author:
6bbbd9b6eSWillian Rampazzo#  Cleber Rosa <crosa@redhat.com>
7bbbd9b6eSWillian Rampazzo#
8bbbd9b6eSWillian Rampazzo# This work is licensed under the terms of the GNU GPL, version 2 or
9bbbd9b6eSWillian Rampazzo# later.  See the COPYING file in the top-level directory.
10bbbd9b6eSWillian Rampazzo
112283b627SPhilippe Mathieu-Daudéfrom avocado_qemu import QemuSystemTest
12bbbd9b6eSWillian Rampazzo
13bbbd9b6eSWillian Rampazzofrom qemu.utils import get_info_usernet_hostfwd_port
14bbbd9b6eSWillian Rampazzo
15bbbd9b6eSWillian Rampazzo
162283b627SPhilippe Mathieu-Daudéclass InfoUsernet(QemuSystemTest):
175104b738SAlex Bennée    """
185104b738SAlex Bennée    :avocado: tags=machine:none
195104b738SAlex Bennée    """
20bbbd9b6eSWillian Rampazzo
21bbbd9b6eSWillian Rampazzo    def test_hostfwd(self):
220fc389feSThomas Huth        self.require_netdev('user')
23bbbd9b6eSWillian Rampazzo        self.vm.add_args('-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22')
24bbbd9b6eSWillian Rampazzo        self.vm.launch()
25684750abSVladimir Sementsov-Ogievskiy        res = self.vm.cmd('human-monitor-command',
26bbbd9b6eSWillian Rampazzo                          command_line='info usernet')
27bbbd9b6eSWillian Rampazzo        port = get_info_usernet_hostfwd_port(res)
28bbbd9b6eSWillian Rampazzo        self.assertIsNotNone(port,
29bbbd9b6eSWillian Rampazzo                             ('"info usernet" output content does not seem to '
30bbbd9b6eSWillian Rampazzo                              'contain the redirected port'))
31bbbd9b6eSWillian Rampazzo        self.assertGreater(port, 0,
32bbbd9b6eSWillian Rampazzo                           ('Found a redirected port that is not greater than'
33bbbd9b6eSWillian Rampazzo                            ' zero'))
34