[test] add expect tests for pcap receiving (#5043)

This adds expect tests for testing the pcap receiving function of
promiscuous mode. Also makes otLinkSetPromiscuous be called before
otLinkSetPcapCallback so that the callback won't be set when
promiscuous mode fails to start.
This commit is contained in:
Moandor
2020-06-03 22:11:14 -07:00
committed by GitHub
parent 201b7b1a3d
commit ea7c76cc4b
2 changed files with 21 additions and 5 deletions
+20 -4
View File
@@ -53,11 +53,10 @@ proc wait_for {command expected} {
set timeout 1
spawn $env(OT_COMMAND) 1
set spawn_1 $spawn_id
expect_after {
timeout { exit 1 }
}
spawn $env(OT_COMMAND) 2
set spawn_2 $spawn_id
spawn $env(OT_COMMAND) 3
set spawn_3 $spawn_id
expect_after {
timeout { exit 1 }
}
@@ -84,6 +83,10 @@ expect "Done"
expect "Commissioner: active"
send "commissioner joiner add $eui64 $psk\n"
expect "Done"
send "channel\n"
expect -re {(\d+)}
set channel $expect_out(1,string)
expect "Done"
set spawn_id $spawn_2
send "mode rs\n"
@@ -97,6 +100,12 @@ send "thread start\n"
expect "Done"
wait_for "state" "child"
set spawn_id $spawn_3
send "channel $channel\n"
expect "Done"
send "promiscuous enable\n"
expect "Done"
# ping
set spawn_id $spawn_2
@@ -107,12 +116,19 @@ set addr $expect_out(1,string)
set spawn_id $spawn_1
send "ping $addr\n"
expect "16 bytes from $addr: icmp_seq=1"
send "ping $addr 20 10 0.123456 255\n"
send "ping $addr 20 10 0.00123456 255\n"
for {set i 2} {$i <= 11} {incr i} {
expect "28 bytes from $addr: icmp_seq=$i"
}
# pcap receive
set spawn_id $spawn_3
expect -re {={44}\[len =\s+\d+]={28}}
expect -re {\|( ([0-9A-Z]{2}|\.\.)){16}\|( .){16}\|}
expect -re {-{83}}
# child
set spawn_id $spawn_2
send "extaddr\n"