diff --git a/dist/pythonlibs/riotctrl_shell/netif.py b/dist/pythonlibs/riotctrl_shell/netif.py index 9784e0435a..e3ad811055 100644 --- a/dist/pythonlibs/riotctrl_shell/netif.py +++ b/dist/pythonlibs/riotctrl_shell/netif.py @@ -287,7 +287,7 @@ class Ifconfig(ShellInteraction): if args is not None: if netif is None: raise ValueError("netif required when args are provided") - cmd += " {args}".format(args=" ".join(args)) + cmd += " {args}".format(args=" ".join(str(a) for a in args)) return self.cmd(cmd, timeout=timeout, async_=False) def ifconfig_help(self, netif, timeout=-1, async_=False): diff --git a/dist/pythonlibs/riotctrl_shell/tests/test_netif.py b/dist/pythonlibs/riotctrl_shell/tests/test_netif.py index c15c1bd7d2..b9e66fd7c8 100644 --- a/dist/pythonlibs/riotctrl_shell/tests/test_netif.py +++ b/dist/pythonlibs/riotctrl_shell/tests/test_netif.py @@ -76,12 +76,18 @@ def test_ifconfig_help(): assert res == "ifconfig foobar help" -def test_ifconfig_set(): - rc = init_ctrl(output="success: address set") +@pytest.mark.parametrize( + "option,value,expected", + [("addr", "42:de:ad:c0:ff:ee", + "ifconfig foobar set addr 42:de:ad:c0:ff:ee"), + ("chan", 17, "ifconfig foobar set chan 17")] +) +def test_ifconfig_set(option, value, expected): + rc = init_ctrl(output="success: option set") si = riotctrl_shell.netif.Ifconfig(rc) - res = si.ifconfig_set("foobar", "addr", "42:de:ad:c0:ff:ee") - assert res == "success: address set" - assert rc.term.last_command == "ifconfig foobar set addr 42:de:ad:c0:ff:ee" + res = si.ifconfig_set("foobar", option, value) + assert res == "success: option set" + assert rc.term.last_command == expected def test_ifconfig_set_error():