149de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum#!/usr/bin/env bash 249de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 349de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumcd "`dirname $0`" 449de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 549de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumdie () { 649de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum set +x # Turn off printing commands 749de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum echo "" 849de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum echo " *** fatal error: $*" 949de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum exit 1 1049de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum} 1149de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 1249de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumif [ -z $ANDROID_BUILD_TOP ]; then 1349de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum echo "You need to source and lunch before you can use this script" 1449de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum exit 1 1549de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumfi 1649de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 1758d298af70cb586b005bcbcaf5a4bd6ea4439852Robert Quattlebaumadb wait-for-device || die 1849de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 1958d298af70cb586b005bcbcaf5a4bd6ea4439852Robert Quattlebaumecho "Running form command test. . ." 2049de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumsleep 2 2149de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 2258d298af70cb586b005bcbcaf5a4bd6ea4439852Robert Quattlebaum# Clobber any existing instance of wpantund 2349de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumadb shell killall wpantund 2> /dev/null 2449de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 2558d298af70cb586b005bcbcaf5a4bd6ea4439852Robert Quattlebaum# Start wpantund 2603e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell wpantund -I wpan5 -s 'system:ot-ncp\ 1' -o Config:Daemon:ExternalNetifManagement 1 &" 2703e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell wpantund -I wpan5 -s 'system:ot-ncp\ 1' -o Config:Daemon:ExternalNetifManagement 1 & 2849de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert QuattlebaumWPANTUND_PID=$! 2949de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumtrap "kill -HUP $WPANTUND_PID 2> /dev/null" EXIT INT TERM 3049de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 3158d298af70cb586b005bcbcaf5a4bd6ea4439852Robert Quattlebaum# Verify wpantund started properly 3249de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumsleep 2 3349de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumkill -0 $WPANTUND_PID || die "wpantund failed to start" 3449de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaumsleep 2 3549de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 3603e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell lowpanctl -I wpan5 status" 3703e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell lowpanctl -I wpan5 status || die 3803e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell lowpanctl -I wpan5 form blahnet" 3903e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell lowpanctl -I wpan5 form blahnet || die 4003e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell lowpanctl -I wpan5 status" 4103e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell lowpanctl -I wpan5 status || die 4203e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell ifconfig wpan5" 4303e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell ifconfig wpan5 || die 4403e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell dumpsys netd" 4503e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell dumpsys netd || die 4603e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell ip -6 rule" 4703e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell ip -6 rule || die 4803e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumecho "+ adb shell ip -6 route list table wpan5" 4903e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumadb shell ip -6 route list table wpan5 || die 5003e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaum 5103e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumif [ "shell" = "$1" ] 5203e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumthen 5303e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaum echo "+ adb shell" 5403e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaum adb shell 5503e6a13b4724c0a7fffcb50a9f65ec9b6f16eb1aRobert Quattlebaumfi 5649de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 5758d298af70cb586b005bcbcaf5a4bd6ea4439852Robert Quattlebaumecho "Finished form command test." 5849de520a96e39d96e2fdc041b2feaddaab8ee1d5Robert Quattlebaum 59