1#!/usr/bin/env bash
2
3cd "`dirname $0`"
4
5die () {
6	set +x # Turn off printing commands
7	echo ""
8	echo " *** fatal error: $*"
9	exit 1
10}
11
12if [ -z $ANDROID_BUILD_TOP ]; then
13  echo "You need to source and lunch before you can use this script"
14  exit 1
15fi
16
17adb wait-for-device || die
18
19echo "Running form command test. . ."
20sleep 2
21
22# Clobber any existing instance of wpantund
23adb shell killall wpantund 2> /dev/null
24
25# Start wpantund
26echo "+ adb shell wpantund -I wpan5 -s 'system:ot-ncp\ 1' -o Config:Daemon:ExternalNetifManagement 1 &"
27adb shell wpantund -I wpan5 -s 'system:ot-ncp\ 1' -o Config:Daemon:ExternalNetifManagement 1 &
28WPANTUND_PID=$!
29trap "kill -HUP $WPANTUND_PID 2> /dev/null" EXIT INT TERM
30
31# Verify wpantund started properly
32sleep 2
33kill -0 $WPANTUND_PID || die "wpantund failed to start"
34sleep 2
35
36echo "+ adb shell lowpanctl -I wpan5 status"
37adb shell lowpanctl -I wpan5 status || die
38echo "+ adb shell lowpanctl -I wpan5 form blahnet"
39adb shell lowpanctl -I wpan5 form blahnet || die
40echo "+ adb shell lowpanctl -I wpan5 status"
41adb shell lowpanctl -I wpan5 status || die
42echo "+ adb shell ifconfig wpan5"
43adb shell ifconfig wpan5 || die
44echo "+ adb shell dumpsys netd"
45adb shell dumpsys netd || die
46echo "+ adb shell ip -6 rule"
47adb shell ip -6 rule || die
48echo "+ adb shell ip -6 route list table wpan5"
49adb shell ip -6 route list table wpan5 || die
50
51if [ "shell" = "$1" ]
52then
53	echo "+ adb shell"
54	adb shell
55fi
56
57echo "Finished form command test."
58
59