1#!/usr/bin/expect -f 2# 3# Copyright (c) 2020, The OpenThread Authors. 4# All rights reserved. 5# 6# Redistribution and use in source and binary forms, with or without 7# modification, are permitted provided that the following conditions are met: 8# 1. Redistributions of source code must retain the above copyright 9# notice, this list of conditions and the following disclaimer. 10# 2. Redistributions in binary form must reproduce the above copyright 11# notice, this list of conditions and the following disclaimer in the 12# documentation and/or other materials provided with the distribution. 13# 3. Neither the name of the copyright holder nor the 14# names of its contributors may be used to endorse or promote products 15# derived from this software without specific prior written permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 21# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27# POSSIBILITY OF SUCH DAMAGE. 28# 29 30source "tests/scripts/expect/_common.exp" 31 32spawn_node 1 33 34send "macfilter\n" 35expect "Address Mode: Disabled" 36expect "RssIn List:" 37expect_line "Done" 38 39send "macfilter addr add aabbccddeeff0011\n" 40expect_line "Done" 41 42send "macfilter addr\n" 43expect "Disabled" 44expect "aabbccddeeff0011" 45expect_line "Done" 46 47send "macfilter addr allowlist\n" 48expect_line "Done" 49 50send "macfilter addr\n" 51expect "Allowlist" 52expect "aabbccddeeff0011" 53expect_line "Done" 54 55send "macfilter\n" 56expect "Address Mode: Allowlist" 57expect "aabbccddeeff0011" 58expect "RssIn List:" 59expect_line "Done" 60 61send "macfilter addr add 2233445566778899\n" 62expect_line "Done" 63 64send "macfilter addr remove aabbccddeeff0011\n" 65expect_line "Done" 66 67send "macfilter addr denylist\n" 68expect_line "Done" 69 70send "macfilter addr\n" 71expect "Denylist" 72expect "2233445566778899" 73expect_line "Done" 74 75send "macfilter\n" 76expect "Address Mode: Denylist" 77expect "2233445566778899" 78expect "RssIn List:" 79expect_line "Done" 80 81send "macfilter addr clear\n" 82expect_line "Done" 83 84send "macfilter addr disable\n" 85expect_line "Done" 86 87send "macfilter addr\n" 88expect "Disabled" 89expect_line "Done" 90 91send "macfilter\n" 92expect "Address Mode: Disabled" 93expect "RssIn List:" 94expect_line "Done" 95 96send "macfilter addr something_invalid\n" 97expect "Error 35: InvalidCommand" 98 99send "macfilter rss\n" 100expect_line "Done" 101 102send "macfilter rss add-lqi * 2\n" 103expect_line "Done" 104 105send "macfilter rss add-lqi aabbccddeeff0011 3\n" 106expect_line "Done" 107 108send "macfilter rss\n" 109expect -re {aabbccddeeff0011 : rss -?\d+ \(lqi 3\)} 110expect -re {Default rss: -?\d+ \(lqi 2\)} 111expect_line "Done" 112 113send "macfilter\n" 114expect "Address Mode: Disabled" 115expect "RssIn List:" 116expect -re {aabbccddeeff0011 : rss -?\d+ \(lqi 3\)} 117expect -re {Default rss: -?\d+ \(lqi 2\)} 118expect_line "Done" 119 120send "macfilter rss remove *\n" 121expect_line "Done" 122 123send "macfilter rss remove aabbccddeeff0011\n" 124expect_line "Done" 125 126send "macfilter rss add 2233445566778899 -70\n" 127expect_line "Done" 128 129send "macfilter rss add * -80\n" 130expect_line "Done" 131 132send "macfilter rss\n" 133expect -re {2233445566778899 : rss -70 \(lqi \d\)} 134expect -re {Default rss: -80 \(lqi \d\)} 135expect_line "Done" 136 137send "macfilter rss clear\n" 138expect_line "Done" 139 140send "macfilter rss something_invalid\n" 141expect "Error 35: InvalidCommand" 142 143dispose_all 144