def test_task03(rpl_nodes): pinger = rpl_nodes[-1] _, root_addr = global_addr(rpl_nodes[0].ifconfig_list()) res = ping6(pinger, root_addr, count=100, packet_size=50, interval=100) assert res["stats"]["packet_loss"] < 20 check_pktbuf(*rpl_nodes)
def test_task01(riot_ctrl, log_nodes): node = riot_ctrl(0, GNRC_APP, Shell, port='tap0') linux = pexpect.replwrap.bash() node_iface, node_addr = lladdr(node.ifconfig_list()) assert node_addr.startswith("fe80::") linux_iface = bridge('tap0') linux_addr = get_link_local(linux_iface) assert linux_addr.startswith("fe80::") ping_cmd = get_ping_cmd() if log_nodes: linux.child.logfile = sys.stdout out = linux.run_command( "{ping_cmd} -c 20 -i .5 {node_addr}%{linux_iface}".format( ping_cmd=ping_cmd, node_addr=node_addr, linux_iface=linux_iface), timeout=20) m = re.search(r"\b(\d+)% packet loss", out) assert m is not None assert int(m.group(1)) < 1 res = ping6(node, "{}%{}".format(linux_addr, node_iface), count=20, interval=100, packet_size=8) assert res["stats"]["packet_loss"] < 1
def test_task04(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, modules=["gnrc_pktbuf_cmd"]), riot_ctrl(1, APP, Shell, modules=["gnrc_pktbuf_cmd"]), ) pinged_netif, pinged_addr = lladdr(pinged.ifconfig_list()) pinged.ifconfig_set(pinged_netif, "channel", 26) assert pinged_addr.startswith("fe80::") pinger_netif, _ = lladdr(pinger.ifconfig_list()) pinger.ifconfig_set(pinger_netif, "channel", 26) # enforce reconnect to pinged's terminal as connection to it in the IoT-LAB # sometimes get's lost silently in the CI after the 15 min of pinging # see https://github.com/RIOT-OS/Release-Specs/issues/189 pinged.stop_term() res = ping6(pinger, pinged_addr, count=10000, interval=100, packet_size=100) assert res['stats']['packet_loss'] < 10 pinged.start_term() assert pktbuf(pinged).is_empty() assert pktbuf(pinger).is_empty()
def test_task10(riot_ctrl): pinger, pinged = ( riot_ctrl(0, TASK10_APP, Shell, modules=["gnrc_pktbuf_cmd"]), riot_ctrl(1, TASK10_APP, Shell, modules=["gnrc_pktbuf_cmd"]), ) pinged_netif, pinged_addr = lladdr(pinged.ifconfig_list()) pinged.ifconfig_set(pinged_netif, "channel", 26) assert pinged_addr.startswith("fe80::") pinger_netif, _ = lladdr(pinger.ifconfig_list()) pinger.ifconfig_set(pinger_netif, "channel", 26) res = ping6(pinger, pinged_addr, count=200, interval=600, packet_size=2048) if 10 < res['stats']['packet_loss'] <= 100: pytest.xfail( "Experimental task. See also " # pylint: disable=C0301 "https://github.com/RIOT-OS/Release-Specs/issues/142#issuecomment-561677974" # noqa: E501 ) assert res['stats']['packet_loss'] < 10 time.sleep(60) assert pktbuf(pinged).is_empty() assert pktbuf(pinger).is_empty()
def test_task01(statically_routed_nodes): pinger = statically_routed_nodes[0] res = ping6(pinger, TO_ADDR, count=100, packet_size=50, interval=100) assert res["stats"]["packet_loss"] < 20 time.sleep(10) for node in statically_routed_nodes: assert pktbuf(node).is_empty()
def test_task03(rpl_nodes): pinger = rpl_nodes[-1] _, root_addr = global_addr(rpl_nodes[0].ifconfig_list()) res = ping6(pinger, root_addr, count=100, packet_size=50, interval=100) assert res["stats"]["packet_loss"] < 20 time.sleep(10) for node in rpl_nodes: assert pktbuf(node).is_empty()
def test_task01(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, port='tap0'), riot_ctrl(1, APP, Shell, port='tap1'), ) res = ping6(pinger, "ff02::1", count=1000, packet_size=0, interval=10) assert res['stats']['packet_loss'] < 1 check_pktbuf(pinged, pinger)
def test_task05(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, modules=["gnrc_pktbuf_cmd"]), riot_ctrl(1, APP, Shell, modules=["gnrc_pktbuf_cmd"]), ) pinged_netif, _ = lladdr(pinged.ifconfig_list()) pinged.ifconfig_set(pinged_netif, "channel", 17) pinger_netif, _ = lladdr(pinger.ifconfig_list()) pinger.ifconfig_set(pinger_netif, "channel", 17) res = ping6(pinger, "ff02::1", count=1000, interval=100, packet_size=50) assert res['stats']['packet_loss'] < 10 assert pktbuf(pinged).is_empty() assert pktbuf(pinger).is_empty()
def test_task03(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, port='tap0'), riot_ctrl(1, APP, Shell, port='tap1'), ) _, pinged_addr = lladdr(pinged.ifconfig_list()) assert pinged_addr.startswith("fe80::") res = ping6(pinger, pinged_addr, count=3600, interval=1000, packet_size=1024) assert res['stats']['packet_loss'] < 1 assert pktbuf(pinged).is_empty() assert pktbuf(pinger).is_empty()
def test_task06(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, modules=["gnrc_pktbuf_cmd"]), riot_ctrl(1, APP, Shell, modules=["gnrc_pktbuf_cmd"]), ) pinged_netif, pinged_addr = lladdr(pinged.ifconfig_list()) pinged.ifconfig_set(pinged_netif, "channel", 26) assert pinged_addr.startswith("fe80::") pinger_netif, _ = lladdr(pinger.ifconfig_list()) pinger.ifconfig_set(pinger_netif, "channel", 26) res = ping6(pinger, pinged_addr, count=1000, interval=100, packet_size=100) assert res['stats']['packet_loss'] < 10 assert pktbuf(pinged).is_empty() assert pktbuf(pinger).is_empty()
def test_task02(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, modules=["gnrc_pktbuf_cmd"]), riot_ctrl(1, APP, Shell, modules=["gnrc_pktbuf_cmd"]), ) pinged_netif, pinged_lladdr = lladdr(pinged.ifconfig_list()) pinged.ifconfig_add(pinged_netif, "beef::1/64") pinger_netif, pinger_lladdr = lladdr(pinger.ifconfig_list()) pinger.ifconfig_add(pinger_netif, "affe::1/120") pinged.nib_route_add(pinged_netif, "::", pinger_lladdr) pinger.nib_route_add(pinger_netif, "::", pinged_lladdr) res = ping6(pinger, "beef::1", count=100, interval=300, packet_size=1024) assert res['stats']['packet_loss'] < 10 check_pktbuf(pinged, pinger)
def test_task06(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, port='tap0'), riot_ctrl(1, APP, Shell, port='tap1'), ) _, pinged_addr = lladdr(pinged.ifconfig_list()) assert pinged_addr.startswith("fe80::") res = ping6(pinger, pinged_addr, count=1000, interval=100, packet_size=2048) if 1 <= res['stats']['packet_loss'] < 100: pytest.xfail("1 <= packet_loss < 100; " "this test is prone to fail in CI.") assert res['stats']['packet_loss'] < 1 time.sleep(60) assert pktbuf(pinged).is_empty() assert pktbuf(pinger).is_empty()
def test_task03(riot_ctrl): pinger, pinged = ( riot_ctrl(0, APP, Shell, modules=["gnrc_pktbuf_cmd"], port="tap0"), riot_ctrl(1, APP, Shell, modules=["gnrc_pktbuf_cmd"], port="tap1"), ) pinged_netif, pinged_lladdr = lladdr(pinged.ifconfig_list()) pinged.ifconfig_flag(pinged_netif, "rtr_adv", False) pinged.ifconfig_add(pinged_netif, "beef::1/64") pinger_netif, pinger_lladdr = lladdr(pinger.ifconfig_list()) pinger.ifconfig_flag(pinger_netif, "rtr_adv", False) pinger.ifconfig_add(pinger_netif, "beef::2/64") pinged.nib_route_add(pinged_netif, "beef::/64", pinger_lladdr) pinger.nib_route_add(pinger_netif, "beef::/64", pinged_lladdr) res = ping6(pinger, "beef::1", count=10, interval=10, packet_size=1024) assert res['stats']['packet_loss'] < 1 check_pktbuf(pinged, pinger)
def test_task12(riot_ctrl): try: pinger, pinged = ( riot_ctrl(0, APP, Shell, modules=["gnrc_pktbuf_cmd"]), riot_ctrl(1, APP, Shell, modules=["gnrc_pktbuf_cmd"]), ) except subprocess.CalledProcessError: pytest.xfail( "Experimental task. See also " # pylint: disable=C0301 "https://github.com/RIOT-OS/Release-Specs/pull/198#issuecomment-758522278" # noqa: E501 ) pinged_netif, _ = lladdr(pinged.ifconfig_list()) pinged.ifconfig_set(pinged_netif, "channel", 17) pinger_netif, _ = lladdr(pinger.ifconfig_list()) pinger.ifconfig_set(pinger_netif, "channel", 17) res = ping6(pinger, "ff02::1", count=1000, interval=100, packet_size=50) assert res['stats']['packet_loss'] < 10 check_pktbuf(pinged, pinger)
def test_task01(statically_routed_nodes): pinger = statically_routed_nodes[0] res = ping6(pinger, TO_ADDR, count=100, packet_size=50, interval=100) assert res["stats"]["packet_loss"] < 20 check_pktbuf(*statically_routed_nodes)