Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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()
Ejemplo n.º 4
0
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()
Ejemplo n.º 5
0
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()
Ejemplo n.º 6
0
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()
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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()
Ejemplo n.º 9
0
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()
Ejemplo n.º 10
0
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()
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
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()
Ejemplo n.º 13
0
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)
Ejemplo n.º 14
0
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)
Ejemplo n.º 15
0
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)