mirror of
https://github.com/espressif/openthread.git
synced 2026-07-10 14:20:29 +00:00
a69c2db333
This commit updates CommissionerIdTlv to be defined as `StringTlvInfo` (a TLV with a UTF-8 string value with a specified maximum length). This allows us to use `Tlv` helper methods to `Find` and `Append` this TLV, simplifying the code. This commit also adds a helper `StringCopy()` method that copies a C string into a given target string buffer array if it fits in the array. This method can also optionally perform an encoding check on the string, such as a UTF-8 encoding check. This helper method is used to simplify setting different strings, such as Commissioner ID, Provisioning URL, Vendor Name, etc.
106 lines
3.8 KiB
Plaintext
Executable File
106 lines
3.8 KiB
Plaintext
Executable File
#!/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"
|
|
|
|
setup_two_nodes
|
|
|
|
set eui64 "d45e64fa83f81cf7"
|
|
switch_node 1
|
|
send "commissioner joiner add $eui64 J01NME\n"
|
|
expect_line "Done"
|
|
wait_for "netdata steeringdata check $eui64" "Done"
|
|
send "commissioner joiner remove $eui64\n"
|
|
expect_line "Done"
|
|
wait_for "netdata steeringdata check $eui64" "NotFound"
|
|
|
|
# Stop commissioner so node 2 can start a new one with different id
|
|
send "commissioner stop\n"
|
|
expect "Done"
|
|
|
|
switch_node 2
|
|
send "commissioner state\n"
|
|
expect "disabled"
|
|
expect_line "Done"
|
|
send "commissioner id\n"
|
|
expect "OpenThread Commissioner"
|
|
expect_line "Done"
|
|
send "commissioner id 12345678901234567890123456789012345678901234567890123456789012345\n"
|
|
expect "Error 7: InvalidArgs"
|
|
send "commissioner id 1234567890123456789012345678901234567890123456789012345678901234\n"
|
|
expect "Done"
|
|
send "commissioner id customId\n"
|
|
expect "Done"
|
|
send "commissioner id\n"
|
|
expect "customId"
|
|
expect_line "Done"
|
|
send "commissioner start\n"
|
|
expect_line "Done"
|
|
expect "Commissioner: active"
|
|
send "commissioner state\n"
|
|
expect "active"
|
|
expect_line "Done"
|
|
send "commissioner id AnotherCustomId\n"
|
|
expect_line "Error 13: InvalidState"
|
|
send "commissioner provisioningurl openthread.io\n"
|
|
expect_line "Done"
|
|
send "commissioner joiner add * J01NME 1\n"
|
|
expect_line "Done"
|
|
send "commissioner joiner remove *\n"
|
|
expect_line "Done"
|
|
send "commissioner sessionid\n"
|
|
expect "commissioner sessionid"
|
|
expect -re {(\d+)}
|
|
set sessionid $expect_out(1,string)
|
|
send "commissioner mgmtset sessionid $sessionid steeringdata ffffffff joinerudpport 10001\n"
|
|
expect_line "Done"
|
|
send "commissioner mgmtset sessionid $sessionid locator 0x0100\n"
|
|
expect_line "Done"
|
|
send "commissioner mgmtget sessionid steeringdata joinerudpport locator -x 0b081209\n"
|
|
expect_line "Done"
|
|
send "commissioner stop\n"
|
|
expect "Commissioner: disabled"
|
|
expect_line "Done"
|
|
send "commissioner state\n"
|
|
expect "disabled"
|
|
expect_line "Done"
|
|
send "commissioner help\n"
|
|
expect_line "Done"
|
|
send "commissioner joiner something_invalid\n"
|
|
expect "Error 7: InvalidArgs"
|
|
send "commissioner mgmtget something_invalid\n"
|
|
expect "Error 7: InvalidArgs"
|
|
send "commissioner mgmtset something_invalid\n"
|
|
expect "Error 7: InvalidArgs"
|
|
send "commissioner\n"
|
|
expect "Error 35: InvalidCommand"
|
|
|
|
dispose_all
|