autotest scripts for Sony Experia M4
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
import time
|
||||
import serial
|
||||
import os
|
||||
from pyroute2 import IPRoute
|
||||
import sys
|
||||
import re
|
||||
import threading
|
||||
import signal
|
||||
import traceback
|
||||
import os
|
||||
import commands
|
||||
|
||||
# Find a device ID by running sudo adb devices
|
||||
# The device ID below is for Sony Xperia M4
|
||||
|
||||
device_id='YT9115PX1E'
|
||||
|
||||
|
||||
openair_dir = os.environ.get('OPENAIR_DIR')
|
||||
if openair_dir == None:
|
||||
print "Error getting OPENAIR_DIR environment variable"
|
||||
sys.exit(1)
|
||||
|
||||
sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/'))
|
||||
|
||||
from lib_autotest import *
|
||||
|
||||
def signal_handler(signal, frame):
|
||||
print('You pressed Ctrl+C!')
|
||||
print('Resetting the UE to detached state')
|
||||
timeout=10
|
||||
exit_flag=1
|
||||
sys.exit(0)
|
||||
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
|
||||
# Find all the process IDs in a phone given the name of process
|
||||
def kill_processes(name):
|
||||
print " Killing all processes by name..." + name
|
||||
while 1:
|
||||
cmd = 'sudo adb -s ' + device_id +' shell "ps |grep ' + name + '"'
|
||||
status, out = commands.getstatusoutput(cmd)
|
||||
if status != 0:
|
||||
print "Error execting command to kill process " + name
|
||||
sys.exit(1)
|
||||
print "Out = " + out
|
||||
if out=='':
|
||||
break;
|
||||
out_arr = out.split()
|
||||
pid_to_kill = out_arr[1]
|
||||
print "Now killing process ID" + pid_to_kill + " on Phone"
|
||||
cmd = 'sudo adb -s ' + device_id +' shell "kill ' + pid_to_kill + '"'
|
||||
status, out = commands.getstatusoutput(cmd)
|
||||
if status != 0:
|
||||
print "Error execting command to kill process " + name
|
||||
sys.exit(1)
|
||||
print "Out = " + out
|
||||
|
||||
def start_ue () :
|
||||
#print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
|
||||
print 'Killing old iperf/ping sessions'
|
||||
kill_processes('iperf')
|
||||
kill_processes('ping')
|
||||
print "Turning off airplane mode"
|
||||
os.system('sudo -E adb devices')
|
||||
os.system('sudo -E adb -s ' + device_id + ' shell \"settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false\"')
|
||||
|
||||
while 1:
|
||||
time.sleep ( 2)
|
||||
#Now we check if ppp0 interface is up and running
|
||||
try:
|
||||
cmd = 'sudo adb -s ' + device_id + ' shell netcfg |grep 192.'
|
||||
status, out = commands.getstatusoutput(cmd)
|
||||
if (out == '') :
|
||||
print "Wating for UE to connect and get IP Address..."
|
||||
sys.exit()
|
||||
else :
|
||||
print "UE is now connected. IP Address settings are..." + out
|
||||
os.system('sleep 5')
|
||||
os.system ('sudo adb -s ' + device_id + ' shell ping ' + gw)
|
||||
break
|
||||
except Exception, e:
|
||||
error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
|
||||
error = error + traceback.format_exc()
|
||||
print error
|
||||
|
||||
|
||||
|
||||
def stop_ue():
|
||||
print "Turning on airplane mode"
|
||||
os.system('sudo adb devices')
|
||||
os.system('sudo adb -s ' + device_id + ' shell \"settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true\" ')
|
||||
print "Killing iperf/ping sessions"
|
||||
kill_processes('iperf')
|
||||
kill_processes('ping')
|
||||
|
||||
i=1
|
||||
gw='192.172.0.1'
|
||||
while i < len(sys.argv):
|
||||
arg=sys.argv[i]
|
||||
if arg == '--start-ue' :
|
||||
start_ue()
|
||||
elif arg == '--stop-ue' :
|
||||
stop_ue()
|
||||
elif arg == '-gw' :
|
||||
gw = sys.argv[i+1]
|
||||
i=i+1
|
||||
elif arg == '-h' :
|
||||
print "--stop-ue: Stop the UE. Turn on airplane mode"
|
||||
print "--start-ue: Start the UE. Turn off airplane mode"
|
||||
print "-gw: Specify the default gw as sometimes the gateway/route arguments are not set properly via wvdial"
|
||||
else :
|
||||
print " Script called with wrong arguments, arg = " + arg
|
||||
sys.exit()
|
||||
i = i +1
|
||||
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
#arg1 timeout to wait before running the script
|
||||
#arg2 interface
|
||||
#arg3 iperf arguments
|
||||
|
||||
args=($*)
|
||||
timeout=${args[0]}
|
||||
device_id=${args[1]}
|
||||
iperf_args=(${args[@]:2})
|
||||
|
||||
#array=${1:-1}
|
||||
echo "args = ${args[@]}"
|
||||
echo "timeout = $timeout"
|
||||
echo "device_id = $device_id"
|
||||
echo "iperf_args = ${iperf_args[@]}"
|
||||
|
||||
sleep $timeout
|
||||
|
||||
sudo adb -s $device_id shell /data/local/tmp/iperf ${iperf_args[@]}
|
||||
Reference in New Issue
Block a user