tests: preflight script to grab host IP address
This commit is contained in:
parent
2f0cbfcb32
commit
9e5b352836
|
@ -0,0 +1,31 @@
|
||||||
|
#!/usr/bin/env expect
|
||||||
|
|
||||||
|
log_file -noappend -a "/dev/fd/2"
|
||||||
|
log_user 0
|
||||||
|
|
||||||
|
# Boot a NodeMCU device, connect it to the network, and try to extract the
|
||||||
|
# host's IP address to use when listening for this endpoint.
|
||||||
|
|
||||||
|
package require expectnmcu::core
|
||||||
|
package require expectnmcu::net
|
||||||
|
|
||||||
|
package require cmdline
|
||||||
|
set cmd_parameters {
|
||||||
|
{ serial.arg "/dev/ttyUSB0" "Set the serial interface name" }
|
||||||
|
{ wifi.arg "" "Command to run to bring up the network" }
|
||||||
|
}
|
||||||
|
set cmd_usage "- Figure out the host IP to use for a NodeMCU DUT"
|
||||||
|
if {[catch {array set cmdopts [cmdline::getoptions ::argv $cmd_parameters $cmd_usage]}]} {
|
||||||
|
send_user [cmdline::usage $cmd_parameters $cmd_usage]
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
set victim [::expectnmcu::core::connect ${cmdopts(serial)}]
|
||||||
|
if {0 < [string length ${cmdopts(wifi)}]} {
|
||||||
|
::expectnmcu::core::send_exp_prompt ${victim} ${cmdopts(wifi)}
|
||||||
|
}
|
||||||
|
set myip [::expectnmcu::net::guessmyip [::expectnmcu::net::waitwifista ${victim}]]
|
||||||
|
|
||||||
|
log_file
|
||||||
|
send_user ${myip}
|
Loading…
Reference in New Issue