blob: 9e6d0a61d4a4a97bd90fb46bb9868ecfe33084d3 [file] [log] [blame]
#!/usr/bin/expect -f
#
# Copyright (c) 2020, The OpenThread Authors.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. Neither the name of the copyright holder nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
source "tests/scripts/expect/_common.exp"
source "tests/scripts/expect/_multinode.exp"
set timeout 3
setup_nodes
set spawn_id $spawn_1
send "dataset active\n"
expect -re {Active Timestamp: \d+}
expect -re {Channel: (\d+)}
set channel $expect_out(1,string)
expect -re {Channel Mask: [0-9a-f]{8}}
expect -re {Ext PAN ID: [0-9a-f]{16}}
expect -re {Mesh Local Prefix: ([0-9a-f]{1,4}:){3}[0-9a-f]{1,4}\/64}
expect -re {Master Key: [0-9a-f]{32}}
expect -re {Network Name: [^\r\n]+}
expect -re {PAN ID: 0x[0-9a-f]{4}}
expect -re {PSKc: [0-9a-f]{32}}
expect -re {Security Policy: \d+, o?n?r?c?b?}
send "dataset pending\n"
expect "Error 23: NotFound"
send "dataset init active\n"
expect "Done"
send "dataset activetimestamp 100\n"
expect "Done"
if {$channel == 11} {
send "dataset channel 18\n"
} else {
send "dataset channel 11\n"
}
expect "Done"
send "dataset channelmask 0x03fff800\n"
expect "Done"
send "dataset extpanid aabbccddeeff0011\n"
expect "Done"
send "dataset masterkey aabbccddeeff00112233445566778899\n"
expect "Done"
send "dataset meshlocalprefix fdde:4860::\n"
expect "Done"
send "dataset networkname OT-network\n"
expect "Done"
send "dataset panid 0xface\n"
expect "Done"
send "dataset pskc 00112233445566778899aabbccddeeff\n"
expect "Done"
send "dataset securitypolicy 678 onrcb\n"
expect "Done"
send "dataset pendingtimestamp 100\n"
expect "Done"
send "dataset delay 30000\n"
expect "Done"
send "dataset commit pending\n"
expect "Done"
send "dataset pending\n"
expect "Pending Timestamp: 100"
expect "Active Timestamp: 100"
if {$channel == 11} {
expect "Channel: 18"
} else {
expect "Channel: 11"
}
expect "Channel Mask: 03fff800"
expect -re {Delay: \d+}
expect "Ext PAN ID: aabbccddeeff0011"
expect "Mesh Local Prefix: fdde:4860:0:0/64"
expect "Master Key: aabbccddeeff00112233445566778899"
expect "Network Name: OT-network"
expect "PAN ID: 0xface"
expect "PSKc: 00112233445566778899aabbccddeeff"
expect "Security Policy: 678, onrcb"
expect "Done"
sleep 30
set spawn_id $spawn_2
wait_for "dataset active" "Active Timestamp: 100"
expect "Done"
send "dataset active\n"
expect "Active Timestamp: 100"
if {$channel == 11} {
expect "Channel: 18"
} else {
expect "Channel: 11"
}
expect "Channel Mask: 03fff800"
expect "Ext PAN ID: aabbccddeeff0011"
expect "Mesh Local Prefix: fdde:4860:0:0/64"
expect "Master Key: aabbccddeeff00112233445566778899"
expect "Network Name: OT-network"
expect "PAN ID: 0xface"
expect "PSKc: 00112233445566778899aabbccddeeff"
expect "Security Policy: 678, onrcb"
expect "Done"
send "dataset clear\n"
expect "Done"
send "dataset init active\n"
expect "Done"
send "dataset\n"
expect "Active Timestamp: 100"
if {$channel == 11} {
expect "Channel: 18"
} else {
expect "Channel: 11"
}
expect "Channel Mask: 03fff800"
expect "Ext PAN ID: aabbccddeeff0011"
expect "Mesh Local Prefix: fdde:4860:0:0/64"
expect "Master Key: aabbccddeeff00112233445566778899"
expect "Network Name: OT-network"
expect "PAN ID: 0xface"
expect "PSKc: 00112233445566778899aabbccddeeff"
expect "Security Policy: 678, onrcb"
expect "Done"
send "dataset init pending\n"
expect "Error 23: NotFound"
send "dataset active binary\n"
expect "dataset active binary"
expect -re {([0-9a-f]+)}
set binary $expect_out(1,string)
expect "Done"
send "dataset set pending $binary\n"
expect "Done"
send "dataset pending binary\n"
expect $binary
expect "Done"
send "dataset set active $binary\n"
expect "Done"
send "help\n"
expect "Done"
dispose_nodes