[github-actions] fix expects fail by chance (#5157)

This commit tries to reduce expects fails in GitHub actions:
- wait_for only sends command when it's not empty
- increases the default expect timeout from 1s to 3s.
diff --git a/tests/scripts/expect/_common.exp b/tests/scripts/expect/_common.exp
index f95772d..a8c8564 100644
--- a/tests/scripts/expect/_common.exp
+++ b/tests/scripts/expect/_common.exp
@@ -30,7 +30,10 @@
 proc wait_for {command expected} {
     set result 0
     for {set i 0} {$i < 20} {incr i} {
-        send "$command\n"
+        if {$command != ""} {
+            send "$command\n"
+        }
+
         expect {
             -re $expected {
                 set result 1
diff --git a/tests/scripts/expect/cli-channel.exp b/tests/scripts/expect/cli-channel.exp
index aba24ad..3f0be1f 100755
--- a/tests/scripts/expect/cli-channel.exp
+++ b/tests/scripts/expect/cli-channel.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "ifconfig up\n"
 expect "Done"
diff --git a/tests/scripts/expect/cli-child.exp b/tests/scripts/expect/cli-child.exp
index e49165c..79dcb81 100755
--- a/tests/scripts/expect/cli-child.exp
+++ b/tests/scripts/expect/cli-child.exp
@@ -29,7 +29,7 @@
 
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id $spawn_2
diff --git a/tests/scripts/expect/cli-childip.exp b/tests/scripts/expect/cli-childip.exp
index 52f9935..10e5b52 100755
--- a/tests/scripts/expect/cli-childip.exp
+++ b/tests/scripts/expect/cli-childip.exp
@@ -29,7 +29,7 @@
 
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id $spawn_2
diff --git a/tests/scripts/expect/cli-coex.exp b/tests/scripts/expect/cli-coex.exp
index adafc03..3c3435e 100755
--- a/tests/scripts/expect/cli-coex.exp
+++ b/tests/scripts/expect/cli-coex.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "coex disable\n"
 expect "Done"
diff --git a/tests/scripts/expect/cli-counters.exp b/tests/scripts/expect/cli-counters.exp
index b3423f0..ffb85a8 100755
--- a/tests/scripts/expect/cli-counters.exp
+++ b/tests/scripts/expect/cli-counters.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "counters\n"
 expect "mac"
diff --git a/tests/scripts/expect/cli-dataset.exp b/tests/scripts/expect/cli-dataset.exp
index 7a213c6..9e6d0a6 100755
--- a/tests/scripts/expect/cli-dataset.exp
+++ b/tests/scripts/expect/cli-dataset.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id $spawn_1
diff --git a/tests/scripts/expect/cli-extaddr.exp b/tests/scripts/expect/cli-extaddr.exp
index 1cc812f..9d0261e 100755
--- a/tests/scripts/expect/cli-extaddr.exp
+++ b/tests/scripts/expect/cli-extaddr.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "extaddr 99aabbccddeeff00\n"
 expect "Done"
diff --git a/tests/scripts/expect/cli-ipmaddr.exp b/tests/scripts/expect/cli-ipmaddr.exp
index 62e9707..6bb1faa 100755
--- a/tests/scripts/expect/cli-ipmaddr.exp
+++ b/tests/scripts/expect/cli-ipmaddr.exp
@@ -29,7 +29,7 @@
 
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id $spawn_1
diff --git a/tests/scripts/expect/cli-log-level.exp b/tests/scripts/expect/cli-log-level.exp
index 8e3c903..642f12b 100755
--- a/tests/scripts/expect/cli-log-level.exp
+++ b/tests/scripts/expect/cli-log-level.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "log level\n"
 expect "1"
diff --git a/tests/scripts/expect/cli-mac.exp b/tests/scripts/expect/cli-mac.exp
index f519131..2f1afac 100755
--- a/tests/scripts/expect/cli-mac.exp
+++ b/tests/scripts/expect/cli-mac.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "mac retries direct 5\n"
 expect "Done"
diff --git a/tests/scripts/expect/cli-macfilter.exp b/tests/scripts/expect/cli-macfilter.exp
index dd2d25c..0344e5b 100755
--- a/tests/scripts/expect/cli-macfilter.exp
+++ b/tests/scripts/expect/cli-macfilter.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "macfilter\n"
 expect "Address Mode: Disabled"
diff --git a/tests/scripts/expect/cli-misc.exp b/tests/scripts/expect/cli-misc.exp
index 495bc17..2f18cca 100755
--- a/tests/scripts/expect/cli-misc.exp
+++ b/tests/scripts/expect/cli-misc.exp
@@ -29,7 +29,7 @@
 
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 set spawn_id $spawn_1
 
diff --git a/tests/scripts/expect/cli-neighbor.exp b/tests/scripts/expect/cli-neighbor.exp
index 4f28903..62643f7 100755
--- a/tests/scripts/expect/cli-neighbor.exp
+++ b/tests/scripts/expect/cli-neighbor.exp
@@ -29,7 +29,7 @@
 
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id $spawn_2
diff --git a/tests/scripts/expect/cli-ping.exp b/tests/scripts/expect/cli-ping.exp
index a738c9f..53271d2 100755
--- a/tests/scripts/expect/cli-ping.exp
+++ b/tests/scripts/expect/cli-ping.exp
@@ -31,7 +31,7 @@
 source "tests/scripts/expect/_multinode.exp"
 
 
-set timeout 1
+set timeout 3
 
 
 set spawn_id [spawn_node 1]
diff --git a/tests/scripts/expect/cli-promiscuous.exp b/tests/scripts/expect/cli-promiscuous.exp
index 3ab35f2..18e1f6b 100755
--- a/tests/scripts/expect/cli-promiscuous.exp
+++ b/tests/scripts/expect/cli-promiscuous.exp
@@ -31,7 +31,7 @@
 source "tests/scripts/expect/_multinode.exp"
 
 
-set timeout 1
+set timeout 3
 
 
 set spawn_id [spawn_node 1]
diff --git a/tests/scripts/expect/cli-pskc.exp b/tests/scripts/expect/cli-pskc.exp
index e12528d..b38fb17 100755
--- a/tests/scripts/expect/cli-pskc.exp
+++ b/tests/scripts/expect/cli-pskc.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "pskc 00112233445566778899aabbccddeeff\n"
 expect "Done"
diff --git a/tests/scripts/expect/cli-router.exp b/tests/scripts/expect/cli-router.exp
index 4a0d6e6..2eb347b 100755
--- a/tests/scripts/expect/cli-router.exp
+++ b/tests/scripts/expect/cli-router.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id $spawn_1
diff --git a/tests/scripts/expect/cli-routereligible.exp b/tests/scripts/expect/cli-routereligible.exp
index 0fc6d51..619fbc1 100755
--- a/tests/scripts/expect/cli-routereligible.exp
+++ b/tests/scripts/expect/cli-routereligible.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 set spawn_id [spawn_node 1]
-set timeout 1
+set timeout 3
 
 send "routereligible disable\n"
 expect "Done"
diff --git a/tests/scripts/expect/cli-scan-discover.exp b/tests/scripts/expect/cli-scan-discover.exp
index a605e82..031f582 100755
--- a/tests/scripts/expect/cli-scan-discover.exp
+++ b/tests/scripts/expect/cli-scan-discover.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 source "tests/scripts/expect/_multinode.exp"
 
-set timeout 1
+set timeout 3
 setup_nodes
 
 set spawn_id [spawn_node 3]
diff --git a/tests/scripts/expect/posix-diag-rcp.exp b/tests/scripts/expect/posix-diag-rcp.exp
index 2b26ee3..ed98e8f 100755
--- a/tests/scripts/expect/posix-diag-rcp.exp
+++ b/tests/scripts/expect/posix-diag-rcp.exp
@@ -28,7 +28,7 @@
 #
 
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
diff --git a/tests/scripts/expect/posix-max-power-table.exp b/tests/scripts/expect/posix-max-power-table.exp
index 6971830..249b87d 100755
--- a/tests/scripts/expect/posix-max-power-table.exp
+++ b/tests/scripts/expect/posix-max-power-table.exp
@@ -29,7 +29,7 @@
 
 # allows 11-25 and forbidden 26
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?max-power-table=11,12,13,14,15,16,17,18,19,20,21,22,23,24,-1,0x7f&forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
@@ -43,7 +43,7 @@
 expect eof
 # allows all channels by default
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
diff --git a/tests/scripts/expect/posix-rcp.exp b/tests/scripts/expect/posix-rcp.exp
index 41e9c38..c753ed7 100755
--- a/tests/scripts/expect/posix-rcp.exp
+++ b/tests/scripts/expect/posix-rcp.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
diff --git a/tests/scripts/expect/posix-scan-tx-to-sleep.exp b/tests/scripts/expect/posix-scan-tx-to-sleep.exp
index d93563b..eba0181 100755
--- a/tests/scripts/expect/posix-scan-tx-to-sleep.exp
+++ b/tests/scripts/expect/posix-scan-tx-to-sleep.exp
@@ -29,7 +29,7 @@
 
 source "tests/scripts/expect/_common.exp"
 
-set timeout 1
+set timeout 3
 
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=--sleep-to-tx 1"
 set node_1 $spawn_id
diff --git a/tests/scripts/expect/tun-dns-client.exp b/tests/scripts/expect/tun-dns-client.exp
index f756888..0fddf1e 100755
--- a/tests/scripts/expect/tun-dns-client.exp
+++ b/tests/scripts/expect/tun-dns-client.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
@@ -44,7 +44,6 @@
 wait_for "state" "leader"
 expect "Done"
 
-set timeout 2
 send "dns resolve ipv6.google.com ::1 53\n"
 expect "DNS response for ipv6.google.com"
 expect "Done"
diff --git a/tests/scripts/expect/tun-netif.exp b/tests/scripts/expect/tun-netif.exp
index dfcf966..1e27a25 100755
--- a/tests/scripts/expect/tun-netif.exp
+++ b/tests/scripts/expect/tun-netif.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
diff --git a/tests/scripts/expect/tun-sntp.exp b/tests/scripts/expect/tun-sntp.exp
index ba73ae8..be18249 100755
--- a/tests/scripts/expect/tun-sntp.exp
+++ b/tests/scripts/expect/tun-sntp.exp
@@ -30,7 +30,7 @@
 source "tests/scripts/expect/_common.exp"
 
 spawn $env(OT_COMMAND) "spinel+hdlc+uart://$env(RCP_COMMAND)?forkpty-arg=1"
-set timeout 1
+set timeout 3
 expect_after {
     timeout { exit 1 }
 }
@@ -44,7 +44,6 @@
 wait_for "state" "leader"
 expect "Done"
 
-set timeout 2
 send "sntp query ::1 123\n"
 expect -re {SNTP response - Unix time: \d+ \(era: \d+\)}
 expect "Done"