Commit 01d160f6 authored by Aikaterini's avatar Aikaterini

Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into feature-52-rrh-gw

parents de6a3ab9 7dabcfe0
...@@ -163,6 +163,14 @@ Obj.# Case# Test# Description ...@@ -163,6 +163,14 @@ Obj.# Case# Test# Description
01 63 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX 01 63 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
01 63 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX 01 63 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
01 65 00 lte-softmodem tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX
01 65 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
01 65 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
01 65 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
01 65 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
01 65 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
01 65 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
01 64 lte-softmodem-noS1 tests 01 64 lte-softmodem-noS1 tests
02 Functional test case 02 Functional test case
......
...@@ -175,6 +175,7 @@ function test_compile() { ...@@ -175,6 +175,7 @@ function test_compile() {
#\param $13 -> output of compilation program that needs to be found for test case to pass #\param $13 -> output of compilation program that needs to be found for test case to pass
#\param $14 -> tags to help identify the test case for readability in output xml file #\param $14 -> tags to help identify the test case for readability in output xml file
#\param $15 => password for the user to run certain commands as sudo #\param $15 => password for the user to run certain commands as sudo
#\param $16 => test config file params to be modified
function test_compile_and_run() { function test_compile_and_run() {
xUnit_start xUnit_start
...@@ -195,12 +196,14 @@ function test_compile_and_run() { ...@@ -195,12 +196,14 @@ function test_compile_and_run() {
compile_prog_out=${13} compile_prog_out=${13}
tags=${14} tags=${14}
mypassword=${15} mypassword=${15}
test_config_file=${16}
build_dir=$tdir/$1/build build_dir=$tdir/$1/build
#exec_file=$build_dir/$6 #exec_file=$build_dir/$6
xmlfile_testcase=$log_dir/test.$1.xml xmlfile_testcase=$log_dir/test.$1.xml
#Temporary log file where execution log is stored. #Temporary log file where execution log is stored.
temp_exec_log=$log_dir/temp_log.txt temp_exec_log=$log_dir/temp_log.txt
export OPENAIR_LOGDIR=$log_dir
rm -fr $log_dir rm -fr $log_dir
mkdir -p $log_dir mkdir -p $log_dir
...@@ -219,6 +222,10 @@ function test_compile_and_run() { ...@@ -219,6 +222,10 @@ function test_compile_and_run() {
#compile_prog_array=() #compile_prog_array=()
#read -a compile_prog_array <<<"$compile_prog" #read -a compile_prog_array <<<"$compile_prog"
#test_config_file=`eval "echo \"$test_config_file\" "`
#echo "test_config_file = $test_config_file"
tags_array=() tags_array=()
read -a tags_array <<<"$tags" read -a tags_array <<<"$tags"
...@@ -238,17 +245,21 @@ function test_compile_and_run() { ...@@ -238,17 +245,21 @@ function test_compile_and_run() {
cd $log_dir cd $log_dir
{ {
uname -a uname -a
#eval $pre_compile_prog echo "Executing $pre_compile_prog"
#cmake .. eval $pre_compile_prog
#rm -fv $exec_file
echo "Executing $compile_prog $compile_args" >> $log_file if [ "$test_config_file" != "" ]; then
echo "Modifying test_config_file parameters..."
echo "$test_config_file" |xargs -L 1 $OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py
fi
echo "Executing $compile_prog $compile_args"
eval "$compile_prog $compile_args" eval "$compile_prog $compile_args"
echo "Copying compilation log files to test case log directory: $log_dir" echo "Copying compilation log files to test case log directory: $log_dir"
cp -fvr $OPENAIR_DIR/cmake_targets/log/ $log_dir/compile_log cp -fvr $OPENAIR_DIR/cmake_targets/log/ $log_dir/compile_log
}>> $log_file 2>&1 }>> $log_file 2>&1
echo "</COMPILATION LOG>" >> $log_file 2>&1 echo "</COMPILATION LOG>" >> $log_file 2>&1
#done #done
#process the test case if it is that of execution #process the test case if it is that of execution
if [ "$class" == "execution" ]; then if [ "$class" == "execution" ]; then
tags_array_index=0 tags_array_index=0
...@@ -437,7 +448,8 @@ for search_expr in "${test_case_array[@]}" ...@@ -437,7 +448,8 @@ for search_expr in "${test_case_array[@]}"
else else
flag_run_test_case=1 flag_run_test_case=1
fi fi
#We skip this test case if it is not in the group list #We skip this test case if it is not in the group list
if [ "$flag_run_test_case" -ne "1" ]; then if [ "$flag_run_test_case" -ne "1" ]; then
continue continue
...@@ -458,6 +470,7 @@ for search_expr in "${test_case_array[@]}" ...@@ -458,6 +470,7 @@ for search_expr in "${test_case_array[@]}"
nruns=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` nruns=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf`
compile_prog_out=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf` compile_prog_out=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf`
tags=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf` tags=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf`
test_config_file=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/test_config_file" $xml_conf`
echo "class = $class" echo "class = $class"
echo "name = $name" echo "name = $name"
...@@ -497,7 +510,7 @@ for search_expr in "${test_case_array[@]}" ...@@ -497,7 +510,7 @@ for search_expr in "${test_case_array[@]}"
test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags"
elif [ "$class" == "execution" ]; then elif [ "$class" == "execution" ]; then
$SUDO killall -q oaisim_nos1 $SUDO killall -q oaisim_nos1
test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" "$test_config_file"
else else
echo "Unexpected class of test case...Skipping the test case $name ...." echo "Unexpected class of test case...Skipping the test case $name ...."
fi fi
......
...@@ -60,7 +60,9 @@ import paramiko ...@@ -60,7 +60,9 @@ import paramiko
import subprocess import subprocess
import commands import commands
sys.path.append('/opt/ssh') sys.path.append('/opt/ssh')
sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/'))
from lib_autotest import *
import ssh import ssh
from ssh import SSHSession from ssh import SSHSession
import argparse import argparse
...@@ -1015,6 +1017,8 @@ class oaiCleanOldProgramThread (threading.Thread): ...@@ -1015,6 +1017,8 @@ class oaiCleanOldProgramThread (threading.Thread):
error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n CleanUpOldProgs = ' + self.CleanUpOldProgs + '\n CleanUpAluLteBox = ' + self.CleanUpAluLteBox + '\n ExmimoRfStop = ' + self.ExmimoRfStop + '\n' error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n CleanUpOldProgs = ' + self.CleanUpOldProgs + '\n CleanUpAluLteBox = ' + self.CleanUpAluLteBox + '\n ExmimoRfStop = ' + self.ExmimoRfStop + '\n'
error = error + traceback.format_exc() error = error + traceback.format_exc()
print error print error
print "There is error in cleaning up old programs. The test case execution cannot continue...."
sys.exit(1)
# \brief Run parallel threads in all machines for clean up old execution of test cases # \brief Run parallel threads in all machines for clean up old execution of test cases
# \param oai_list list of handlers that can be used to execute programs on remote machines # \param oai_list list of handlers that can be used to execute programs on remote machines
......
This diff is collapsed.
...@@ -21,6 +21,10 @@ if openair_dir == None: ...@@ -21,6 +21,10 @@ if openair_dir == None:
print "Error getting OPENAIR_DIR environment variable" print "Error getting OPENAIR_DIR environment variable"
sys.exit(1) sys.exit(1)
sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/'))
from lib_autotest import *
def find_open_port(): def find_open_port():
global serial_port, ser global serial_port, ser
max_ports=100 max_ports=100
...@@ -159,34 +163,11 @@ def reset_ue(): ...@@ -159,34 +163,11 @@ def reset_ue():
VendorId=res[0][2] VendorId=res[0][2]
ProductId=res[0][3] ProductId=res[0][3]
usb_dir= find_usb_path(VendorId, ProductId) usb_dir= find_usb_path(VendorId, ProductId)
print usb_dir print "Bandrich 4G LTE Adapter found in..." + usb_dir
cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\"" cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\""
os.system(cmd + " ; sleep 5" ) os.system(cmd + " ; sleep 15" )
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\"" cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
os.system(cmd + " ; sleep 5" ) os.system(cmd + " ; sleep 30" )
def read_file(filename):
try:
file = open(filename, 'r')
return file.read()
except Exception, e:
#error = ' Filename ' + filename
#error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
#error = error + traceback.format_exc()
#print error
return ''
def find_usb_path(idVendor, idProduct):
for root, dirs, files in os.walk("/sys/bus/usb/devices", topdown=False):
for name in dirs:
tmpdir= os.path.join(root, name)
tmpidVendor = read_file(tmpdir+'/idVendor').replace("\n","")
tmpidProduct = read_file(tmpdir+'/idProduct').replace("\n","")
#print "tmpdir = " + tmpdir + " tmpidVendor = " + tmpidVendor + " tmpidProduct = " + tmpidProduct
if tmpidVendor == idVendor and tmpidProduct == idProduct:
return tmpdir
return ''
i=1 i=1
gw='192.172.0.1' gw='192.172.0.1'
......
#!/usr/bin/python
import os
from pyroute2 import IPRoute
import sys
import re
import threading
import signal
import traceback
import commands
def read_file(filename):
try:
file = open(filename, 'r')
return file.read()
except Exception, e:
# WE just ignore the exception as some files are probably not present
#error = ' Filename ' + filename
#error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e)
#error = error + traceback.format_exc()
#print error
return ''
def find_usb_path(idVendor, idProduct):
for root, dirs, files in os.walk("/sys/bus/usb/devices", topdown=False):
for name in dirs:
tmpdir= os.path.join(root, name)
tmpidVendor = read_file(tmpdir+'/idVendor').replace("\n","")
tmpidProduct = read_file(tmpdir+'/idProduct').replace("\n","")
if tmpidVendor == idVendor and tmpidProduct == idProduct:
return tmpdir
return ''
#!/usr/bin/python #!/usr/bin/python
import sys import sys
import re import re
import os
#Arg 1 name of file #Arg 1 name of file
#Arg 2 keyword #Arg 2 keyword
#arg 3 replacement text #arg 3 replacement text
#Note that these should be seperated by spaces #Note that these should be seperated by spaces
if len(sys.argv) != 4: if len(sys.argv) != 4:
print "search_repl.py: Wrong number of arguments. This program needs 3 arguments" print "search_repl.py: Wrong number of arguments. This program needs 3 arguments. The number of arguments supplied : " + str(sys.argv)
sys.exit() sys.exit()
filename = sys.argv[1] filename = os.path.expandvars(sys.argv[1])
keyword = sys.argv[2] keyword = sys.argv[2]
replacement_text = sys.argv[3] replacement_text = sys.argv[3]
file = open(filename, 'r') file = open(filename, 'r')
string = file.read() string = file.read()
file.close() file.close()
......
#!/usr/bin/python
import time
import serial
import os
from pyroute2 import IPRoute
import sys
import re
import threading
import signal
import traceback
import commands
if os.environ.get('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 reset_bladerf():
stringIdBladeRF='OpenMoko, Inc'
status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBladeRF + '\'')
if (out == '') :
print "BladeRF not found. Exiting now..."
sys.exit()
p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)')
res=p.findall(out)
BusId=res[0][0]
DeviceId=res[0][1]
VendorId=res[0][2]
ProductId=res[0][3]
usb_dir= find_usb_path(VendorId, ProductId)
print "BladeRF Found in directory..." + usb_dir
cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\""
os.system(cmd + " ; sleep 5" )
cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\""
os.system(cmd + " ; sleep 5" )
os.system ('sudo -E bladeRF-cli --flash-firmware /usr/share/Nuand/bladeRF/bladeRF_fw.img')
print "Resettting BladeRF..."
reset_bladerf()
os.system ("dmesg|tail")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment