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