Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oai
openairinterface5G
Commits
59241c47
Commit
59241c47
authored
Feb 15, 2016
by
Rohit Gupta
Browse files
Merge branch 'develop' into feature-38-bladerf
parents
9ab92439
e094226d
Changes
81
Expand all
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
59241c47
...
...
@@ -20,9 +20,11 @@ job1:
-
EXTERNAL_SHARE_RESULTS_DIR=$EXTERNAL_SHARE_DIR/$git_branch/$git_head
-
echo $NFS_TEST_RESULTS_DIR
-
echo $EXTERNAL_SHARE_RESULTS_DIR
-
echo $NRUNS_LTE_SOFTMODEM
-
echo $TIMEOUT_CMD
-
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
-
python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -c -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS >& $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log
-
python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -r -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS `echo $OAI_EXTRA_ARGS` -g $OAI_TEST_CASE_GROUP >& $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log
-
python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -c -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS
$OAI_EXTRA_ARGS -g "$OAI_TEST_CASE_GROUP"
>& $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log
-
python $OPENAIR_DIR/cmake_targets/autotests/run_exec_lte-softmodem_tests.py -r -5GRepoHeadVersion $git_head -n $NFS_SHARE_DIR -u $OAI_USER -p $OAI_PASS `echo $OAI_EXTRA_ARGS` -g
"
$OAI_TEST_CASE_GROUP
" --nrun_lte_softmodem $NRUNS_LTE_SOFTMODEM --timeout_cmd $TIMEOUT_CMD
>& $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log
-
mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest.log
-
mv $OPENAIR_DIR/cmake_targets/autotests/python_autotest_cleanup.log $OPENAIR_DIR/cmake_targets/autotests/log/python_autotest_cleanup.log
-
sshpass -p "$OAI_PASS" rsync -az -e "ssh -o StrictHostKeyChecking=no " --rsync-path="mkdir -p $NFS_TEST_RESULTS_DIR && rsync" $OPENAIR_DIR/cmake_targets/autotests/log $OAI_USER@localhost:$NFS_TEST_RESULTS_DIR
...
...
cmake_targets/CMakeLists.txt
View file @
59241c47
...
...
@@ -36,7 +36,7 @@ set (OPENAIR1_DIR ${OPENAIR_DIR}/openair1)
set
(
OPENAIR2_DIR
${
OPENAIR_DIR
}
/openair2
)
set
(
OPENAIR3_DIR
${
OPENAIR_DIR
}
/openair3
)
set
(
OPENAIR_TARGETS
${
OPENAIR_DIR
}
/targets
)
set
(
OPENAIR3_DIR
${
OPENAIR_DIR
}
/openair3
)
set
(
OPENAIR3_DIR
${
OPENAIR_DIR
}
/openair3
)
set
(
OPENAIR_CMAKE
${
OPENAIR_DIR
}
/cmake_targets
)
set
(
OPENAIR_BIN_DIR
${
CMAKE_CURRENT_BINARY_DIR
}${
CMAKE_FILES_DIRECTORY
}
)
...
...
@@ -161,6 +161,11 @@ set(CMAKE_C_FLAGS
set
(
CMAKE_CXX_FLAGS
"
${
CMAKE_CXX_FLAGS
}
${
C_FLAGS_PROCESSOR
}
"
)
#########################
set
(
CMAKE_EXE_LINKER_FLAGS
"
${
CMAKE_EXE_LINKER_FLAGS
}
-Wl,-rpath -Wl,
${
OPENAIR_TARGETS
}
/bin"
)
#########################
# set a flag for changes in the source code
# these changes are related to hardcoded path to include .h files
add_definitions
(
-DCMAKER
)
...
...
@@ -244,6 +249,9 @@ endif (${RTAI})
set
(
asn1c_call
"
${
OPENAIR_CMAKE
}
/tools/generate_asn1"
)
set
(
asn1_generated_dir
${
OPENAIR_BIN_DIR
}
)
set
(
protoc_call
"
${
OPENAIR_CMAKE
}
/tools/generate_protobuf"
)
set
(
protobuf_generated_dir
${
OPENAIR_BIN_DIR
}
)
# RRC
######
add_list2_option
(
RRC_ASN1_VERSION
"Rel10"
"ASN.1 version of RRC interface"
"Rel8"
"Rel10"
"CBA"
)
...
...
@@ -404,8 +412,47 @@ add_list1_option(NB_ANTENNAS_RX "2" "Number of antennas in reception" "1" "2" "4
add_list1_option
(
NB_ANTENNAS_TX
"2"
"Number of antennas in transmission"
"1"
"2"
"4"
)
add_list1_option
(
NB_ANTENNAS_TXRX
"2"
"Number of antennas in ????"
"1"
"2"
"4"
)
add_list2_option
(
RF_BOARD
"EXMIMO"
"RF head type"
"False"
"EXMIMO"
"OAI_USRP"
"ETHERNET"
"OAI_BLADERF"
"CPRIGW"
)
add_list2_option
(
RF_BOARD
"EXMIMO"
"RF head type"
"None"
"EXMIMO"
"OAI_USRP"
"OAI_BLADERF"
"CPRIGW"
)
add_list2_option
(
TRANSP_PRO
"None"
"Transport protocol type"
"None"
"ETHERNET"
)
# include RF devices / transport protocols library modules
######################################################################
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/USERSPACE/LIB/"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/DEFS/"
)
#set (option_HWEXMIMOLIB_lib "-l ")
set
(
HWLIB_EXMIMO_SOURCE
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
)
add_library
(
oai_exmimodevif MODULE
${
HWLIB_EXMIMO_SOURCE
}
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/USRP/USERSPACE/LIB/"
)
set
(
option_HWUSRPLIB_lib
"-l uhd"
)
set
(
HWLIB_USRP_SOURCE
${
OPENAIR_TARGETS
}
/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
)
add_library
(
oai_usrpdevif MODULE
${
HWLIB_USRP_SOURCE
}
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/BLADERF/USERSPACE/LIB/"
)
set
(
option_HWBLADERFLIB_lib
"-l bladerf"
)
set
(
HWLIB_BLADERF_SOURCE
${
OPENAIR_TARGETS
}
/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
)
add_library
(
oai_bladerfdevif MODULE
${
HWLIB_BLADERF_SOURCE
}
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/"
)
set
(
TPLIB_ETHERNET_SOURCE
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
)
add_library
(
oai_eth_transpro MODULE
${
TPLIB_ETHERNET_SOURCE
}
)
# RF devices / transport protocols settings
######################################################################
if
(
${
RF_BOARD
}
STREQUAL
"EXMIMO"
)
set
(
DRIVER2013
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/USERSPACE/LIB/"
)
...
...
@@ -413,6 +460,7 @@ if (${RF_BOARD} STREQUAL "EXMIMO")
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
${
OPENAIR_TARGETS
}
/ARCH/EXMIMO/USERSPACE/LIB/gain_control.c
)
set
(
option_HW_lib
"-rdynamic -ldl"
)
elseif
(
${
RF_BOARD
}
STREQUAL
"OAI_USRP"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/USRP/USERSPACE/LIB/"
)
...
...
@@ -420,8 +468,7 @@ elseif (${RF_BOARD} STREQUAL "OAI_USRP")
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
)
LINK_DIRECTORIES
(
"/opt/lib"
)
set
(
option_HW_lib
"uhd"
)
#set(LOWLATENCY False)
set
(
option_HW_lib
"-luhd -rdynamic -ldl"
)
elseif
(
${
RF_BOARD
}
STREQUAL
"OAI_BLADERF"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/BLADERF/USERSPACE/LIB/"
)
...
...
@@ -431,24 +478,32 @@ elseif (${RF_BOARD} STREQUAL "OAI_BLADERF")
${
OPENAIR_TARGETS
}
/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
)
LINK_DIRECTORIES
(
"/usr/lib/x86_64-linux-gnu"
)
set
(
option_HW_lib
"bladeRF"
)
#set(LOWLATENCY False)
elseif
(
${
RF_BOARD
}
STREQUAL
"ETHERNET"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB"
)
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
)
#set(LOWLATENCY True)
elseif
(
${
RF_BOARD
}
STREQUAL
"CPRIGW"
)
set
(
option_HW_lib
"bladeRF -rdynamic -ldl"
)
elseif
(
${
RF_BOARD
}
STREQUAL
"CPRIGW"
)
#to ask
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/CPRIGW/USERSPACE/LIB/cprigw_lib.c
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/CPRIGW/USERSPACE/LIB/"
)
set
(
option_HW_lib
"-rdynamic dl"
)
set
(
option_HW_lib
"-rdynamic dl"
)
endif
(
${
RF_BOARD
}
STREQUAL
"EXMIMO"
)
if
(
${
TRANSP_PRO
}
STREQUAL
"ETHERNET"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB"
)
set
(
TRANSPORT_SOURCE
${
TRANSPORT_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
)
set
(
option_TP_lib
"-rdynamic -ldl"
)
endif
(
${
TRANSP_PRO
}
STREQUAL
"ETHERNET"
)
##########################################################
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/COMMON"
)
Message
(
"LOWLATENCY flag is
${
LOWLATENCY
}
"
)
...
...
@@ -474,6 +529,9 @@ add_list_string_option(PACKAGE_NAME "NotDefined" "As per attribute name")
add_boolean_option
(
MESSAGE_CHART_GENERATOR False
"For generating sequence diagrams"
)
add_boolean_option
(
MESSAGE_CHART_GENERATOR_RLC_MAC False
"trace RLC-MAC exchanges in sequence diagrams"
)
add_boolean_option
(
MESSAGE_CHART_GENERATOR_PHY False
"trace some PHY exchanges in sequence diagrams"
)
add_boolean_option
(
ENB_AGENT True
"enable eNB agent to inteface with a SDN contrller"
)
########################
# Include order
##########################
...
...
@@ -1403,10 +1461,11 @@ add_definitions(-DASN1_MINIMUM_VERSION=924)
#################################
# add executables for operation
#################################
""
#################################
# lte-softmodem is both eNB and UE implementation
###################################################
add_executable
(
lte-softmodem
${
rrc_h
}
${
s1ap_h
}
...
...
@@ -1424,6 +1483,7 @@ add_executable(lte-softmodem
${
OPENAIR3_DIR
}
/NAS/UE/nas_ue_task.c
${
GTPU_need_ITTI
}
${
HW_SOURCE
}
${
TRANSPORT_SOURCE
}
${
RTAI_SOURCE
}
${
XFORMS_SOURCE
}
${
XFORMS_SOURCE_SOFTMODEM
}
...
...
@@ -1436,7 +1496,7 @@ target_link_libraries (lte-softmodem
target_link_libraries
(
lte-softmodem
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
option_HW_lib
}
${
XFORMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
option_HW_lib
}
${
option_TP_lib
}
${
XFORMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem
${
LIBBOOST_LIBRARIES
}
)
# lte-softmodem-nos1 is both eNB and UE implementation
...
...
@@ -1458,6 +1518,7 @@ add_executable(lte-softmodem-nos1
#${OPENAIR2_DIR}/RRC/NAS/rb_config.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
HW_SOURCE
}
${
TRANSPORT_SOURCE
}
${
RTAI_SOURCE
}
${
XFORMS_SOURCE
}
${
XFORMS_SOURCE_SOFTMODEM
}
...
...
@@ -1468,38 +1529,36 @@ target_link_libraries (lte-softmodem-nos1
-Wl,--end-group
)
target_link_libraries
(
lte-softmodem-nos1
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
${
option_HW_lib
}
${
XFORMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
${
option_HW_lib
}
${
option_TP_lib
}
${
XFORMS_LIBRARIES
}
)
target_link_libraries
(
lte-softmodem-nos1
${
LIBBOOST_LIBRARIES
}
)
# rrh
################################
set
(
DRIVER2013
)
#Note: only on RF type is currently supported for RRH
#Note: only one RF type (USRP) is currently supported for RRH
add_executable
(
rrh_gw
${
OPENAIR_TARGETS
}
/RT/USER/rrh_gw.c
${
OPENAIR_TARGETS
}
/RT/USER/eNB_transport_IQ.c
${
OPENAIR_TARGETS
}
/RT/USER/UE_transport_IQ.c
${
OPENAIR_TARGETS
}
/RT/USER/rt_wrapper.c
${
OPENAIR_TARGETS
}
/ARCH/COMMON/common_lib.c
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
${
HW_SOURCE
}
${
TRANSPORT_SOURCE
}
)
# assert and common_lib.h
target_include_directories
(
rrh_gw PRIVATE
${
OPENAIR_DIR
}
/common/utils/itti
${
OPENAIR_TARGETS
}
/ARCH/COMMON
${
OPENAIR_TARGETS
}
/ARCH/ETHERNET/USERSPACE/LIB/
)
# assert
target_include_directories
(
rrh_gw PRIVATE
${
OPENAIR_DIR
}
/common/utils/itti
)
target_link_libraries
(
rrh_gw
-Wl,--start-group
UTIL LFDS
-Wl,--end-group
)
target_link_libraries
(
rrh_gw rt pthread m
)
target_link_libraries
(
rrh_gw
${
option_HW_lib
}
${
LIBBOOST_LIBRARIES
}
)
target_link_libraries
(
rrh_gw
${
option_HW_lib
}
${
option_TP_lib
}
${
LIBBOOST_LIBRARIES
}
)
#Message("-- default_HW_lib=ETHERNET") # only in case of RRH
Message
(
"-- option_HW_lib=
${
option_HW_lib
}
"
)
Message
(
"-- HW_SOURCE=
${
HW_SOURCE
}
"
)
Message
(
"-- option_TP_lib=
${
option_TP_lib
}
"
)
Message
(
"-- TRANSPORT_SOURCE=
${
TRANSPORT_SOURCE
}
"
)
# USIM process
#################
...
...
@@ -1550,6 +1609,7 @@ add_executable(oaisim
${
GTPU_need_ITTI
}
${
OPENAIR_TARGETS
}
/COMMON/create_tasks.c
${
HW_SOURCE
}
${
TRANSPORT_SOURCE
}
${
XFORMS_SOURCE
}
)
...
...
@@ -1561,7 +1621,7 @@ target_link_libraries (oaisim
-Wl,--end-group
)
target_link_libraries
(
oaisim
${
LIBXML2_LIBRARIES
}
${
LAPACK_LIBRARIES
}
)
target_link_libraries
(
oaisim pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
option_HW_lib
}
target_link_libraries
(
oaisim pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
option_HW_lib
}
${
option_TP_lib
}
${
ATLAS_LIBRARIES
}
${
XFORMS_LIBRARIES
}
${
OPENPGM_LIBRARIES
}
)
#Force link with forms, regardless XFORMS option
target_link_libraries
(
oaisim forms
)
...
...
@@ -1588,6 +1648,7 @@ add_executable(oaisim_nos1
${
OPENAIR2_DIR
}
/UTIL/OMG/sumo.c
${
OPENAIR_TARGETS
}
/COMMON/create_tasks.c
${
HW_SOURCE
}
${
TRANSPORT_SOURCE
}
${
XFORMS_SOURCE
}
)
target_include_directories
(
oaisim_nos1 PUBLIC
${
OPENAIR_TARGETS
}
/SIMU/USER
)
...
...
@@ -1597,7 +1658,7 @@ target_link_libraries (oaisim_nos1
-Wl,--end-group
)
target_link_libraries
(
oaisim_nos1
${
LIBXML2_LIBRARIES
}
${
LAPACK_LIBRARIES
}
)
target_link_libraries
(
oaisim_nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
${
option_HW_lib
}
target_link_libraries
(
oaisim_nos1 pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
${
option_HW_lib
}
${
option_TP_lib
}
${
ATLAS_LIBRARIES
}
${
XFORMS_LIBRARIES
}
${
OPENPGM_LIBRARIES
}
)
#Force link with forms, regardless XFORMS option
target_link_libraries
(
oaisim_nos1 forms
)
...
...
cmake_targets/autotests/README.txt
View file @
59241c47
...
...
@@ -98,46 +98,78 @@ Obj.# Case# Test# Description
01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX, 2TX/2RX
01 55 00 Band 7 FDD 5MHz UL Throughput for
6
0 sec for 1TX/1RX
01 55 01 Band 7 FDD 10MHz UL Throughput for
6
0 sec for 1TX/1RX
01 55 02 Band 7 FDD 20MHz UL Throughput for
6
0 sec for 1TX/1RX
01 55 03 Band 7 FDD 5MHz DL Throughput for
6
0 sec for 1TX/1RX
01 55 04 Band 7 FDD 10MHz DL Throughput for
6
0 sec for 1TX/1RX
01 55 05 Band 7 FDD 20MHz DL Throughput for
6
0 sec for 1TX/1RX
01 55 06 Band 7 FDD 5MHz UL Throughput for
6
0 sec for 2TX/2RX
01 55 07 Band 7 FDD 10MHz UL Throughput for
6
0 sec for 2TX/2RX
01 55 08 Band 7 FDD 20MHz UL Throughput for
6
0 sec for 2TX/2RX
01 55 09 Band 7 FDD 5MHz DL Throughput for
6
0 sec for 2TX/2RX
01 55 10 Band 7 FDD 10MHz DL Throughput for
6
0 sec for 2TX/2RX
01 55 11 Band 7 FDD 20MHz DL Throughput for
6
0 sec for 2TX/2RX
01 55 00 Band 7 FDD 5MHz UL Throughput for
30
0 sec for 1TX/1RX
01 55 01 Band 7 FDD 10MHz UL Throughput for
30
0 sec for 1TX/1RX
01 55 02 Band 7 FDD 20MHz UL Throughput for
30
0 sec for 1TX/1RX
01 55 03 Band 7 FDD 5MHz DL Throughput for
30
0 sec for 1TX/1RX
01 55 04 Band 7 FDD 10MHz DL Throughput for
30
0 sec for 1TX/1RX
01 55 05 Band 7 FDD 20MHz DL Throughput for
30
0 sec for 1TX/1RX
01 55 06 Band 7 FDD 5MHz UL Throughput for
30
0 sec for 2TX/2RX
01 55 07 Band 7 FDD 10MHz UL Throughput for
30
0 sec for 2TX/2RX
01 55 08 Band 7 FDD 20MHz UL Throughput for
30
0 sec for 2TX/2RX
01 55 09 Band 7 FDD 5MHz DL Throughput for
30
0 sec for 2TX/2RX
01 55 10 Band 7 FDD 10MHz DL Throughput for
30
0 sec for 2TX/2RX
01 55 11 Band 7 FDD 20MHz DL Throughput for
30
0 sec for 2TX/2RX
01 56 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE
01 56 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
01 56 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
01 56 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
01 56 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
01 56 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
01 56 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
01 57 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE
01 57 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
01 57 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
01 57 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
01 57 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
01 57 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
01 57 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
01 58 lte-softmodem tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 2TX/2RX
01 58 00 Band 7 FDD 5MHz UL Throughput for
6
0 sec for 1TX/1RX
01 58 01 Band 7 FDD 10MHz UL Throughput for
6
0 sec for 1TX/1RX
01 58 02 Band 7 FDD 20MHz UL Throughput for
6
0 sec for 1TX/1RX
01 58 03 Band 7 FDD 5MHz DL Throughput for
6
0 sec for 1TX/1RX
01 58 04 Band 7 FDD 10MHz DL Throughput for
6
0 sec for 1TX/1RX
01 58 05 Band 7 FDD 20MHz DL Throughput for
6
0 sec for 1TX/1RX
01 58 00 Band 7 FDD 5MHz UL Throughput for
30
0 sec for 1TX/1RX
01 58 01 Band 7 FDD 10MHz UL Throughput for
30
0 sec for 1TX/1RX
01 58 02 Band 7 FDD 20MHz UL Throughput for
30
0 sec for 1TX/1RX
01 58 03 Band 7 FDD 5MHz DL Throughput for
30
0 sec for 1TX/1RX
01 58 04 Band 7 FDD 10MHz DL Throughput for
30
0 sec for 1TX/1RX
01 58 05 Band 7 FDD 20MHz DL Throughput for
30
0 sec for 1TX/1RX
01 59 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE
01 61 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE
01 60 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE
01 60 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
01 60 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
01 60 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
01 60 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX
01 60 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX
01 60 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX
01 61 lte-softmodem tests with EXMIMO RF as eNB and ALU EPC w/ Bandrich COTS UE for `TX/1RX, 2TX/2RX
01 61 00 Band 7 FDD 5MHz UL Throughput for
6
0 sec for 1TX/1RX
01 61 01 Band 7 FDD 10MHz UL Throughput for
6
0 sec for 1TX/1RX
01 61 02 Band 7 FDD 20MHz UL Throughput for
6
0 sec for 1TX/1RX
01 61 03 Band 7 FDD 5MHz DL Throughput for
6
0 sec for 1TX/1RX
01 61 04 Band 7 FDD 10MHz DL Throughput for
6
0 sec for 1TX/1RX
01 61 05 Band 7 FDD 20MHz DL Throughput for
6
0 sec for 1TX/1RX
01 61 00 Band 7 FDD 5MHz UL Throughput for
30
0 sec for 1TX/1RX
01 61 01 Band 7 FDD 10MHz UL Throughput for
30
0 sec for 1TX/1RX
01 61 02 Band 7 FDD 20MHz UL Throughput for
30
0 sec for 1TX/1RX
01 61 03 Band 7 FDD 5MHz DL Throughput for
30
0 sec for 1TX/1RX
01 61 04 Band 7 FDD 10MHz DL Throughput for
30
0 sec for 1TX/1RX
01 61 05 Band 7 FDD 20MHz DL Throughput for
30
0 sec for 1TX/1RX
01 62 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE
01 63 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE
01 63 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX
01 63 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX
01 63 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX
01 63 03 Band 7 FDD 5MHz 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 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
...
...
cmake_targets/autotests/core.py
View file @
59241c47
...
...
@@ -192,6 +192,7 @@ class core:
if
index
==
0
or
index
==
1
:
return
self
.
oai
.
before
else
:
print
"command = "
+
command
+
"rsp1 = "
+
rsp1
+
" rsp2 = "
+
rsp2
+
" index = "
+
str
(
index
)
raise
log
.
err
(
self
.
failed
(
command
,
rsp1
+
' or '
+
rsp2
,
debug
))
...
...
@@ -240,7 +241,7 @@ class core:
if
(
rsp
.
find
(
expect
)
==
-
1
):
return
'OK'
else
:
print
"command = "
+
c
m
d
+
"expect = "
+
expect
+
"rsp = "
+
rsp
print
"command = "
+
c
omman
d
+
"expect = "
+
expect
+
"rsp = "
+
rsp
raise
log
.
err
(
self
.
failed
(
command
,
expect
,
debug
))
...
...
cmake_targets/autotests/run_exec_autotests.bash
View file @
59241c47
...
...
@@ -175,6 +175,7 @@ function test_compile() {
#\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 $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
()
{
xUnit_start
...
...
@@ -195,12 +196,14 @@ function test_compile_and_run() {
compile_prog_out
=
${
13
}
tags
=
${
14
}
mypassword
=
${
15
}
test_config_file
=
${
16
}
build_dir
=
$tdir
/
$1
/build
#exec_file=$build_dir/$6
xmlfile_testcase
=
$log_dir
/test.
$1
.xml
#Temporary log file where execution log is stored.
temp_exec_log
=
$log_dir
/temp_log.txt
export
OPENAIR_LOGDIR
=
$log_dir
rm
-fr
$log_dir
mkdir
-p
$log_dir
...
...
@@ -219,6 +222,10 @@ function test_compile_and_run() {
#compile_prog_array=()
#read -a compile_prog_array <<<"$compile_prog"
#test_config_file=`eval "echo \"$test_config_file\" "`
#echo "test_config_file = $test_config_file"
tags_array
=()
read
-a
tags_array
<<<
"
$tags
"
...
...
@@ -238,17 +245,21 @@ function test_compile_and_run() {
cd
$log_dir
{
uname
-a
#eval $pre_compile_prog
#cmake ..
#rm -fv $exec_file
echo
"Executing
$compile_prog
$compile_args
"
>>
$log_file
echo
"Executing
$pre_compile_prog
"
eval
$pre_compile_prog
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
"
echo
"Copying compilation log files to test case log directory:
$log_dir
"
cp
-fvr
$OPENAIR_DIR
/cmake_targets/log/
$log_dir
/compile_log
}>>
$log_file
2>&1
echo
"</COMPILATION LOG>"
>>
$log_file
2>&1
#done
#process the test case if it is that of execution
if
[
"
$class
"
==
"execution"
]
;
then
tags_array_index
=
0
...
...
@@ -437,7 +448,8 @@ for search_expr in "${test_case_array[@]}"
else
flag_run_test_case
=
1
fi
#We skip this test case if it is not in the group list
if
[
"
$flag_run_test_case
"
-ne
"1"
]
;
then
continue
...
...
@@ -458,6 +470,7 @@ for search_expr in "${test_case_array[@]}"
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
`
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
"name =
$name
"
...
...
@@ -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
"
elif
[
"
$class
"
==
"execution"
]
;
then
$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
echo
"Unexpected class of test case...Skipping the test case
$name
...."
fi
...
...
cmake_targets/autotests/run_exec_lte-softmodem_tests.py
View file @
59241c47
...
...
@@ -60,9 +60,12 @@ import paramiko
import
subprocess
import
commands
sys
.
path
.
append
(
'/opt/ssh'
)
sys
.
path
.
append
(
os
.
path
.
expandvars
(
'$OPENAIR_DIR/cmake_targets/autotests/tools/'
))
from
lib_autotest
import
*
import
ssh
from
ssh
import
SSHSession
import
argparse
# \brief write a string to a file
# \param filename name of file
...
...
@@ -257,17 +260,17 @@ def finalize_deploy_script (timeout_cmd, terminate_missing_procs='True'):
# \param logdirRepo directory of remote repository
# \param python_script python script location
def
update_config_file
(
oai
,
config_string
,
logdirRepo
,
python_script
):
cmd
=
""
if
config_string
:
stringArray
=
config_string
.
splitlines
()
cmd
=
""
#python_script = '$OPENAIR_DIR/targets/autotests/tools/search_repl.py'
for
string
in
stringArray
:
#split the string based on space now
string1
=
string
.
split
()
cmd
=
cmd
+
'python '
+
python_script
+
' '
+
logdirRepo
+
'/'
+
string1
[
0
]
+
' '
+
string1
[
1
]
+
' '
+
string1
[
2
]
+
'
\n
'
#cmd = cmd + 'perl -p -i -e \'s/'+ string1[1] + '\\s*=\\s*"\\S*"\\s*/' + string1[1] + ' = "' + string1[2] +'"' + '/g\' ' + logdirRepo + '/' +string1[0] + '\n'
return
cmd
#result = oai.send_recv(cmd)
return
cmd
#result = oai.send_recv(cmd)
# \brief thread safe sshsession wrapper due to occasional connection issues with ssh
# \param machine name of machine
...
...
@@ -322,7 +325,7 @@ def cleanOldPrograms(oai, programList, CleanUpAluLteBox, ExmimoRfStop):
#result = oai.send_recv(cmd)
#print result
result
=
oai
.
send_expect_false
(
cmd
,
'Match found'
,
False
)
print
result
print
"Looking for old programs..."
+
result
res
=
oai
.
send_recv
(
CleanUpAluLteBox
,
True
)
res
=
oai
.
send_recv
(
ExmimoRfStop
,
False
)
...
...
@@ -358,7 +361,7 @@ class oaiThread (threading.Thread):
except
Exception
,
e
:
error
=
''
error
=
error
+
' In class oaiThread, function: '
+
sys
.
_getframe
().
f_code
.
co_name
+
': *** Caught exception: '
+
str
(
e
.
__class__
)
+
" : "
+
str
(
e
)
error
=
error
+
'
\n
threadID = '
+
str
(
self
.
threadID
)
+
'
\n
threadname = '
+
self
.
threadname
+
'
\n
timeout = '
+
self
.
timeout
+
'
\n
machine = '
+
self
.
machine
+
'
\n
cmd = '
+
self
.
cmd
+
'
\n
timeout = '
+
str
(
self
.
timeout
)
+
'
\n
username = '
+
self
.
username
+
'
\n
'
error
=
error
+
'
\n
threadID = '
+
str
(
self
.
threadID
)
+
'
\n
threadname = '
+
self
.
threadname
+
'
\n
timeout = '
+
str
(
self
.
timeout
)
+
'
\n
machine = '
+
self
.
machine
+
'
\n
cmd = '
+
self
.
cmd
+
'
\n
timeout = '
+
str
(
self
.
timeout
)
+
'
\n
username = '
+
self
.
username
+
'
\n
'
error
=
error
+
traceback
.
format_exc
()
print
error
...
...
@@ -547,7 +550,7 @@ def wait_testcaseclass_generic_threads(threadListGeneric, timeout = 1):
# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml)
# \param ExmimoRfStop command to stop EXMIMO Card
# \param nruns_lte-softmodem global parameter to override number of runs (nruns) within the test case
def
handle_testcaseclass_softmodem
(
testcase
,
oldprogramList
,
logdirOAI5GRepo
,
logdirOpenaircnRepo
,
MachineList
,
user
,
password
,
CleanUpAluLteBox
,
ExmimoRfStop
,
nruns_lte_softmodem
):
def
handle_testcaseclass_softmodem
(
testcase
,
oldprogramList
,
logdirOAI5GRepo
,
logdirOpenaircnRepo
,
MachineList
,
user
,
password
,
CleanUpAluLteBox
,
ExmimoRfStop
,
nruns_lte_softmodem
,
timeout_cmd
):
#We ignore the password sent to this function for secuirity reasons for password present in log files
#It is recommended to add a line in /etc/sudoers that looks something like below. The line below will run sudo without password prompt
# your_user_name ALL=(ALL:ALL) NOPASSWD: ALL
...
...
@@ -557,7 +560,8 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
#user = getpass.getuser()
testcasename
=
testcase
.
get
(
'id'
)
testcaseclass
=
testcase
.
findtext
(
'class'
,
default
=
''
)
timeout_cmd
=
testcase
.
findtext
(
'TimeOut_cmd'
,
default
=
''
)
if
timeout_cmd
==
''
:
timeout_cmd
=
testcase
.
findtext
(
'TimeOut_cmd'
,
default
=
''
)
timeout_cmd
=
int
(
float
(
timeout_cmd
))
#Timeout_thread is more than that of cmd to have room for compilation time, etc
timeout_thread
=
timeout_cmd
+
300
...
...
@@ -579,6 +583,8 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
eNB_traffic_exec_args
=
testcase
.
findtext
(
'eNB_traffic_exec_args'
,
default
=
''
)
eNB_terminate_missing_procs
=
testcase
.
findtext
(
'eNB_terminate_missing_procs'
,
default
=
'True'
)
eNB_search_expr_true
=
testcase
.
findtext
(
'eNB_search_expr_true'
,
''
)
if
re
.
compile
(
'\w+'
).
match
(
eNB_search_expr_true
)
!=
None
:
eNB_search_expr_true
=
eNB_search_expr_true
+
' duration='
+
str
(
timeout_cmd
-
90
)
+
's'
UEMachine
=
testcase
.
findtext
(
'UE'
,
default
=
''
)
UE_config_file
=
testcase
.
findtext
(
'UE_config_file'
,
default
=
''
)
...
...
@@ -593,6 +599,8 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
UE_terminate_missing_procs
=
testcase
.
findtext
(
'UE_terminate_missing_procs'
,
default
=
'True'
)
UE_search_expr_true
=
testcase
.
findtext
(
'UE_search_expr_true'
,
''
)
UE_stop_script
=
testcase
.
findtext
(
'UE_stop_script'
,
''
)
if
re
.
compile
(
'\w+'
).
match
(
UE_search_expr_true
)
!=
None
:
UE_search_expr_true
=
UE_search_expr_true
+
' duration='
+
str
(
timeout_cmd
-
90
)
+
's'
EPCMachine
=
testcase
.
findtext
(
'EPC'
,
default
=
''
)
EPC_config_file
=
testcase
.
findtext
(
'EPC_config_file'
,
default
=
''
)
...
...
@@ -611,6 +619,8 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
EPC_traffic_exec_args
=
testcase
.
findtext
(
'EPC_traffic_exec_args'
,
default
=
''
)
EPC_terminate_missing_procs
=
testcase
.
findtext
(
'EPC_terminate_missing_procs'
,
default
=
'True'
)
EPC_search_expr_true
=
testcase
.
findtext
(
'EPC_search_expr_true'
,
''
)
if
re
.
compile
(
'\w+'
).
match
(
EPC_search_expr_true
)
!=
None
:
EPC_search_expr_true
=
EPC_search_expr_true
+
' duration='
+
str
(
timeout_cmd
-
90
)
+
's'
index_eNBMachine
=
MachineList
.
index
(
eNBMachine
)
index_UEMachine
=
MachineList
.
index
(
UEMachine
)
...
...
@@ -679,6 +689,10 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
logfile_task_eNB_out
=
logdir_eNB
+
'/eNB_task_out'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_task_eNB
=
logdir_local_testcase
+
'/eNB_task'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_local_traffic_eNB_out
=
logdir_local_testcase
+
'/eNB_traffic'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_tshark_eNB
=
logdir_eNB
+
'/eNB_tshark'
+
'_'
+
str
(
run
)
+
'_.log'
logfile_pcap_eNB
=
logdir_eNB
+
'/eNB_tshark'
+
'_'
+
str
(
run
)
+
'_.pcap'
logfile_pcap_zip_eNB
=
logdir_eNB
+
'/eNB_tshark'
+
'_'
+
str
(
run
)
+
'_.pcap.zip'
logfile_pcap_tmp_eNB
=
'/tmp/'
+
'/eNB_tshark'
+
'_'
+
str
(
run
)
+
'_.pcap'
task_eNB_compile
=
' ( uname -a ; date
\n
'
task_eNB_compile
=
task_eNB_compile
+
'cd '
+
logdirOAI5GRepo
+
' ; source oaienv ; source cmake_targets/tools/build_helper
\n
'
...
...
@@ -700,9 +714,16 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
task_eNB
=
task_eNB
+
'array_exec_pid+=($!)
\n
'
task_eNB
=
task_eNB
+
'echo eNB_main_exec PID = $!
\n
'
if
eNB_traffic_exec
!=
""
:
task_eNB
=
task_eNB
+
' (date; '
+
eNB_traffic_exec
+
' '
+
eNB_traffic_exec_args
+
' ) > '
+
logfile_traffic_eNB
+
' 2>&1 &
\n
'
cmd_traffic
=
eNB_traffic_exec
+
' '
+
eNB_traffic_exec_args
if
cmd_traffic
.
find
(
'-c'
)
>=
0
:
cmd_traffic
=
cmd_traffic
+
' -t '
+
str
(
timeout_cmd
-
60
)
task_eNB
=
task_eNB
+
' (date; '
+
cmd_traffic
+
' ) > '
+
logfile_traffic_eNB
+
' 2>&1 &
\n
'
task_eNB
=
task_eNB
+
'array_exec_pid+=($!)
\n
'
task_eNB
=
task_eNB
+
'echo eNB_traffic_exec PID = $!
\n
'