The text has been updated in all those files. modified: README.txt modified: cmake_targets/CMakeLists.txt modified: cmake_targets/at_commands/CMakeLists.txt modified: cmake_targets/autotests/core.py modified: cmake_targets/autotests/log.py modified: cmake_targets/autotests/openair.py modified: cmake_targets/autotests/run_exec_autotests.bash modified: cmake_targets/autotests/run_exec_lte-softmodem_tests.py modified: cmake_targets/autotests/tools/configure_cots_bandrich_ue.py modified: cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py modified: cmake_targets/autotests/tools/configure_usrpb210.py modified: cmake_targets/autotests/tools/find_usb_path.bash modified: cmake_targets/autotests/tools/free_mem.bash modified: cmake_targets/autotests/tools/iperf3_script modified: cmake_targets/autotests/tools/iperf3_script_phone modified: cmake_targets/autotests/tools/iperf_script modified: cmake_targets/autotests/tools/iperf_script_phone modified: cmake_targets/autotests/tools/lib_autotest.py modified: cmake_targets/autotests/tools/search_repl.py modified: cmake_targets/build_oai modified: cmake_targets/tools/asn1tostruct.py modified: cmake_targets/tools/build_helper modified: cmake_targets/tools/build_test_epc_tools modified: cmake_targets/tools/example_enb_exmimo_mme_hss.txt modified: cmake_targets/tools/example_oaisim_enb_ue_mme_virtual.txt modified: cmake_targets/tools/indent_source_code modified: cmake_targets/tools/init_exmimo2 modified: cmake_targets/tools/init_nas_nos1 modified: cmake_targets/tools/perf_oai.bash modified: cmake_targets/tools/run_enb_s1_exmimo modified: cmake_targets/tools/run_enb_s1_usrp modified: cmake_targets/tools/run_enb_ue_virt_noS1 modified: cmake_targets/tools/run_enb_ue_virt_s1 modified: openair2/DOCS/TEMPLATES/README/Readme.doxy modified: openair2/DOCS/TEMPLATES/README/readme.txt modified: openair2/Makefile modified: openair2/UTIL/OCG/Readme.doxy modified: openair2/UTIL/OCG/readme.txt modified: openair2/UTIL/OSD/recep.php modified: openair2/X2AP/MESSAGES/ASN1/asn1tostruct.py modified: openair3/DOCS/DOXYGEN/Makefile.am modified: openair3/DOCS/Latex/EPC/Makefile modified: openair3/DOCS/Makefile.am modified: openair3/GTPV1-U/Makefile.am modified: openair3/GTPV1-U/Makefile.eNB modified: openair3/NAS/TEST/AS_SIMULATOR/Makefile modified: openair3/NAS/TEST/NETWORK/Makefile modified: openair3/NAS/TEST/USER/Makefile modified: openair3/NAS/TOOLS/Makefile modified: openair3/NAS/UE/API/USER/Makefile modified: openair3/NAS/UE/API/USER/tst/Makefile modified: openair3/NAS/UE/API/USIM/Makefile modified: openair3/S1AP/MESSAGES/ASN1/asn1tostruct.py modified: openair3/TEST/Makefile.am modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/gpib_send.cc modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_config_exmimo.cc modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_frame.cc modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_get_num_detected_cards.cc modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_send_frame.cc modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop.cc modified: targets/ARCH/EXMIMO/USERSPACE/OCTAVE/oarf_stop_without_reset.cc modified: targets/PROJECTS/E-MBMS/build_all.bash modified: targets/PROJECTS/E-MBMS/start_enb.bash modified: targets/PROJECTS/E-MBMS/start_ue.bash modified: targets/PROJECTS/E-MBMS/utils.bash modified: targets/PROJECTS/GENERIC-LTE-EPC/interfaces.bash modified: targets/PROJECTS/GENERIC-LTE-EPC/networks.bash modified: targets/PROJECTS/GENERIC-LTE-EPC/start_enb_and_ue_virt.bash modified: targets/PROJECTS/GENERIC-LTE-EPC/start_ue.bash modified: targets/PROJECTS/GENERIC-LTE-EPC/utils.bash modified: targets/PROJECTS/GENERIC-LTE-EPC/virtual_box.bash modified: targets/SCRIPTS/install_asn1c_0.9.24.modified.bash modified: targets/TEST/OAI/case01.py modified: targets/TEST/OAI/case02.py modified: targets/TEST/OAI/case03.py modified: targets/TEST/OAI/case04.py modified: targets/TEST/OAI/case05.py modified: targets/TEST/OAI/case11.py modified: targets/TEST/OAI/case12.py modified: targets/TEST/OAI/case13.py modified: targets/TEST/OAI/core.py modified: targets/TEST/OAI/log.py modified: targets/TEST/OAI/openair.py modified: targets/TEST/OAI/test01.py modified: targets/TEST/OAI/test02.py modified: targets/TEST/PDCP/readme.txt modified: targets/build_helper.bash modified: targets/build_oai.bash modified: targets/perf_oai.bash
248 lines
11 KiB
Python
248 lines
11 KiB
Python
#/*
|
|
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
# * contributor license agreements. See the NOTICE file distributed with
|
|
# * this work for additional information regarding copyright ownership.
|
|
# * The OpenAirInterface Software Alliance licenses this file to You under
|
|
# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
|
|
# * except in compliance with the License.
|
|
# * You may obtain a copy of the License at
|
|
# *
|
|
# * http://www.openairinterface.org/?page_id=698
|
|
# *
|
|
# * Unless required by applicable law or agreed to in writing, software
|
|
# * distributed under the License is distributed on an "AS IS" BASIS,
|
|
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# * See the License for the specific language governing permissions and
|
|
# * limitations under the License.
|
|
# *-------------------------------------------------------------------------------
|
|
# * For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
# * contact@openairinterface.org
|
|
# */
|
|
|
|
# \file case02.py
|
|
# \brief test case 02 for OAI: executions
|
|
# \author Navid Nikaein
|
|
# \date 2013 - 2015
|
|
# \version 0.1
|
|
# @ingroup _test
|
|
|
|
import time
|
|
import random
|
|
import log
|
|
import openair
|
|
import core
|
|
|
|
NUM_UE=2
|
|
NUM_eNB=1
|
|
NUM_TRIALS=3
|
|
|
|
def execute(oai, user, pw, host, logfile,logdir,debug):
|
|
|
|
case = '02'
|
|
oai.send('cd $OPENAIR_TARGETS;')
|
|
oai.send('cd SIMU/USER;')
|
|
|
|
try:
|
|
log.start()
|
|
test = '00'
|
|
name = 'Run oai.rel8.sf'
|
|
conf = '-a -A AWGN -n 100'
|
|
diag = 'OAI is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed'
|
|
trace = logdir + '/log_' + host + case + test + '_1.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'Segmentation fault', 30)
|
|
trace = logdir + '/log_' + host + case + test + '_2.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'Exiting', 30)
|
|
trace = logdir + '/log_' + host + case + test + '_3.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'FATAL', 30)
|
|
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '01'
|
|
name = 'Run oai.rel8.err'
|
|
conf = '-a -A AWGN -n 100 '
|
|
trace = logdir + '/log_' + host + case + test + '_1.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
diag = '[E] Error(s) found during the execution, check the execution logs'
|
|
oai.send_expect_false('./oaisim.rel8.'+ host + ' ' + conf, '[E]', 30)
|
|
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '02'
|
|
name = 'Run oai.rel8.tdd.5MHz.rrc.abs'
|
|
diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
|
|
for i in range(NUM_UE) :
|
|
for j in range(NUM_eNB) :
|
|
conf = '-a -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
|
|
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '03'
|
|
name = 'Run oai.rel8.tdd.5MHz.rrc.itti.abs'
|
|
diag = 'RRC procedure is not finished completely, check the eNB config file (default is enb.band7.generic.conf), in addition to the execution logs and trace BCCH, CCCH, and DCCH channels'
|
|
for i in range(NUM_UE) :
|
|
for j in range(NUM_eNB) :
|
|
log_name = logdir + '/log_' + host + case + test + '_' + str(i) + str(j)
|
|
itti_name = log_name + '.log'
|
|
trace_name = log_name + '.txt'
|
|
conf = '-a -l7 -A AWGN --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
|
|
tee = ' 2>&1 | tee ' + trace_name
|
|
command = './oaisim.rel8.itti.' + host + ' ' + conf
|
|
oai.send('echo ' + command + ' > ' + trace_name + ';')
|
|
oai.send_expect(command + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile, trace_name)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test='04'
|
|
name = 'Run oai.rel8.tdd.5MHz.abs.ocg.otg'
|
|
diag = 'Check the scenario if the test 0202 is passed.'
|
|
conf = '-a -c26'
|
|
trace = logdir + '/log_' + host + case + test + '.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' DL and UL loss rate below 10 ', 500)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test='05'
|
|
name = 'Run oai.rel8.fdd.5MHz.abs.ocg.otg'
|
|
diag = 'Check the template 26 and the results of test 0202.'
|
|
conf = '-a -F -c26'
|
|
trace = logdir + '/log_' + host + case + test + '.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' DL and UL loss rate below 10 ', 500)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
|
|
try:
|
|
log.start()
|
|
test = '06'
|
|
name = 'Run oai.rel8.tdd.5MHz.abs.ping'
|
|
diag = 'Data-plane is not working normally, check the OAI protocol stack, OAI driver, and normal operation of the OS'
|
|
|
|
oai.driver(oai,user,pw)
|
|
|
|
for i in range(NUM_eNB) :
|
|
for j in range(NUM_UE) :
|
|
conf = '-a -A AWGN -u' + str(j+1) +' -b'+ str(i+1)
|
|
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;'
|
|
tee = ' 2>&1 > ' + trace
|
|
|
|
if user == 'root' :
|
|
oai.send_nowait('./oaisim.rel8.nas.' + host + ' ' + conf + ' &')
|
|
else :
|
|
oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &')
|
|
time.sleep(10)
|
|
for k in range(NUM_TRIALS) :
|
|
trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt;'
|
|
tee_ping = ' 2>&1 | tee ' + trace_ping
|
|
|
|
oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' + str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee_ping, ' 0% packet loss', 20)
|
|
if user == 'root' :
|
|
oai.send('pkill -f oaisim.rel8.nas.'+host)
|
|
time.sleep(1)
|
|
oai.send('pkill -f oaisim.rel8.nas.'+host)
|
|
else :
|
|
oai.send('pkill -f oaisim.rel8.nas.'+host)
|
|
time.sleep(1)
|
|
oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host)
|
|
time.sleep(1)
|
|
oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host)
|
|
time.sleep(1)
|
|
|
|
oai.rm_driver(oai,user,pw)
|
|
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '07'
|
|
name = 'Run oai.rel8.tdd.5MHz.phy.rrc'
|
|
diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
|
|
for i in range(NUM_UE) :
|
|
for j in range(NUM_eNB) :
|
|
conf = '-A AWGN -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1'
|
|
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '08'
|
|
name = 'Run oai.rel8.fdd.5MHz.phy.rrc'
|
|
diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels'
|
|
for i in range(NUM_UE) :
|
|
for j in range(NUM_eNB) :
|
|
conf = '-A AWGN -F -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1'
|
|
trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '09'
|
|
name = 'Run oai.rel8.fdd.10MHz.phy.rrc'
|
|
diag = 'RRC procedure is not finished completely, check th execution logs and trace BCCH, CCCH, and DCCH channels and the results of test 0204'
|
|
conf = '-A AWGN -F -R 50 -n 150 -u 1 -b 1 -x1'
|
|
trace = logdir + '/log_' + host + case + test + '_1.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE 0', 600)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|
|
|
|
try:
|
|
log.start()
|
|
test = '10'
|
|
name = 'Run oai.rel8.fdd.20MHz.phy.rrc'
|
|
diag = 'RRC procedure is not finished completely, check th execution logs and trace BCCH, CCCH, and DCCH channels and the results of test 0204'
|
|
conf = '-A AWGN -F -R 100 -n 200 -u 1 -b 1 -x1'
|
|
trace = logdir + '/log_' + host + case + test + '_1.txt;'
|
|
tee = ' 2>&1 | tee ' + trace
|
|
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE 0', 700)
|
|
except log.err, e:
|
|
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
|
else:
|
|
log.ok(case, test, name, conf, '', logfile)
|