1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/tests/gnrc_netif2/tests/01-run.py

153 lines
8.7 KiB
Python
Executable File

#!/usr/bin/env python3
# Copyright (C) 2016 Kaspar Schleiser <kaspar@schleiser.de>
# Copyright (C) 2016 Takuo Yonezawa <Yonezawa-T2@mail.dnp.co.jp>
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
import os
import sys
sys.path.append(os.path.join(os.environ['RIOTBASE'], 'dist/tools/testrunner'))
import testrunner
def testfunc(child):
# embUnit tests
child.expect(r"OK \(\d+ tests\)")
# output cross-checked hex data with WireShark -> "Import from Hex Dump..."
# test_netapi_send__raw_unicast_ethernet_packet
child.expect("Sending data from Ethernet device:")
child.expect("00000000 3E E6 B5 0F 19 23 3E E6 B5 22 FD 0A " +
"FF FF 41 42")
child.expect("00000010 43 44 45 46 47 00")
# test_netapi_send__raw_broadcast_ethernet_packet
child.expect("Sending data from Ethernet device:")
child.expect("00000000 FF FF FF FF FF FF 3E E6 B5 22 FD 0A " +
"FF FF 41 42")
child.expect("00000010 43 44 45 46 47 00")
# test_netapi_send__raw_unicast_ieee802154_long_long_packet
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 DC 00 00 00 0B FD 22 19 0F B5 E6 " +
"3E 0A FD 22")
child.expect("00000010 19 0F B5 E6 3E 31 32 33 41 42 43 44 " +
"45 46 47 00")
# test_netapi_send__raw_unicast_ieee802154_long_short_packet
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 D8 01 00 00 0B FD 0A FD 22 19 0F " +
"B5 E6 3E 31")
child.expect("00000010 32 33 41 42 43 44 45 46 47 00")
# test_netapi_send__raw_unicast_ieee802154_short_long_packet1
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 9C 02 00 00 0B FD 22 19 0F B5 E6 " +
"3E 0A FD 31")
child.expect("00000010 32 33 41 42 43 44 45 46 47 00")
# test_netapi_send__raw_unicast_ieee802154_short_long_packet2
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 9C 03 00 00 0B FD 22 19 0F B5 E6 " +
"3E 0A FD 31")
child.expect("00000010 32 33 41 42 43 44 45 46 47 00")
# test_netapi_send__raw_unicast_ieee802154_short_short_packet
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 98 04 00 00 0B FD 0A FD 31 32 33 " +
"41 42 43 44")
child.expect("00000010 45 46 47 00")
# test_netapi_send__raw_broadcast_ieee802154_long_packet
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 D8 05 00 00 FF FF 0A FD 22 19 0F " +
"B5 E6 3E 31")
child.expect("00000010 32 33 41 42 43 44 45 46 47 00")
# test_netapi_send__raw_broadcast_ieee802154_short_packet
child.expect(r"Sending data from IEEE 802\.15\.4 device:")
child.expect("00000000 41 98 06 00 00 FF FF 0A FD 31 32 33 " +
"41 42 43 44")
child.expect("00000010 45 46 47 00")
# test_netapi_send__ipv6_unicast_ethernet_packet
child.expect("Sending data from Ethernet device:")
child.expect("00000000 3E E6 B5 0F 19 23 3E E6 B5 22 FD 0A 86 DD 60 00")
child.expect("00000010 00 00 00 08 3B 40 FE 80 00 00 00 00 00 00 3C E6")
child.expect("00000020 B5 FF FE 22 FD 0A FE 80 00 00 00 00 00 00 3C E6")
child.expect("00000030 B5 FF FE 0F 19 23 41 42 43 44 45 46 47 00")
# test_netapi_send__ipv6_multicast_ethernet_packet
child.expect("Sending data from Ethernet device:")
child.expect("00000000 33 33 00 00 00 01 3E E6 B5 22 FD 0A 86 DD 60 00")
child.expect("00000010 00 00 00 08 3B 40 FE 80 00 00 00 00 00 00 3C E6")
child.expect("00000020 B5 FF FE 22 FD 0A FF 02 00 00 00 00 00 00 00 00")
child.expect("00000030 00 00 00 00 00 01 41 42 43 44 45 46 47 00")
# test_netapi_send__ipv6_unicast_ieee802154_packet
child.expect("Sending data from IEEE 802.15.4 device:")
child.expect("00000000 41 DC 07 00 00 0B FD 22 19 0F B5 E6 3E 0A FD 22")
child.expect("00000010 19 0F B5 E6 3E 60 00 00 00 00 08 3B 40 FE 80 00")
child.expect("00000020 00 00 00 00 00 3C E6 B5 0F 19 22 FD 0A FE 80 00")
child.expect("00000030 00 00 00 00 00 3C E6 B5 FF FE 0F 19 23 41 42 43")
child.expect("00000040 44 45 46 47 00")
# test_netapi_send__ipv6_multicast_ieee802154_packet
child.expect("Sending data from IEEE 802.15.4 device:")
child.expect("00000000 41 D8 08 00 00 FF FF 0A FD 22 19 0F B5 E6 3E 60")
child.expect("00000010 00 00 00 00 08 3B 40 FE 80 00 00 00 00 00 00 3C")
child.expect("00000020 E6 B5 0F 19 22 FD 0A FF 02 00 00 00 00 00 00 00")
child.expect("00000030 00 00 00 00 00 00 01 41 42 43 44 45 46 47 00")
# test_netapi_recv__empty_ethernet_payload
child.expect("pktdump dumping Ethernet packet with empty payload")
child.expect("PKTDUMP: data received:")
child.expect(r"~~ SNIP 0 - size: 0 byte, type: NETTYPE_UNDEF \(0\)")
child.expect(r"00000000~~ SNIP 1 - size: 20 byte, type: NETTYPE_NETIF \(-1\)")
child.expect(r"if_pid: \d+ rssi: \d+ lqi: \d+")
child.expect("flags: 0x0")
child.expect("src_l2addr: 3e:e6:b5:22:fd:0b")
child.expect("dst_l2addr: 3e:e6:b5:22:fd:0a")
child.expect("~~ PKT - 2 snips, total size: 20 byte")
# test_netapi_recv__empty_ieee802154_payload
child.expect(r"pktdump dumping IEEE 802\.15\.4 packet with empty payload")
child.expect("PKTDUMP: data received:")
child.expect(r"~~ SNIP 0 - size: 0 byte, type: NETTYPE_UNDEF \(0\)")
child.expect(r"00000000~~ SNIP 1 - size: 24 byte, type: NETTYPE_NETIF \(-1\)")
child.expect(r"if_pid: \d+ rssi: \d+ lqi: \d+")
child.expect("flags: 0x0")
child.expect("src_l2addr: 3e:e6:b5:0f:19:22:fd:0b")
child.expect("dst_l2addr: 3e:e6:b5:0f:19:22:fd:0a")
child.expect("~~ PKT - 2 snips, total size: 24 byte")
# test_netapi_recv__raw_ethernet_payload
child.expect("pktdump dumping Ethernet packet with payload 12 34 45 56")
child.expect("PKTDUMP: data received:")
child.expect(r"~~ SNIP 0 - size: 4 byte, type: NETTYPE_UNDEF \(0\)")
child.expect("00000000 12 34 45 56")
child.expect(r"~~ SNIP 1 - size: 20 byte, type: NETTYPE_NETIF \(-1\)")
child.expect(r"if_pid: \d+ rssi: \d+ lqi: \d+")
child.expect("flags: 0x0")
child.expect("src_l2addr: 3e:e6:b5:22:fd:0b")
child.expect("dst_l2addr: 3e:e6:b5:22:fd:0a")
child.expect("~~ PKT - 2 snips, total size: 24 byte")
# test_netapi_recv__raw_ieee802154_payload
child.expect(r"pktdump dumping IEEE 802\.15\.4 packet with payload 12 34 45 56")
child.expect("PKTDUMP: data received:")
child.expect(r"~~ SNIP 0 - size: 4 byte, type: NETTYPE_UNDEF \(0\)")
child.expect("00000000 12 34 45 56")
child.expect(r"~~ SNIP 1 - size: 24 byte, type: NETTYPE_NETIF \(-1\)")
child.expect(r"if_pid: \d+ rssi: \d+ lqi: \d+")
child.expect("flags: 0x0")
child.expect("src_l2addr: 3e:e6:b5:0f:19:22:fd:0b")
child.expect("dst_l2addr: 3e:e6:b5:0f:19:22:fd:0a")
child.expect("~~ PKT - 2 snips, total size: 28 byte")
# test_netapi_recv__ipv6_ethernet_payload
child.expect("pktdump dumping IPv6 over Ethernet packet with payload 01")
child.expect("PKTDUMP: data received:")
# payload not dumped because not parsed yet, but header looks okay, so let's
# assume the payload is as well
child.expect(r"~~ SNIP 0 - size: 41 byte, type: NETTYPE_IPV6 \(2\)")
child.expect(r"traffic class: 0x00 \(ECN: 0x0, DSCP: 0x00\)")
child.expect("flow label: 0x00000")
child.expect("length: 1 next header: 59 hop limit: 64")
child.expect("source address: fe80::3fe6:b5ff:fe22:fd0a")
child.expect("destination address: fe80::3fe6:b5ff:fe22:fd0b")
child.expect(r"~~ SNIP 1 - size: 20 byte, type: NETTYPE_NETIF \(-1\)")
child.expect(r"if_pid: \d+ rssi: \d+ lqi: \d+")
child.expect("flags: 0x0")
child.expect("src_l2addr: 3e:e6:b5:22:fd:0b")
child.expect("dst_l2addr: 3e:e6:b5:22:fd:0a")
child.expect("~~ PKT - 2 snips, total size: 61 byte")
if __name__ == "__main__":
sys.exit(testrunner.run(testfunc, timeout=1, traceback=True))