merge last develop
This commit is contained in:
+25
-56
@@ -300,11 +300,7 @@ add_boolean_option(UE_DEBUG_TRACE False "Activate UE debug trace" ON)
|
|||||||
add_boolean_option(UE_TIMING_TRACE False "Activate UE timing trace" ON)
|
add_boolean_option(UE_TIMING_TRACE False "Activate UE timing trace" ON)
|
||||||
|
|
||||||
set (OCP_ITTI ${OPENAIR_DIR}/common/utils/ocp_itti)
|
set (OCP_ITTI ${OPENAIR_DIR}/common/utils/ocp_itti)
|
||||||
add_library(ITTI
|
add_library(ITTI ${OCP_ITTI}/intertask_interface.cpp)
|
||||||
${OCP_ITTI}/intertask_interface.cpp
|
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(ITTI PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(ITTI PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
# asn1c skeletons have hardcoded this flag to make customized debug logs
|
# asn1c skeletons have hardcoded this flag to make customized debug logs
|
||||||
@@ -487,6 +483,7 @@ add_library(CONFIG_LIB
|
|||||||
${CONFIG_ROOTDIR}/config_userapi.c
|
${CONFIG_ROOTDIR}/config_userapi.c
|
||||||
${CONFIG_ROOTDIR}/config_cmdline.c
|
${CONFIG_ROOTDIR}/config_cmdline.c
|
||||||
)
|
)
|
||||||
|
target_link_libraries(CONFIG_LIB PRIVATE dl UTIL)
|
||||||
add_library(params_libconfig MODULE ${CONFIG_ROOTDIR}/libconfig/config_libconfig.c)
|
add_library(params_libconfig MODULE ${CONFIG_ROOTDIR}/libconfig/config_libconfig.c)
|
||||||
target_link_libraries(params_libconfig config)
|
target_link_libraries(params_libconfig config)
|
||||||
# shared library loader
|
# shared library loader
|
||||||
@@ -783,7 +780,6 @@ add_library(UTIL
|
|||||||
${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c
|
${OPENAIR_DIR}/common/utils/threadPool/thread-pool.c
|
||||||
${OPENAIR_DIR}/common/utils/utils.c
|
${OPENAIR_DIR}/common/utils/utils.c
|
||||||
${OPENAIR_DIR}/common/utils/system.c
|
${OPENAIR_DIR}/common/utils/system.c
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
|
||||||
${OPENAIR_DIR}/common/utils/time_meas.c
|
${OPENAIR_DIR}/common/utils/time_meas.c
|
||||||
${OPENAIR_DIR}/common/utils/time_stat.c
|
${OPENAIR_DIR}/common/utils/time_stat.c
|
||||||
)
|
)
|
||||||
@@ -1005,7 +1001,7 @@ add_dependencies(ldpc_cl nrLDPC_decoder_kernels_CL)
|
|||||||
# Base CUDA setting
|
# Base CUDA setting
|
||||||
##############################################
|
##############################################
|
||||||
|
|
||||||
add_boolean_option(BUILD_CUDA False "Build support for CUDA" OFF)
|
add_boolean_option(ENABLE_LDPC_CUDA OFF "Build support for CUDA" OFF)
|
||||||
if (ENABLE_LDPC_CUDA)
|
if (ENABLE_LDPC_CUDA)
|
||||||
find_package(CUDA REQUIRED)
|
find_package(CUDA REQUIRED)
|
||||||
SET(CUDA_NVCC_FLAG "${CUDA_NVCC_FLAGS};-arch=sm_60;")
|
SET(CUDA_NVCC_FLAG "${CUDA_NVCC_FLAGS};-arch=sm_60;")
|
||||||
@@ -2040,6 +2036,19 @@ add_library(SIMU STATIC ${SIMUSRC} )
|
|||||||
target_include_directories(SIMU PUBLIC ${OPENAIR1_DIR}/SIMULATION/TOOLS ${OPENAIR1_DIR}/SIMULATION/RF)
|
target_include_directories(SIMU PUBLIC ${OPENAIR1_DIR}/SIMULATION/TOOLS ${OPENAIR1_DIR}/SIMULATION/RF)
|
||||||
target_link_libraries(SIMU PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(SIMU PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
|
# Qt-based scope
|
||||||
|
add_boolean_option(ENABLE_NRQTSCOPE OFF "Build the Qt-Scope" OFF)
|
||||||
|
if (ENABLE_NRQTSCOPE)
|
||||||
|
find_package(Qt5 REQUIRED COMPONENTS Widgets Charts)
|
||||||
|
message ("Qt5 Widgets and Charts found for nrqtscope")
|
||||||
|
set(QTSCOPE_SOURCE_NR ${OPENAIR1_DIR}/PHY/TOOLS/nr_phy_qt_scope.cpp)
|
||||||
|
# Creates rules for calling the Meta-Object Compiler (moc) on the given source files
|
||||||
|
qt5_wrap_cpp(QTSCOPE_SOURCE_NR ${OPENAIR1_DIR}/PHY/TOOLS/nr_phy_qt_scope.h)
|
||||||
|
add_library(nrqtscope MODULE ${QTSCOPE_SOURCE_NR})
|
||||||
|
target_link_libraries(nrqtscope PRIVATE Qt5::Widgets Qt5::Charts)
|
||||||
|
target_link_libraries(nrqtscope PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_library(SIMU_ETH
|
add_library(SIMU_ETH
|
||||||
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
|
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
|
||||||
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
|
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
|
||||||
@@ -2116,7 +2125,6 @@ add_definitions(-DASN1_MINIMUM_VERSION=924)
|
|||||||
# add executables for operation
|
# add executables for operation
|
||||||
#################################
|
#################################
|
||||||
add_library(minimal_lib
|
add_library(minimal_lib
|
||||||
${OPENAIR_DIR}/common/utils/backtrace.c
|
|
||||||
${OPENAIR_DIR}/common/utils/LOG/log.c
|
${OPENAIR_DIR}/common/utils/LOG/log.c
|
||||||
${OPENAIR_DIR}/common/utils/minimal_stub.c
|
${OPENAIR_DIR}/common/utils/minimal_stub.c
|
||||||
${T_SOURCE}
|
${T_SOURCE}
|
||||||
@@ -2175,49 +2183,15 @@ target_link_libraries(lte-softmodem PRIVATE
|
|||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
lte_rrc nr_rrc s1ap m2ap x2ap m3ap GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
|
lte_rrc nr_rrc s1ap m2ap x2ap m3ap GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
|
||||||
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
||||||
${RAL_LIB} ${NAS_UE_LIB} ITTI SIMU
|
${NAS_UE_LIB} ITTI SIMU
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(lte-softmodem PRIVATE ${LIBXML2_LIBRARIES})
|
target_link_libraries(lte-softmodem PRIVATE ${LIBXML2_LIBRARIES})
|
||||||
target_link_libraries(lte-softmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS})
|
target_link_libraries(lte-softmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp)
|
||||||
target_link_libraries(lte-softmodem PRIVATE ${LIB_LMS_LIBRARIES})
|
|
||||||
target_link_libraries(lte-softmodem PRIVATE ${T_LIB})
|
target_link_libraries(lte-softmodem PRIVATE ${T_LIB})
|
||||||
target_link_libraries(lte-softmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(lte-softmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
|
|
||||||
add_executable(ocp-enb
|
|
||||||
${OPENAIR_DIR}/executables/main-ocp.c
|
|
||||||
${OPENAIR_DIR}/executables/softmodem-common.c
|
|
||||||
${OPENAIR_DIR}/executables/main-fs6.c
|
|
||||||
${OPENAIR_DIR}/executables/transport_split.c
|
|
||||||
${OPENAIR2_DIR}/ENB_APP/NB_IoT_interface.c
|
|
||||||
${OPENAIR_DIR}/executables/create_tasks.c
|
|
||||||
${OPENAIR_DIR}/executables/create_tasks_mbms.c
|
|
||||||
${OPENAIR_DIR}/radio/COMMON/common_lib.c
|
|
||||||
${OPENAIR_DIR}/radio/COMMON/record_player.c
|
|
||||||
${OPENAIR2_DIR}/RRC/NAS/nas_config.c
|
|
||||||
${OPENAIR2_DIR}/RRC/NAS/rb_config.c
|
|
||||||
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/netlink_init.c
|
|
||||||
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/multicast_link.c
|
|
||||||
${OPENAIR1_DIR}/SIMULATION/ETH_TRANSPORT/socket.c
|
|
||||||
${OPENAIR3_DIR}/NAS/UE/nas_ue_task.c
|
|
||||||
${OPENAIR_DIR}/common/utils/lte/ue_power.c
|
|
||||||
${OPENAIR_DIR}/common/utils/lte/prach_utils.c
|
|
||||||
${PHY_INTERFACE_DIR}/queue_t.c
|
|
||||||
${OPENAIR1_DIR}/PHY/TOOLS/phy_scope_interface.c
|
|
||||||
${T_SOURCE}
|
|
||||||
${SHLIB_LOADER_SOURCES}
|
|
||||||
)
|
|
||||||
add_dependencies(ocp-enb oai_iqplayer coding params_libconfig rfsimulator)
|
|
||||||
|
|
||||||
target_link_libraries (ocp-enb
|
|
||||||
-Wl,--start-group
|
|
||||||
lte_rrc nr_rrc s1ap m2ap x2ap m3ap GTPV1U SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_LIB SCHED_RU_LIB
|
|
||||||
PHY_COMMON PHY PHY_RU L2 L2_LTE NFAPI_COMMON_LIB NFAPI_LIB MISC_NFAPI_LTE_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU
|
|
||||||
${RAL_LIB} ${NAS_UE_LIB} ITTI
|
|
||||||
-Wl,--end-group z dl)
|
|
||||||
target_link_libraries (ocp-enb ${LIBXML2_LIBRARIES} pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${LIB_LMS_LIBRARIES} ${T_LIB})
|
|
||||||
|
|
||||||
add_executable(oairu
|
add_executable(oairu
|
||||||
${OPENAIR_DIR}/executables/lte-ru.c
|
${OPENAIR_DIR}/executables/lte-ru.c
|
||||||
${OPENAIR_DIR}/executables/ru_control.c
|
${OPENAIR_DIR}/executables/ru_control.c
|
||||||
@@ -2236,7 +2210,7 @@ target_link_libraries(oairu PRIVATE
|
|||||||
PHY_COMMON PHY_RU UTIL
|
PHY_COMMON PHY_RU UTIL
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(oairu PRIVATE pthread m CONFIG_LIB rt ${CMAKE_DL_LIBS} ${T_LIB})
|
target_link_libraries(oairu PRIVATE pthread m CONFIG_LIB rt ${T_LIB})
|
||||||
target_link_libraries(oairu PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(oairu PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
# force the generation of ASN.1 so that we don't need to wait during the build
|
# force the generation of ASN.1 so that we don't need to wait during the build
|
||||||
@@ -2275,12 +2249,11 @@ target_link_libraries(lte-uesoftmodem PRIVATE
|
|||||||
lte_rrc nr_rrc s1ap x2ap m2ap m3ap
|
lte_rrc nr_rrc s1ap x2ap m2ap m3ap
|
||||||
SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
SECU_CN SECU_OSA UTIL HASHTABLE SCTP_CLIENT MME_APP SCHED_RU_LIB SCHED_UE_LIB PHY_COMMON
|
||||||
PHY_UE PHY_RU L2_UE L2_LTE SIMU NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
PHY_UE PHY_RU L2_UE L2_LTE SIMU NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB MISC_NFAPI_LTE_LIB
|
||||||
${RAL_LIB} ${NAS_UE_LIB} ITTI ${ATLAS_LIBRARIES}
|
${NAS_UE_LIB} ITTI ${ATLAS_LIBRARIES}
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE ${LIBXML2_LIBRARIES})
|
target_link_libraries(lte-uesoftmodem PRIVATE ${LIBXML2_LIBRARIES})
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${ATLAS_LIBRARIES})
|
target_link_libraries(lte-uesoftmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${ATLAS_LIBRARIES})
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE ${LIB_LMS_LIBRARIES})
|
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE ${T_LIB})
|
target_link_libraries(lte-uesoftmodem PRIVATE ${T_LIB})
|
||||||
target_link_libraries(lte-uesoftmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(lte-uesoftmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
@@ -2317,14 +2290,13 @@ add_executable(nr-softmodem
|
|||||||
target_link_libraries(nr-softmodem PRIVATE
|
target_link_libraries(nr-softmodem PRIVATE
|
||||||
-Wl,--start-group
|
-Wl,--start-group
|
||||||
UTIL HASHTABLE SCTP_CLIENT SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU GTPV1U SECU_CN SECU_OSA
|
UTIL HASHTABLE SCTP_CLIENT SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_NR_COMMON PHY_RU GTPV1U SECU_CN SECU_OSA
|
||||||
ITTI ${RAL_LIB} ${NAS_UE_LIB} lte_rrc nr_rrc
|
ITTI ${NAS_UE_LIB} lte_rrc nr_rrc
|
||||||
ngap s1ap L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU
|
ngap s1ap L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU
|
||||||
x2ap f1ap m2ap m3ap e1ap
|
x2ap f1ap m2ap m3ap e1ap
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(nr-softmodem PRIVATE ${LIBXML2_LIBRARIES})
|
target_link_libraries(nr-softmodem PRIVATE ${LIBXML2_LIBRARIES})
|
||||||
target_link_libraries(nr-softmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${CMAKE_DL_LIBS} ${ATLAS_LIBRARIES})
|
target_link_libraries(nr-softmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} sctp ${ATLAS_LIBRARIES})
|
||||||
target_link_libraries(nr-softmodem PRIVATE ${LIB_LMS_LIBRARIES})
|
|
||||||
target_link_libraries(nr-softmodem PRIVATE ${T_LIB})
|
target_link_libraries(nr-softmodem PRIVATE ${T_LIB})
|
||||||
target_link_libraries(nr-softmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(nr-softmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
@@ -2385,12 +2357,11 @@ target_link_libraries(nr-uesoftmodem PRIVATE
|
|||||||
nr_rrc SECU_CN SECU_OSA UTIL HASHTABLE SCHED_RU_LIB SCHED_NR_UE_LIB
|
nr_rrc SECU_CN SECU_OSA UTIL HASHTABLE SCHED_RU_LIB SCHED_NR_UE_LIB
|
||||||
PHY_COMMON PHY_NR_COMMON PHY_NR_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
|
PHY_COMMON PHY_NR_COMMON PHY_NR_UE NR_L2_UE L2_UE_LTE_NR MAC_NR_COMMON NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB
|
||||||
NFAPI_USER_LIB MISC_NFAPI_NR_LIB
|
NFAPI_USER_LIB MISC_NFAPI_NR_LIB
|
||||||
${RAL_LIB} ITTI ${ATLAS_LIBRARIES} LIB_5GNAS_GNB LIB_NAS_SIMUE ${NAS_SIM_LIB} SIMU
|
ITTI ${ATLAS_LIBRARIES} LIB_5GNAS_GNB LIB_NAS_SIMUE ${NAS_SIM_LIB} SIMU
|
||||||
-Wl,--end-group z dl)
|
-Wl,--end-group z dl)
|
||||||
|
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE ${LIBXML2_LIBRARIES})
|
target_link_libraries(nr-uesoftmodem PRIVATE ${LIBXML2_LIBRARIES})
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${CMAKE_DL_LIBS} ${ATLAS_LIBRARIES})
|
target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${ATLAS_LIBRARIES})
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE ${LIB_LMS_LIBRARIES})
|
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE ${T_LIB})
|
target_link_libraries(nr-uesoftmodem PRIVATE ${T_LIB})
|
||||||
target_link_libraries(nr-uesoftmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(nr-uesoftmodem PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
@@ -2533,7 +2504,6 @@ target_link_libraries(nr_dlsim PRIVATE
|
|||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
|
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
|
||||||
)
|
)
|
||||||
target_link_libraries(nr_dlsim PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(nr_dlsim PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
target_compile_definitions(nr_dlsim PUBLIC -DPHYSICAL_SIMULATOR)
|
|
||||||
|
|
||||||
add_executable(nr_prachsim
|
add_executable(nr_prachsim
|
||||||
${OPENAIR1_DIR}/SIMULATION/NR_PHY/prachsim.c
|
${OPENAIR1_DIR}/SIMULATION/NR_PHY/prachsim.c
|
||||||
@@ -2585,7 +2555,6 @@ target_link_libraries(nr_ulsim PRIVATE
|
|||||||
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON lte_rrc nr_rrc CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE x2ap SECU_CN ngap NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB -lz -Wl,--end-group
|
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB SCHED_NR_UE_LIB MAC_NR MAC_UE_NR MAC_NR_COMMON lte_rrc nr_rrc CONFIG_LIB L2_LTE_NR L2_NR HASHTABLE x2ap SECU_CN ngap NFAPI_COMMON_LIB NFAPI_LIB NFAPI_PNF_LIB NFAPI_USER_LIB -lz -Wl,--end-group
|
||||||
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
|
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ITTI ${OPENSSL_LIBRARIES} dl
|
||||||
)
|
)
|
||||||
target_compile_definitions(nr_ulsim PUBLIC -DPHYSICAL_SIMULATOR)
|
|
||||||
target_link_libraries(nr_ulsim PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
target_link_libraries(nr_ulsim PRIVATE asn1_nr_rrc asn1_lte_rrc)
|
||||||
|
|
||||||
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
|
foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim prachsim syncsim)
|
||||||
|
|||||||
@@ -155,14 +155,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
echo "no ADB_IPAddress given"
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
echo "no ADB_IPAddress given"
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.OC_Credentials == null) {
|
if (params.OC_Credentials == null) {
|
||||||
echo "no OC_Credentials given"
|
echo "no OC_Credentials given"
|
||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
@@ -207,14 +199,13 @@ pipeline {
|
|||||||
withCredentials([
|
withCredentials([
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password'],
|
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
|
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
|
|||||||
@@ -140,12 +140,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.OC_Credentials == null) {
|
if (params.OC_Credentials == null) {
|
||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
@@ -192,15 +186,14 @@ pipeline {
|
|||||||
withCredentials([
|
withCredentials([
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password'],
|
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
|
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
|
|||||||
@@ -155,13 +155,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
|
|
||||||
if (allParametersPresent) {
|
if (allParametersPresent) {
|
||||||
echo "All parameters are present"
|
echo "All parameters are present"
|
||||||
if (eNB_AllowMergeRequestProcess) {
|
if (eNB_AllowMergeRequestProcess) {
|
||||||
@@ -202,14 +195,13 @@ pipeline {
|
|||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
|
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
|
|||||||
@@ -150,13 +150,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
|
|
||||||
if (allParametersPresent) {
|
if (allParametersPresent) {
|
||||||
echo "All parameters are present"
|
echo "All parameters are present"
|
||||||
if (eNB_AllowMergeRequestProcess) {
|
if (eNB_AllowMergeRequestProcess) {
|
||||||
@@ -198,14 +191,13 @@ pipeline {
|
|||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
|
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
@@ -220,20 +212,6 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage ("Terminate") {
|
stage ("Terminate") {
|
||||||
parallel {
|
parallel {
|
||||||
stage('Terminate UE') {
|
|
||||||
// Bypassing this stage if there are no abd server defined
|
|
||||||
when {
|
|
||||||
expression { params.ADB_IPAddress != "none" }
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
echo '\u2705 \u001B[32mTerminate UE\u001B[0m'
|
|
||||||
withCredentials([
|
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
|
||||||
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Terminate eNB') {
|
stage('Terminate eNB') {
|
||||||
steps {
|
steps {
|
||||||
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
|
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
|
||||||
|
|||||||
@@ -169,12 +169,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.DataBaseHost == "none") {
|
if (params.DataBaseHost == "none") {
|
||||||
DataBaseHost = pythonExecutor
|
DataBaseHost = pythonExecutor
|
||||||
}
|
}
|
||||||
@@ -220,15 +214,14 @@ pipeline {
|
|||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password'],
|
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
|
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
|
|||||||
@@ -89,10 +89,6 @@ pipeline {
|
|||||||
string(name: 'EPC_Type', defaultValue: 'ltebox', description: 'EPC type: OAI or ltebox')
|
string(name: 'EPC_Type', defaultValue: 'ltebox', description: 'EPC type: OAI or ltebox')
|
||||||
credentials(name: 'EPC_Credentials', defaultValue: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', credentialType: "Username with password", required: true, description: 'Credentials for EPC')
|
credentials(name: 'EPC_Credentials', defaultValue: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', credentialType: "Username with password", required: true, description: 'Credentials for EPC')
|
||||||
string(name: 'EPC_SourceCodePath', defaultValue: '/tmp/CI-enb', description: 'Full path of EPC source code')
|
string(name: 'EPC_SourceCodePath', defaultValue: '/tmp/CI-enb', description: 'Full path of EPC source code')
|
||||||
|
|
||||||
//ADB server parameters
|
|
||||||
string(name: 'ADB_IPAddress', defaultValue: '192.168.XX.XX', description: 'IP Address of ADB server')
|
|
||||||
credentials(name: 'ADB_Credentials', defaultValue: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', credentialType: "Username with password", required: true, description: 'Credentials for ADB')
|
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -171,13 +167,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
|
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
|
|
||||||
if (allParametersPresent) {
|
if (allParametersPresent) {
|
||||||
echo "All parameters are present"
|
echo "All parameters are present"
|
||||||
if (eNB_AllowMergeRequestProcess) {
|
if (eNB_AllowMergeRequestProcess) {
|
||||||
@@ -217,14 +206,13 @@ pipeline {
|
|||||||
withCredentials([
|
withCredentials([
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
|
sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
@@ -239,27 +227,6 @@ pipeline {
|
|||||||
}
|
}
|
||||||
stage ("Terminate") {
|
stage ("Terminate") {
|
||||||
parallel {
|
parallel {
|
||||||
stage('Terminate UE') {
|
|
||||||
// Bypassing this stage if there are no abd server defined
|
|
||||||
when {
|
|
||||||
expression { params.ADB_IPAddress != "none" }
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
echo '\u2705 \u001B[32mTerminate UE\u001B[0m'
|
|
||||||
withCredentials([
|
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
|
||||||
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
post {
|
|
||||||
success {
|
|
||||||
script {
|
|
||||||
termStatusArray[termUE] = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Terminate eNB') {
|
stage('Terminate eNB') {
|
||||||
steps {
|
steps {
|
||||||
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
|
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
|
||||||
@@ -517,13 +484,6 @@ pipeline {
|
|||||||
// Making sure that we really shutdown every thing before leaving
|
// Making sure that we really shutdown every thing before leaving
|
||||||
failure {
|
failure {
|
||||||
script {
|
script {
|
||||||
if ((!termStatusArray[termUE]) && (params.ADB_IPAddress != "none")) {
|
|
||||||
withCredentials([
|
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
|
||||||
sh "python3 ci-scripts/main.py --mode=TerminateUE --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!termStatusArray[termENB]) {
|
if (!termStatusArray[termENB]) {
|
||||||
withCredentials([
|
withCredentials([
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
|
||||||
|
|||||||
@@ -142,13 +142,6 @@ pipeline {
|
|||||||
allParametersPresent = false
|
allParametersPresent = false
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if (params.ADB_IPAddress == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
if (params.ADB_Credentials == null) {
|
|
||||||
allParametersPresent = false
|
|
||||||
}
|
|
||||||
|
|
||||||
if (allParametersPresent) {
|
if (allParametersPresent) {
|
||||||
echo "All parameters are present"
|
echo "All parameters are present"
|
||||||
if (eNB_AllowMergeRequestProcess) {
|
if (eNB_AllowMergeRequestProcess) {
|
||||||
@@ -187,14 +180,13 @@ pipeline {
|
|||||||
}
|
}
|
||||||
withCredentials([
|
withCredentials([
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
|
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'],
|
||||||
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
|
|
||||||
]) {
|
]) {
|
||||||
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
|
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
|
||||||
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
|
||||||
for (xmlFile in myXmlTestSuite) {
|
for (xmlFile in myXmlTestSuite) {
|
||||||
if (fileExists(xmlFile)) {
|
if (fileExists(xmlFile)) {
|
||||||
try {
|
try {
|
||||||
sh "python3 main.py --mode=TestUE --UEIPAddress=${params.UE_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
|
sh "python3 main.py --mode=TestUE --UEIPAddress=${params.UE_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --XMLTestFile=${xmlFile}"
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
currentBuild.result = 'FAILURE'
|
currentBuild.result = 'FAILURE'
|
||||||
buildStageStatus = false
|
buildStageStatus = false
|
||||||
|
|||||||
@@ -227,23 +227,13 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,ldpc,CONTAINERS,HELP,SCA,PHYSIM,CLUST
|
|||||||
matchReg = re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE)
|
matchReg = re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE)
|
||||||
EPC.ContainerPrefix=matchReg.group(1)
|
EPC.ContainerPrefix=matchReg.group(1)
|
||||||
elif re.match('^\-\-ADBIPAddress=(.+)$', myArgv, re.IGNORECASE):
|
elif re.match('^\-\-ADBIPAddress=(.+)$', myArgv, re.IGNORECASE):
|
||||||
matchReg = re.match('^\-\-ADBIPAddress=(.+)$', myArgv, re.IGNORECASE)
|
print("ignoring --ADBIPAddress parameter")
|
||||||
CiTestObj.ADBIPAddress = matchReg.group(1)
|
|
||||||
elif re.match('^\-\-ADBUserName=(.+)$', myArgv, re.IGNORECASE):
|
elif re.match('^\-\-ADBUserName=(.+)$', myArgv, re.IGNORECASE):
|
||||||
matchReg = re.match('^\-\-ADBUserName=(.+)$', myArgv, re.IGNORECASE)
|
print("ignoring --ADBUserName parameter")
|
||||||
CiTestObj.ADBUserName = matchReg.group(1)
|
|
||||||
elif re.match('^\-\-ADBType=(.+)$', myArgv, re.IGNORECASE):
|
elif re.match('^\-\-ADBType=(.+)$', myArgv, re.IGNORECASE):
|
||||||
matchReg = re.match('^\-\-ADBType=(.+)$', myArgv, re.IGNORECASE)
|
print("ignoring --ADBType parameter")
|
||||||
if re.match('centralized', matchReg.group(1), re.IGNORECASE) or re.match('distributed', matchReg.group(1), re.IGNORECASE):
|
|
||||||
if re.match('distributed', matchReg.group(1), re.IGNORECASE):
|
|
||||||
CiTestObj.ADBCentralized = False
|
|
||||||
else:
|
|
||||||
CiTestObj.ADBCentralized = True
|
|
||||||
else:
|
|
||||||
sys.exit('Invalid ADB Type: ' + matchReg.group(1) + ' -- (should be centralized or distributed)')
|
|
||||||
elif re.match('^\-\-ADBPassword=(.+)$', myArgv, re.IGNORECASE):
|
elif re.match('^\-\-ADBPassword=(.+)$', myArgv, re.IGNORECASE):
|
||||||
matchReg = re.match('^\-\-ADBPassword=(.+)$', myArgv, re.IGNORECASE)
|
print("ignoring --ADBPassword parameter")
|
||||||
CiTestObj.ADBPassword = matchReg.group(1)
|
|
||||||
elif re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE):
|
elif re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE):
|
||||||
matchReg = re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE)
|
matchReg = re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE)
|
||||||
CiTestObj.testXMLfiles.append(matchReg.group(1))
|
CiTestObj.testXMLfiles.append(matchReg.group(1))
|
||||||
|
|||||||
@@ -39,10 +39,6 @@ def main():
|
|||||||
'--ranAllowMerge=' + params['ranAllowMerge'] + ' ' + \
|
'--ranAllowMerge=' + params['ranAllowMerge'] + ' ' + \
|
||||||
'--ranTargetBranch=' + params['ranTargetBranch'] + ' ' + \
|
'--ranTargetBranch=' + params['ranTargetBranch'] + ' ' + \
|
||||||
\
|
\
|
||||||
'--ADBIPAddress=' + params['ADB']['ADBIPAddress'] + ' ' + \
|
|
||||||
'--ADBUserName=' + params['ADB']['ADBUserName'] + ' ' + \
|
|
||||||
'--ADBPassword=' + params['ADB']['ADBPassword'] + ' ' + \
|
|
||||||
\
|
|
||||||
'--UEIPAddress=' + params['UE']['UEIPAddress'] + ' ' + \
|
'--UEIPAddress=' + params['UE']['UEIPAddress'] + ' ' + \
|
||||||
'--UEUserName=' + params['UE']['UEUserName'] + ' ' + \
|
'--UEUserName=' + params['UE']['UEUserName'] + ' ' + \
|
||||||
'--UEPassword=' + params['UE']['UEPassword'] + ' ' + \
|
'--UEPassword=' + params['UE']['UEPassword'] + ' ' + \
|
||||||
|
|||||||
@@ -12,12 +12,6 @@ steps:
|
|||||||
- TesteNB,xml_files/fr1_nsa_base_next.xml #ue toggle, nodes initialize, ue toggle, ping, nodes terminate
|
- TesteNB,xml_files/fr1_nsa_base_next.xml #ue toggle, nodes initialize, ue toggle, ping, nodes terminate
|
||||||
- TesteNB,xml_files/fr1_epc_closure.xml
|
- TesteNB,xml_files/fr1_epc_closure.xml
|
||||||
|
|
||||||
|
|
||||||
ADB: #on Caracal
|
|
||||||
ADBIPAddress : 172.21.16.132
|
|
||||||
ADBUserName : oaici
|
|
||||||
ADBPassword : KkexF6CErOi1fNuebCPsuIVK
|
|
||||||
|
|
||||||
RAN:
|
RAN:
|
||||||
- eNBIPAddress : 192.168.18.199 #eNB on Minimassive
|
- eNBIPAddress : 192.168.18.199 #eNB on Minimassive
|
||||||
eNBUserName : oaicicd
|
eNBUserName : oaicicd
|
||||||
|
|||||||
Executable
+55
@@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "usage: $0 <command> <id>"
|
||||||
|
echo "available commands: initialize, attach, detach, terminate, check"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -ne 2 ]; then
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmd=$1
|
||||||
|
id=$2
|
||||||
|
|
||||||
|
flightmode_off() {
|
||||||
|
set +x
|
||||||
|
adb -s $id shell "/data/local/tmp/on"
|
||||||
|
}
|
||||||
|
|
||||||
|
flightmode_on() {
|
||||||
|
set +x
|
||||||
|
adb -s $id shell "/data/local/tmp/off"
|
||||||
|
}
|
||||||
|
|
||||||
|
initialize() {
|
||||||
|
set +x
|
||||||
|
adb -s $id shell "svc data enable" # make sure data services are enabled
|
||||||
|
flightmode_on
|
||||||
|
}
|
||||||
|
|
||||||
|
terminate() {
|
||||||
|
echo "terminate: does nothing"
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
declare -A service=( ["0"]="IN_SERVICE" ["1"]="OUT_OF_SERVICE" ["2"]="EMERGENCY_ONLY" ["3"]="RADIO_POWERED_OFF")
|
||||||
|
declare -A data=( ["0"]="DISCONNECTED" ["1"]="CONNECTING" ["2"]="CONNECTED" ["3"]="SUSPENDED")
|
||||||
|
serv_idx=$(adb -s $id shell "dumpsys telephony.registry" | sed -n 's/.*mServiceState=\([0-3]\).*/\1/p')
|
||||||
|
data_idx=$(adb -s $id shell "dumpsys telephony.registry" | sed -n 's/.*mDataConnectionState=\([0-3]\).*/\1/p')
|
||||||
|
data_reason=$(adb -s $id shell "dumpsys telephony.registry" | sed -n 's/.*mDataConnectionReason=\([0-9a-zA-Z_]\+\).*/\1/p')
|
||||||
|
#echo "Status Check UE $id"
|
||||||
|
echo "Service State: ${service[$serv_idx]}"
|
||||||
|
echo "Data State: ${data[$data_idx]}"
|
||||||
|
echo "Data Reason: ${data_reason}"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${cmd}" in
|
||||||
|
initialize) initialize;;
|
||||||
|
attach) flightmode_off;;
|
||||||
|
detach) flightmode_on;;
|
||||||
|
terminate) terminate;;
|
||||||
|
check) check;;
|
||||||
|
*) echo "Invalid command $cmd"; usage; exit 1;;
|
||||||
|
esac
|
||||||
@@ -33,7 +33,6 @@ import sys
|
|||||||
import time
|
import time
|
||||||
import serial
|
import serial
|
||||||
|
|
||||||
|
|
||||||
class qtel_ctl:
|
class qtel_ctl:
|
||||||
#---------------
|
#---------------
|
||||||
#private methods
|
#private methods
|
||||||
@@ -75,12 +74,15 @@ class qtel_ctl:
|
|||||||
self.__set_modem_state(self.modem,'0')
|
self.__set_modem_state(self.modem,'0')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
#argv[1] : usb port
|
#argv[1] : usb port
|
||||||
#argv[2] : qtel command (see function pointers dict "wup", "detach" etc ...)
|
#argv[2] : qtel command (see function pointers dict "wup", "detach" etc ...)
|
||||||
|
if len(sys.argv) >= 3:
|
||||||
command = sys.argv[2]
|
command = sys.argv[2]
|
||||||
|
print(command)
|
||||||
Module=qtel_ctl(sys.argv[1])
|
Module=qtel_ctl(sys.argv[1])
|
||||||
#calling the function to be applied
|
#calling the function to be applied
|
||||||
Module.cmd_dict[command]()
|
Module.cmd_dict[command]()
|
||||||
|
print(Module.cmd_dict[command])
|
||||||
|
else:
|
||||||
|
print("To many arguments")
|
||||||
|
|||||||
+122
-100
@@ -1,106 +1,128 @@
|
|||||||
idefix:
|
idefix:
|
||||||
ID: idefix
|
Host: idefix
|
||||||
State : enabled
|
InitScript: sudo stdbuf -oL /home/oaicicd/quectel-CM/quectel-CM -4 -s oai.ipv4 &> /tmp/quectel-cm.log &
|
||||||
Kind : quectel
|
TermScript: sudo -S killall --signal SIGKILL quectel-CM
|
||||||
Process :
|
AttachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
|
||||||
Name : quectel-CM
|
DetachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
|
||||||
Cmd : /home/oaicicd/quectel-CM/quectel-CM -4 -s
|
UENetworkScript: ip a show dev wwan0
|
||||||
Apn :
|
IF: wwan0
|
||||||
ltebox : oai.ipv4
|
MTU: 1500
|
||||||
WakeupScript : ci_ctl_qtel.py /dev/ttyUSB2 wup
|
Trace: True
|
||||||
DetachScript : ci_ctl_qtel.py /dev/ttyUSB2 detach
|
|
||||||
LogStore: /media/usb-drive/ci_qlogs
|
LogStore: /media/usb-drive/ci_qlogs
|
||||||
PLMN : 22201
|
|
||||||
UENetwork : wwan0
|
|
||||||
HostIPAddress : 172.21.16.135
|
|
||||||
HostUsername : oaicicd
|
|
||||||
HostPassword : oaicicd
|
|
||||||
HostSourceCodePath : none
|
|
||||||
MTU : 1500
|
|
||||||
nrmodule2_quectel:
|
nrmodule2_quectel:
|
||||||
ID: nrmodule2_quectel
|
Host: nrmodule2
|
||||||
State : enabled
|
InitScript: sudo stdbuf -oL /home/nrmodule2/quectel-CM/quectel-CM -4 -s oai.ipv4 &> /tmp/quecel-cm.log &
|
||||||
Kind : quectel
|
TermScript: sudo -S killall --signal SIGKILL quectel-CM
|
||||||
Process :
|
AttachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
|
||||||
Name : quectel-CM
|
DetachScript: sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
|
||||||
Cmd : /home/nrmodule2/quectel-CM/quectel-CM -4 -s
|
UENetworkScript: ip a show dev wwan0
|
||||||
Apn :
|
IF: wwan0
|
||||||
OAICN5G : oai
|
MTU: 1500
|
||||||
OAI-Rel14-Docker : oai.ipv4
|
|
||||||
WakeupScript : ci_ctl_qtel.py /dev/ttyUSB2 wup
|
|
||||||
DetachScript : ci_ctl_qtel.py /dev/ttyUSB2 detach
|
|
||||||
LogStore: /media/ci_qlogs
|
LogStore: /media/ci_qlogs
|
||||||
PLMN : 20897
|
|
||||||
UENetwork : wwan0
|
adb_ue_1:
|
||||||
HostIPAddress : 172.21.16.139
|
Host: nano
|
||||||
HostUsername : nrmodule2
|
InitScript: /home/oaicicd/ci_ctl_adb.sh initialize 5200a933fee93521
|
||||||
HostPassword : linux
|
TermScript: /home/oaicicd/ci_ctl_adb.sh terminate 5200a933fee93521
|
||||||
HostSourceCodePath : none
|
AttachScript: /home/oaicicd/ci_ctl_adb.sh attach 5200a933fee93521
|
||||||
StartCommands :
|
DetachScript: /home/oaicicd/ci_ctl_adb.sh detach 5200a933fee93521
|
||||||
- sudo -S ip link set dev wwan1 mtu 1500
|
CheckStatusScript: /home/oaicicd/ci_ctl_adb.sh check 5200a933fee93521
|
||||||
|
DataEnableScript: adb -s 5200a933fee93521 shell "svc data enable"
|
||||||
|
DataDisableScript: adb -s 5200a933fee93521 shell "svc data disable"
|
||||||
|
UENetworkScript: adb -s 5200a933fee93521 shell "ip address show | grep rmnet"
|
||||||
|
CmdPrefix: adb -s 5200a933fee93521 shell
|
||||||
|
MTU: 1500
|
||||||
|
LogStore: /media/usb-drive/ci_adb_1-logs
|
||||||
|
adb_ue_2:
|
||||||
|
Host: nano
|
||||||
|
InitScript: /home/oaicicd/ci_ctl_adb.sh initialize 5200c00db4413517
|
||||||
|
TermScript: /home/oaicicd/ci_ctl_adb.sh terminate 5200c00db4413517
|
||||||
|
AttachScript: /home/oaicicd/ci_ctl_adb.sh attach 5200c00db4413517
|
||||||
|
DetachScript: /home/oaicicd/ci_ctl_adb.sh detach 5200c00db4413517
|
||||||
|
CheckStatusScript: /home/oaicicd/ci_ctl_adb.sh check 5200c00db4413517
|
||||||
|
DataEnableScript: adb -s 5200c00db4413517 shell "svc data enable"
|
||||||
|
DataDisableScript: adb -s 5200c00db4413517 shell "svc data disable"
|
||||||
|
UENetworkScript: adb -s 5200c00db4413517 shell "ip address show | grep rmnet"
|
||||||
|
CmdPrefix: adb -s 5200c00db4413517 shell
|
||||||
|
MTU: 1500
|
||||||
|
LogStore: /media/usb-drive/ci_adb_2-logs
|
||||||
|
|
||||||
|
amarisoft_ue:
|
||||||
|
Host: amariue
|
||||||
|
InitScript: nohup /root/NV18-06-2022/ue/lteue /root/NV18-06-2022/ue/config/oaicicd-ue-ci-test.cfg &
|
||||||
|
TermScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"quit"}'
|
||||||
|
amarisoft_ue_1:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":1}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":1}'
|
||||||
|
UENetworkScript: ip netns exec ue1 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue1
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_2:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":2}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":2}'
|
||||||
|
UENetworkScript: ip netns exec ue2 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue2
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_3:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":3}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":3}'
|
||||||
|
UENetworkScript: ip netns exec ue3 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue3
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_4:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":4}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":4}'
|
||||||
|
UENetworkScript: ip netns exec ue4 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue4
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_5:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":5}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":5}'
|
||||||
|
UENetworkScript: ip netns exec ue5 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue5
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_6:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":6}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":6}'
|
||||||
|
UENetworkScript: ip netns exec ue6 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue6
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_7:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":7}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":7}'
|
||||||
|
UENetworkScript: ip netns exec ue7 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue7
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_8:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":8}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":8}'
|
||||||
|
UENetworkScript: ip netns exec ue8 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue8
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_9:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":9}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":9}'
|
||||||
|
UENetworkScript: ip netns exec ue9 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue9
|
||||||
|
MTU: 1500
|
||||||
|
amarisoft_ue_10:
|
||||||
|
Host: amariue
|
||||||
|
AttachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_on","ue_id":10}'
|
||||||
|
DetachScript: /root/NV18-06-2022/lteue-linux-2022-06-18/doc/ws.js 127.0.0.1:9002 '{"message":"power_off","ue_id":10}'
|
||||||
|
UENetworkScript: ip netns exec ue10 ip a show dev pdn0
|
||||||
|
CmdPrefix: ip netns exec ue10
|
||||||
MTU: 1500
|
MTU: 1500
|
||||||
|
|
||||||
# CAUTION: 192.168.18.89 address has to be changed when the server is moved
|
oai_ue_obelix:
|
||||||
#single UE single ping
|
Host: obelix
|
||||||
amarisoft_ue_1:
|
UENetworkScript: ip a show dev oaitun_ue1
|
||||||
ID: amarisoft_ue_1
|
IF: oaitun_ue1
|
||||||
State : enabled
|
|
||||||
Kind : amarisoft
|
|
||||||
#not required for AS config but needed for py script
|
|
||||||
WakeupScript : none
|
|
||||||
DetachScript : none
|
|
||||||
#end
|
|
||||||
Cmd : /root/NV18-06-2022/ue/lteue
|
|
||||||
Config : /root/NV17-12-21/ue/config/oaicicd-ue-Ping-SATest.cfg
|
|
||||||
Duration : 60
|
|
||||||
Ping : /tmp/test_ue1.log
|
|
||||||
UELog : /tmp/ue1.log
|
|
||||||
HostIPAddress : 172.21.16.144
|
|
||||||
HostUsername : root
|
|
||||||
HostPassword : toor
|
|
||||||
HostSourceCodePath : /tmp
|
|
||||||
|
|
||||||
|
|
||||||
#an other scenario example
|
|
||||||
#notice : this will not work as such, only suggestion for multi ue scenario
|
|
||||||
amarisoft_ue_2:
|
|
||||||
ID: amarisoft_ue_2
|
|
||||||
State : enabled
|
|
||||||
Kind : amarisoft
|
|
||||||
#not required for AS config but needed for py script
|
|
||||||
WakeupScript : none
|
|
||||||
DetachScript : none
|
|
||||||
#end
|
|
||||||
Cmd : /root/NV18-06-2022/ue/lteue
|
|
||||||
Config : /root/NV17-12-21/ue/config/xxxxxxx.cfg #to be updated for an other scenario
|
|
||||||
Duration : 60
|
|
||||||
Ping :
|
|
||||||
- /tmp/test_ue1.log #to be updated fo an other scenario
|
|
||||||
- /tmp/test_ue2.log #could be a list for a multi ue scenario
|
|
||||||
UELog :
|
|
||||||
- /tmp/ue1.log
|
|
||||||
- /tmp/ue1.log
|
|
||||||
HostIPAddress : 192.168.18.89
|
|
||||||
HostUsername : root
|
|
||||||
HostPassword : toor
|
|
||||||
HostSourceCodePath : /tmp
|
|
||||||
|
|
||||||
|
|
||||||
#do not remove
|
|
||||||
dummy:
|
|
||||||
ID: ''
|
|
||||||
State : ''
|
|
||||||
Kind : ''
|
|
||||||
Process :
|
|
||||||
Name : ''
|
|
||||||
Cmd : ''
|
|
||||||
WakeupScript : ''
|
|
||||||
DetachScript : ''
|
|
||||||
PLMN : 22201
|
|
||||||
UENetwork : wwan0
|
|
||||||
HostIPAddress : 172.21.16.135
|
|
||||||
HostUsername : oaicicd
|
|
||||||
HostPassword : oaicicd
|
|
||||||
HostSourceCodePath : none
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
# * 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.1 (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
|
|
||||||
# */
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Required Python Version
|
|
||||||
# Python 3.x
|
|
||||||
#
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
|
|
||||||
#to use isfile
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import logging
|
|
||||||
#to create a SSH object locally in the methods
|
|
||||||
import sshconnection
|
|
||||||
#time.sleep
|
|
||||||
import time
|
|
||||||
|
|
||||||
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
|
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
|
|
||||||
class AS_UE:
|
|
||||||
|
|
||||||
def __init__(self,Module):
|
|
||||||
#create attributes as in the UE dictionary
|
|
||||||
for k, v in Module.items():
|
|
||||||
setattr(self, k, v)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------$
|
|
||||||
#PUBLIC Methods$
|
|
||||||
#-----------------$
|
|
||||||
|
|
||||||
def WaitEndScenario(self):
|
|
||||||
logging.debug('waiting for scenario duration')
|
|
||||||
time.sleep(int(self.Duration))
|
|
||||||
|
|
||||||
def KillASUE(self):
|
|
||||||
mySSH = sshconnection.SSHConnection()
|
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
|
||||||
mySSH.command('killall --signal SIGKILL lteue-avx2', '\$', 5)
|
|
||||||
mySSH.close()
|
|
||||||
|
|
||||||
def RunScenario(self):
|
|
||||||
mySSH = sshconnection.SSHConnection()
|
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
|
||||||
|
|
||||||
logging.debug("Deleting old artifacts :")
|
|
||||||
cmd='rm -rf ' + self.Ping + ' ' + self.UELog
|
|
||||||
mySSH.command(cmd, '\$',5)
|
|
||||||
logging.debug("Running scenario :")
|
|
||||||
cmd='echo $USER; nohup '+self.Cmd + ' ' + self.Config + ' &'
|
|
||||||
mySSH.command(cmd, '\$',5)
|
|
||||||
|
|
||||||
mySSH.close()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
# * 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.1 (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
|
|
||||||
# */
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Required Python Version
|
|
||||||
# Python 3.x
|
|
||||||
#
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
|
|
||||||
#to use isfile
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import logging
|
|
||||||
#to create a SSH object locally in the methods
|
|
||||||
import sshconnection
|
|
||||||
#time.sleep
|
|
||||||
import time
|
|
||||||
#to load ue infrastructure dictionary
|
|
||||||
import yaml
|
|
||||||
|
|
||||||
class InfraUE:
|
|
||||||
def __init__(self):
|
|
||||||
self.ci_ue_infra ={}
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------$
|
|
||||||
#PUBLIC Methods$
|
|
||||||
#-----------------$
|
|
||||||
|
|
||||||
#This method reads the yaml file describing the multi-UE infrastructure
|
|
||||||
#and stores the infra permanently in the related class attribute self.ci_ue_infra
|
|
||||||
def Get_UE_Infra(self,ue_infra_filename):
|
|
||||||
f_yaml=ue_infra_filename
|
|
||||||
with open(f_yaml,'r') as file:
|
|
||||||
logging.debug('Loading UE infrastructure from file '+f_yaml)
|
|
||||||
#load it permanently in the class attribute
|
|
||||||
self.ci_ue_infra = yaml.load(file,Loader=yaml.FullLoader)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+31
-33
@@ -32,10 +32,17 @@ import os
|
|||||||
import paramiko
|
import paramiko
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
|
# helper that returns either LocalCmd or RemoteCmd based on passed host name
|
||||||
|
def getConnection(host, d=None):
|
||||||
|
if host is None or host.lower() in ["", "none", "localhost"]:
|
||||||
|
return LocalCmd(d=d)
|
||||||
|
else:
|
||||||
|
return RemoteCmd(host, d=d)
|
||||||
|
|
||||||
# provides a partial interface for the legacy SSHconnection class (getBefore(), command())
|
# provides a partial interface for the legacy SSHconnection class (getBefore(), command())
|
||||||
class Cmd(metaclass=abc.ABCMeta):
|
class Cmd(metaclass=abc.ABCMeta):
|
||||||
def cd(self, d, silent=False):
|
def cd(self, d, silent=False):
|
||||||
if d == None or d == '' or d == []:
|
if d == None or d == '':
|
||||||
self.cwd = None
|
self.cwd = None
|
||||||
elif d[0] == '/':
|
elif d[0] == '/':
|
||||||
self.cwd = d
|
self.cwd = d
|
||||||
@@ -51,9 +58,13 @@ class Cmd(metaclass=abc.ABCMeta):
|
|||||||
def run(self, line, timeout=300, silent=False):
|
def run(self, line, timeout=300, silent=False):
|
||||||
return
|
return
|
||||||
|
|
||||||
@abc.abstractmethod
|
def command(self, commandline, expectedline=None, timeout=300, silent=False, resync=False):
|
||||||
def command(self, commandline, expectedline, timeout, silent=False, resync=False):
|
splitted = commandline.split(' ')
|
||||||
return
|
if splitted[0] == 'cd':
|
||||||
|
self.cd(' '.join(splitted[1:]), silent)
|
||||||
|
else:
|
||||||
|
self.run(commandline, timeout, silent)
|
||||||
|
return 0
|
||||||
|
|
||||||
@abc.abstractmethod
|
@abc.abstractmethod
|
||||||
def close(self):
|
def close(self):
|
||||||
@@ -82,6 +93,11 @@ class LocalCmd(Cmd):
|
|||||||
if not silent:
|
if not silent:
|
||||||
logging.info(line)
|
logging.info(line)
|
||||||
try:
|
try:
|
||||||
|
if line.strip().endswith('&'):
|
||||||
|
# if we wait for stdout, subprocess does not return before the end of the command
|
||||||
|
# however, we don't want to wait for commands with &, so just return fake command
|
||||||
|
ret = sp.run(line, shell=True, cwd=self.cwd, timeout=5)
|
||||||
|
else:
|
||||||
ret = sp.run(line, shell=True, cwd=self.cwd, stdout=sp.PIPE, stderr=sp.STDOUT, timeout=timeout)
|
ret = sp.run(line, shell=True, cwd=self.cwd, stdout=sp.PIPE, stderr=sp.STDOUT, timeout=timeout)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
ret = sp.CompletedProcess(args=line, returncode=255, stdout=f'Exception: {str(e)}'.encode('utf-8'))
|
ret = sp.CompletedProcess(args=line, returncode=255, stdout=f'Exception: {str(e)}'.encode('utf-8'))
|
||||||
@@ -93,14 +109,6 @@ class LocalCmd(Cmd):
|
|||||||
self.cp = ret
|
self.cp = ret
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def command(self, commandline, expectedline=None, timeout=300, silent=False, resync=False):
|
|
||||||
line = [s for s in commandline.split(' ') if len(s) > 0]
|
|
||||||
if line[0] == 'cd':
|
|
||||||
self.cd(line[1], silent)
|
|
||||||
else:
|
|
||||||
self.run(line, timeout, silent)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -108,16 +116,14 @@ class LocalCmd(Cmd):
|
|||||||
return self.cp.stdout
|
return self.cp.stdout
|
||||||
|
|
||||||
def copyin(self, scpIp, scpUser, scpPw, src, tgt):
|
def copyin(self, scpIp, scpUser, scpPw, src, tgt):
|
||||||
logging.warning("LocalCmd emulating sshconnection.copyin() function")
|
|
||||||
self.run(f'cp -r {src} {tgt}')
|
self.run(f'cp -r {src} {tgt}')
|
||||||
|
|
||||||
def copyout(self, scpIp, scpUser, scpPw, src, tgt):
|
def copyout(self, scpIp, scpUser, scpPw, src, tgt):
|
||||||
logging.warning("LocalCmd emulating sshconnection.copyout() function")
|
|
||||||
self.run(f'cp -r {src} {tgt}')
|
self.run(f'cp -r {src} {tgt}')
|
||||||
|
|
||||||
class RemoteCmd(Cmd):
|
class RemoteCmd(Cmd):
|
||||||
def __init__(self, hostname, d=None):
|
def __init__(self, hostname, d=None):
|
||||||
logging.getLogger('paramiko').setLevel(logging.INFO) # prevent spamming through Paramiko
|
logging.getLogger('paramiko').setLevel(logging.ERROR) # prevent spamming through Paramiko
|
||||||
self.client = paramiko.SSHClient()
|
self.client = paramiko.SSHClient()
|
||||||
self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||||
cfg = RemoteCmd._lookup_ssh_config(hostname)
|
cfg = RemoteCmd._lookup_ssh_config(hostname)
|
||||||
@@ -146,33 +152,27 @@ class RemoteCmd(Cmd):
|
|||||||
return cfg
|
return cfg
|
||||||
|
|
||||||
def run(self, line, timeout=300, silent=False, reportNonZero=True):
|
def run(self, line, timeout=300, silent=False, reportNonZero=True):
|
||||||
if type(line) is list:
|
|
||||||
line = ' '.join(line)
|
|
||||||
if not silent:
|
if not silent:
|
||||||
logging.debug(line)
|
logging.info(line)
|
||||||
if self.cwd:
|
if self.cwd:
|
||||||
line = f"cd {self.cwd} && {line}"
|
line = f"cd {self.cwd} && {line}"
|
||||||
args = line.split(' ')
|
|
||||||
try:
|
try:
|
||||||
|
if line.strip().endswith('&'):
|
||||||
|
# if we wait for stdout, Paramiko does not return before the end of the command
|
||||||
|
# however, we don't want to wait for commands with &, so just return fake command
|
||||||
|
self.client.exec_command(line, timeout = 5)
|
||||||
|
ret = sp.CompletedProcess(args=line, returncode=0, stdout=b'')
|
||||||
|
else:
|
||||||
stdin, stdout, stderr = self.client.exec_command(line, timeout=timeout)
|
stdin, stdout, stderr = self.client.exec_command(line, timeout=timeout)
|
||||||
ret = sp.CompletedProcess(args=args, returncode=stdout.channel.recv_exit_status(), stdout=stdout.read(size=None) + stderr.read(size=None))
|
ret = sp.CompletedProcess(args=line, returncode=stdout.channel.recv_exit_status(), stdout=stdout.read(size=None) + stderr.read(size=None))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
ret = sp.CompletedProcess(args=args, returncode=255, stdout=f'Exception: {str(e)}'.encode('utf-8'))
|
ret = sp.CompletedProcess(args=line, returncode=255, stdout=f'Exception: {str(e)}'.encode('utf-8'))
|
||||||
ret.stdout = ret.stdout.decode('utf-8').strip()
|
ret.stdout = ret.stdout.decode('utf-8').strip()
|
||||||
if reportNonZero and ret.returncode != 0:
|
if reportNonZero and ret.returncode != 0:
|
||||||
cmd = ' '.join(ret.args)
|
logging.warning(f'command "{line}" returned non-zero returncode {ret.returncode}: output:\n{ret.stdout}')
|
||||||
logging.warning(f'command "{cmd}" returned non-zero returncode {ret.returncode}: output:\n{ret.stdout}')
|
|
||||||
self.cp = ret
|
self.cp = ret
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def command(self, commandline, expectedline=None, timeout=300, silent=False, resync=False):
|
|
||||||
line = [s for s in commandline.split(' ') if len(s) > 0]
|
|
||||||
if line[0] == 'cd':
|
|
||||||
self.cd(line[1], silent)
|
|
||||||
else:
|
|
||||||
self.run(line, timeout, silent)
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
self.client.close()
|
self.client.close()
|
||||||
|
|
||||||
@@ -180,7 +180,6 @@ class RemoteCmd(Cmd):
|
|||||||
return self.cp.stdout
|
return self.cp.stdout
|
||||||
|
|
||||||
def copyout(self, src, tgt, recursive=False):
|
def copyout(self, src, tgt, recursive=False):
|
||||||
logging.warning("RemoteCmd emulating sshconnection.copyout() function, ignoring scpIp")
|
|
||||||
logging.debug(f"copyout: local:{src} -> remote:{tgt}")
|
logging.debug(f"copyout: local:{src} -> remote:{tgt}")
|
||||||
if recursive:
|
if recursive:
|
||||||
tmpfile = f"{uuid.uuid4()}.tar"
|
tmpfile = f"{uuid.uuid4()}.tar"
|
||||||
@@ -198,7 +197,6 @@ class RemoteCmd(Cmd):
|
|||||||
sftp.close()
|
sftp.close()
|
||||||
|
|
||||||
def copyin(self, src, tgt, recursive=False):
|
def copyin(self, src, tgt, recursive=False):
|
||||||
logging.warning("RemoteCmd emulating sshconnection.copyout() function")
|
|
||||||
logging.debug(f"copyin: remote:{src} -> local:{tgt}")
|
logging.debug(f"copyin: remote:{src} -> local:{tgt}")
|
||||||
if recursive:
|
if recursive:
|
||||||
tmpfile = f"{uuid.uuid4()}.tar"
|
tmpfile = f"{uuid.uuid4()}.tar"
|
||||||
|
|||||||
@@ -927,24 +927,21 @@ class Containerize():
|
|||||||
mySSH.copyin(lIpAddr, lUserName, lPassWord, logfilename, '.')
|
mySSH.copyin(lIpAddr, lUserName, lPassWord, logfilename, '.')
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
|
|
||||||
html_queue = SimpleQueue()
|
message = ''
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
|
||||||
if usedImage != '':
|
if usedImage != '':
|
||||||
html_cell += f'Used Image = {usedImage} :\n'
|
message += f'Used Image = {usedImage} :\n'
|
||||||
html_cell += imageInfo
|
message += imageInfo
|
||||||
else:
|
else:
|
||||||
html_cell += 'Could not retrieve used image info!\n'
|
message += 'Could not retrieve used image info!\n'
|
||||||
if status:
|
if status:
|
||||||
html_cell += '\nHealthy deployment!\n'
|
message += '\nHealthy deployment!\n'
|
||||||
else:
|
else:
|
||||||
html_cell += '\nUnhealthy deployment! -- Check logs for reason!\n'
|
message += '\nUnhealthy deployment! -- Check logs for reason!\n'
|
||||||
html_cell += '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if status:
|
if status:
|
||||||
HTML.CreateHtmlTestRowQueue('N/A', 'OK', CONST.ENB_PROCESS_OK, html_queue)
|
HTML.CreateHtmlTestRowQueue('N/A', 'OK', [message])
|
||||||
else:
|
else:
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
HTML.CreateHtmlTestRowQueue('N/A', 'KO', CONST.ENB_PROCESS_OK, html_queue)
|
HTML.CreateHtmlTestRowQueue('N/A', 'KO', [message])
|
||||||
|
|
||||||
|
|
||||||
def UndeployObject(self, HTML, RAN):
|
def UndeployObject(self, HTML, RAN):
|
||||||
@@ -1116,37 +1113,30 @@ class Containerize():
|
|||||||
else:
|
else:
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
|
|
||||||
imagesInfo = ''
|
html_cell = ''
|
||||||
for newCont in newContainers:
|
for newCont in newContainers:
|
||||||
if newCont == 'rfsim4g-db-init':
|
if newCont == 'rfsim4g-db-init':
|
||||||
continue
|
continue
|
||||||
cmd = 'docker inspect -f "{{.Config.Image}}" ' + newCont
|
cmd = 'docker inspect -f "{{.Config.Image}}" ' + newCont
|
||||||
imageInspect = myCmd.run(cmd, timeout=30, silent=True)
|
imageInspect = myCmd.run(cmd, timeout=30, silent=True)
|
||||||
imageName = str(imageInspect.stdout).strip()
|
imageName = str(imageInspect.stdout).strip()
|
||||||
cmd = 'docker image inspect --format "{{.RepoTags}}\t{{.Size}} bytes\t{{.Created}}\t{{.Id}}" ' + imageName
|
cmd = 'docker image inspect --format \'{{.RepoTags}}\t{{.Size}} bytes\t{{index (split .Created ".") 0}}\n{{.Id}}\' ' + imageName
|
||||||
imageInspect = myCmd.run(cmd, 30, silent=True)
|
imageInspect = myCmd.run(cmd, 30, silent=True)
|
||||||
imagesInfo += imageInspect.stdout.strip()
|
html_cell += imageInspect.stdout + '\n'
|
||||||
myCmd.close()
|
myCmd.close()
|
||||||
|
|
||||||
html_queue = SimpleQueue()
|
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
|
||||||
for imageInfo in imagesInfo.split('\n'):
|
|
||||||
html_cell += imageInfo[:-11] + '\n'
|
|
||||||
html_cell += '\n'
|
|
||||||
for cState in containerStatus:
|
for cState in containerStatus:
|
||||||
html_cell += cState + '\n'
|
html_cell += cState + '\n'
|
||||||
html_cell += '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if count == 100 and healthy == self.nb_healthy[0]:
|
if count == 100 and healthy == self.nb_healthy[0]:
|
||||||
if self.tsharkStarted == False:
|
if self.tsharkStarted == False:
|
||||||
logging.debug('Starting tshark on public network')
|
logging.debug('Starting tshark on public network')
|
||||||
self.CaptureOnDockerNetworks()
|
self.CaptureOnDockerNetworks()
|
||||||
HTML.CreateHtmlTestRowQueue('n/a', 'OK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue('n/a', 'OK', [html_cell])
|
||||||
for cState in containerStatus:
|
for cState in containerStatus:
|
||||||
logging.debug(cState)
|
logging.debug(cState)
|
||||||
logging.info('\u001B[1m Deploying OAI Object(s) PASS\u001B[0m')
|
logging.info('\u001B[1m Deploying OAI Object(s) PASS\u001B[0m')
|
||||||
else:
|
else:
|
||||||
HTML.CreateHtmlTestRowQueue('Could not deploy in time', 'KO', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue('Could not deploy in time', 'KO', [html_cell])
|
||||||
for cState in containerStatus:
|
for cState in containerStatus:
|
||||||
logging.debug(cState)
|
logging.debug(cState)
|
||||||
logging.error('\u001B[1m Deploying OAI Object(s) FAILED\u001B[0m')
|
logging.error('\u001B[1m Deploying OAI Object(s) FAILED\u001B[0m')
|
||||||
@@ -1357,10 +1347,7 @@ class Containerize():
|
|||||||
message += statLine + '\n'
|
message += statLine + '\n'
|
||||||
myCmd.close()
|
myCmd.close()
|
||||||
|
|
||||||
html_queue = SimpleQueue()
|
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
|
||||||
html_cell = '<pre style="background-color:white">\n' + message + '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', 1, html_queue)
|
|
||||||
|
|
||||||
def PingFromContainer(self, HTML, RAN, UE):
|
def PingFromContainer(self, HTML, RAN, UE):
|
||||||
myCmd = cls_cmd.LocalCmd()
|
myCmd = cls_cmd.LocalCmd()
|
||||||
@@ -1419,14 +1406,11 @@ class Containerize():
|
|||||||
logging.info('\u001B[1m Ping Test PASS\u001B[0m')
|
logging.info('\u001B[1m Ping Test PASS\u001B[0m')
|
||||||
|
|
||||||
def PingExit(self, HTML, RAN, UE, status, message):
|
def PingExit(self, HTML, RAN, UE, status, message):
|
||||||
html_queue = SimpleQueue()
|
|
||||||
html_cell = '<pre style="background-color:white">UE\n' + message + '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if status:
|
if status:
|
||||||
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', [message])
|
||||||
else:
|
else:
|
||||||
logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
|
logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
|
||||||
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', [message])
|
||||||
# Automatic undeployment
|
# Automatic undeployment
|
||||||
logging.warning('----------------------------------------')
|
logging.warning('----------------------------------------')
|
||||||
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
|
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
|
||||||
@@ -1475,14 +1459,12 @@ class Containerize():
|
|||||||
self.IperfExit(HTML, RAN, UE, iperfStatus, msg)
|
self.IperfExit(HTML, RAN, UE, iperfStatus, msg)
|
||||||
|
|
||||||
def IperfExit(self, HTML, RAN, UE, status, message):
|
def IperfExit(self, HTML, RAN, UE, status, message):
|
||||||
html_queue = SimpleQueue()
|
html_cell = f'UE\n{message}'
|
||||||
html_cell = '<pre style="background-color:white">UE\n' + message + '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if status:
|
if status:
|
||||||
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'OK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'OK', [html_cell])
|
||||||
else:
|
else:
|
||||||
logging.error('\u001B[1m Iperf Test FAIL -- ' + message + ' \u001B[0m')
|
logging.error('\u001B[1m Iperf Test FAIL -- ' + message + ' \u001B[0m')
|
||||||
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'KO', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'KO', [html_cell])
|
||||||
# Automatic undeployment
|
# Automatic undeployment
|
||||||
logging.warning('----------------------------------------')
|
logging.warning('----------------------------------------')
|
||||||
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
|
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
|
||||||
|
|||||||
@@ -1,138 +0,0 @@
|
|||||||
# * 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.1 (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
|
|
||||||
# */
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
# Python for CI of OAI-eNB + COTS-UE
|
|
||||||
#
|
|
||||||
# Required Python Version
|
|
||||||
# Python 3.x
|
|
||||||
#
|
|
||||||
# Required Python Package
|
|
||||||
# pexpect
|
|
||||||
#---------------------------------------------------------------------
|
|
||||||
|
|
||||||
#to use isfile
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
#to use logging.info()
|
|
||||||
import logging
|
|
||||||
#to create a SSH object locally in the methods
|
|
||||||
import sshconnection
|
|
||||||
#time.sleep
|
|
||||||
import time
|
|
||||||
#to load cots_ue dictionary
|
|
||||||
import yaml
|
|
||||||
|
|
||||||
class CotsUe:
|
|
||||||
def __init__(self,ADBIPAddr,ADBUserName,ADBPassWord):
|
|
||||||
self.cots_id = '' #cots id from yaml oppo, s10 etc...
|
|
||||||
self.ADBIPAddr = ADBIPAddr
|
|
||||||
self.ADBUserName = ADBUserName
|
|
||||||
self.ADBPassWord = ADBPassWord
|
|
||||||
self.cots_run_mode = '' #on of off to toggle airplane mode on/off
|
|
||||||
self.__cots_cde_dict_file = 'cots_ue_ctl.yaml'
|
|
||||||
self.__SetAirplaneRetry = 3
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------$
|
|
||||||
#PUBLIC Methods$
|
|
||||||
#-----------------$
|
|
||||||
|
|
||||||
def Check_Airplane(self):
|
|
||||||
mySSH = sshconnection.SSHConnection()
|
|
||||||
mySSH.open(self.ADBIPAddr, self.ADBUserName, self.ADBPassWord)
|
|
||||||
status=mySSH.cde_check_value('adb shell settings get global airplane_mode_on ', ['0','1'],5)
|
|
||||||
mySSH.close()
|
|
||||||
return status
|
|
||||||
|
|
||||||
#simply check if the device id exists in the dictionary
|
|
||||||
#returns true if it exists, false otherwise
|
|
||||||
def Check_Exists(self,target_id):
|
|
||||||
#load cots commands dictionary
|
|
||||||
if (os.path.isfile(self.__cots_cde_dict_file)):
|
|
||||||
yaml_file=self.__cots_cde_dict_file
|
|
||||||
elif (os.path.isfile('ci-scripts/'+self.__cots_cde_dict_file)):
|
|
||||||
yaml_file='ci-scripts/'+self.__cots_cde_dict_file
|
|
||||||
else:
|
|
||||||
logging.error("COTS UE dictionary yaml file cannot be found")
|
|
||||||
sys.exit("COTS UE dictionary yaml file cannot be found")
|
|
||||||
|
|
||||||
#load cots commands dictionary
|
|
||||||
with open(yaml_file,'r') as file:
|
|
||||||
cots_ue_ctl = yaml.load(file,Loader=yaml.FullLoader)
|
|
||||||
#check if ue id is in the dictionary
|
|
||||||
if target_id in cots_ue_ctl:
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
return False
|
|
||||||
|
|
||||||
def Set_Airplane(self, target_id, target_state_str):
|
|
||||||
#loading cots commands dictionary
|
|
||||||
|
|
||||||
if (os.path.isfile(self.__cots_cde_dict_file)):
|
|
||||||
yaml_file=self.__cots_cde_dict_file
|
|
||||||
elif (os.path.isfile('ci-scripts/'+self.__cots_cde_dict_file)):
|
|
||||||
yaml_file='ci-scripts/'+self.__cots_cde_dict_file
|
|
||||||
else:
|
|
||||||
logging.error("COTS UE dictionary yaml file cannot be found")
|
|
||||||
sys.exit("COTS UE dictionary yaml file cannot be found")
|
|
||||||
|
|
||||||
#load cots commands dictionary
|
|
||||||
with open(yaml_file,'r') as file:
|
|
||||||
cots_ue_ctl = yaml.load(file,Loader=yaml.FullLoader)
|
|
||||||
#check if ue id is in the dictionary
|
|
||||||
if target_id in cots_ue_ctl:
|
|
||||||
mySSH = sshconnection.SSHConnection()
|
|
||||||
mySSH.open(self.ADBIPAddr, self.ADBUserName, self.ADBPassWord)
|
|
||||||
logging.info(str(self.ADBIPAddr)+' '+str(self.ADBUserName)+' '+str(self.ADBPassWord))
|
|
||||||
mySSH.command('adb start-server','\$',5)
|
|
||||||
mySSH.command('adb devices','\$',5)
|
|
||||||
logging.info("Toggling COTS UE Airplane mode to : "+target_state_str)
|
|
||||||
#get current state
|
|
||||||
current_state = self.Check_Airplane()
|
|
||||||
if target_state_str.lower()=="on":
|
|
||||||
target_state=1
|
|
||||||
else:
|
|
||||||
target_state=0
|
|
||||||
if current_state != target_state:
|
|
||||||
#toggle state
|
|
||||||
retry = 0
|
|
||||||
while (current_state!=target_state) and (retry < self.__SetAirplaneRetry):
|
|
||||||
#loop over the command list from dictionary for the selected ue, to switch to required state
|
|
||||||
for i in range (0,len(cots_ue_ctl[target_id])):
|
|
||||||
mySSH.command(cots_ue_ctl[target_id][i], '\$', 5)
|
|
||||||
time.sleep(1)
|
|
||||||
current_state = self.Check_Airplane()
|
|
||||||
retry+=1
|
|
||||||
#could not toggle despite the retry
|
|
||||||
if current_state != target_state:
|
|
||||||
logging.error("ATTENTION : Could not toggle to : "+target_state_str)
|
|
||||||
logging.error("Current state is : "+ str(current_state))
|
|
||||||
else:
|
|
||||||
logging.info("Airplane mode is already "+ target_state_str)
|
|
||||||
mySSH.command('adb kill-server','\$',5)
|
|
||||||
mySSH.close()
|
|
||||||
#ue id is NOT in the dictionary
|
|
||||||
else:
|
|
||||||
logging.error("COTS UE Id from XML could not be found in UE YAML dictionary " + self.__cots_cde_dict_file)
|
|
||||||
sys.exit("COTS UE Id from XML could not be found in UE YAML dictionary " + self.__cots_cde_dict_file)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
+142
-122
@@ -28,164 +28,186 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
#to create a SSH object locally in the methods
|
|
||||||
import sshconnection
|
|
||||||
#time.sleep
|
#time.sleep
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
|
||||||
import re
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import yaml
|
||||||
|
|
||||||
#for log rotation mgt
|
#for log rotation mgt
|
||||||
import cls_log_mgt
|
import cls_log_mgt
|
||||||
|
import cls_cmd
|
||||||
|
|
||||||
class Module_UE:
|
class Module_UE:
|
||||||
|
|
||||||
def __init__(self,Module):
|
def __init__(self, module_name, filename="ci_ueinfra.yaml"):
|
||||||
#create attributes as in the Module dictionary
|
with open(filename, 'r') as f:
|
||||||
for k, v in Module.items():
|
all_ues = yaml.load(f, Loader=yaml.FullLoader)
|
||||||
setattr(self, k, v)
|
m = all_ues.get(module_name)
|
||||||
self.UEIPAddress = ""
|
if m is None:
|
||||||
#dictionary linking command names and related module scripts
|
raise Exception(f'no such module name "{module_name}" in "{filename}"')
|
||||||
self.cmd_dict= {"wup": self.WakeupScript,"detach":self.DetachScript}#dictionary of function scripts
|
self.module_name = module_name
|
||||||
self.ue_trace=''
|
self.host = m['Host']
|
||||||
|
self.cmd_dict = {
|
||||||
|
"attach": m.get('AttachScript'),
|
||||||
|
"detach": m.get('DetachScript'),
|
||||||
|
"initialize": m.get('InitScript'),
|
||||||
|
"terminate": m.get('TermScript'),
|
||||||
|
"getNetwork": m.get('UENetworkScript'),
|
||||||
|
"check": m.get('CheckStatusScript'),
|
||||||
|
"dataEnable": m.get('DataEnableScript'),
|
||||||
|
"dataDisable": m.get('DataDisableScript'),
|
||||||
|
}
|
||||||
|
self.interface = m.get('IF')
|
||||||
|
self.MTU = m.get('MTU')
|
||||||
|
self.trace = m.get('trace') == True
|
||||||
|
self.logStore = m.get('LogStore')
|
||||||
|
self.cmd_prefix = m.get('CmdPrefix')
|
||||||
|
logging.info(f'initialized UE {self.module_name}@{self.host} from {filename}')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"{self.module_name}@{self.host} [IP: {self.getIP()}]"
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return self.__str__()
|
||||||
|
|
||||||
|
def _command(self, cmd, silent = False):
|
||||||
|
if cmd is None:
|
||||||
|
raise Exception("no command provided")
|
||||||
|
if self.host == "" or self.host == "localhost":
|
||||||
|
c = cls_cmd.LocalCmd()
|
||||||
|
else:
|
||||||
|
c = cls_cmd.RemoteCmd(self.host)
|
||||||
|
response = c.run(cmd, silent=silent)
|
||||||
|
c.close()
|
||||||
|
return response.stdout
|
||||||
|
|
||||||
#-----------------$
|
#-----------------$
|
||||||
#PUBLIC Methods$
|
#PUBLIC Methods$
|
||||||
#-----------------$
|
#-----------------$
|
||||||
|
|
||||||
#this method checks if the specified Process is running on the server hosting the module
|
def initialize(self):
|
||||||
#if not it will be started
|
if self.trace:
|
||||||
def CheckCMProcess(self,CNType):
|
raise Exception("UE tracing not implemented yet")
|
||||||
HOST=self.HostUsername+'@'+self.HostIPAddress
|
self._enableTrace()
|
||||||
COMMAND="ps aux | grep --colour=never " + self.Process['Name'] + " | grep -v grep "
|
# we first terminate to make sure the UE has been stopped
|
||||||
logging.debug(COMMAND)
|
if self.cmd_dict["detach"]:
|
||||||
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
|
self._command(self.cmd_dict["detach"], silent=True)
|
||||||
result = ssh.stdout.readlines()
|
self._command(self.cmd_dict["terminate"], silent=True)
|
||||||
if len(result)!=0:
|
self._command(self.cmd_dict["initialize"])
|
||||||
logging.debug(self.Process['Name'] + " process found")
|
|
||||||
return True
|
def terminate(self):
|
||||||
else:#start process and check again
|
self._command(self.cmd_dict["terminate"])
|
||||||
logging.debug(self.Process['Name'] + " process NOT found")
|
if self.trace:
|
||||||
#starting the process
|
raise Exception("UE tracing not implemented yet")
|
||||||
logging.debug('Starting ' + self.Process['Name'])
|
self._disableTrace()
|
||||||
mySSH = sshconnection.SSHConnection()
|
return self._logCollect()
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
return None
|
||||||
mySSH.command('echo ' + self.HostPassword + ' | sudo -S rm -f /tmp/quectel-cm.log','\$',5)
|
|
||||||
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S stdbuf -o0 ' + self.Process['Cmd'] + ' ' + self.Process['Apn'][CNType] + ' > /tmp/quectel-cm.log 2>&1 &','\$',5)
|
def attach(self, attach_tries = 4, attach_timeout = 60):
|
||||||
mySSH.close()
|
ip = None
|
||||||
#checking the process
|
while attach_tries > 0:
|
||||||
|
self._command(self.cmd_dict["attach"])
|
||||||
|
timeout = attach_timeout
|
||||||
|
logging.debug("Waiting for IP address to be assigned")
|
||||||
|
while timeout > 0 and not ip:
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
HOST=self.HostUsername+'@'+self.HostIPAddress
|
timeout -= 5
|
||||||
COMMAND="ps aux | grep --colour=never " + self.Process['Name'] + " | grep -v grep "
|
ip = self.getIP()
|
||||||
logging.debug(COMMAND)
|
if ip:
|
||||||
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
|
break
|
||||||
result = ssh.stdout.readlines()
|
logging.warning(f"UE did not receive IP address after {attach_timeout} s, detaching")
|
||||||
if len(result)!=0:
|
attach_tries -= 1
|
||||||
logging.debug(self.Process['Name'] + " process found")
|
self._command(self.cmd_dict["detach"])
|
||||||
|
time.sleep(5)
|
||||||
|
if ip:
|
||||||
|
logging.debug(f'\u001B[1mUE IP Address is {ip}\u001B[0m')
|
||||||
|
else:
|
||||||
|
logging.debug('\u001B[1;37;41mUE IP Address Not Found!\u001B[0m')
|
||||||
|
return ip
|
||||||
|
|
||||||
|
def detach(self):
|
||||||
|
self._command(self.cmd_dict["detach"])
|
||||||
|
|
||||||
|
def check(self):
|
||||||
|
cmd = self.cmd_dict["check"]
|
||||||
|
if cmd:
|
||||||
|
return self._command(cmd)
|
||||||
|
else:
|
||||||
|
logging.warning(f"requested status check of UE {self.getName()}, but operation is not supported")
|
||||||
|
return f"UE {self.getName()} does not support status checking"
|
||||||
|
|
||||||
|
def dataEnable(self):
|
||||||
|
cmd = self.cmd_dict["dataEnable"]
|
||||||
|
if cmd:
|
||||||
|
self._command(cmd)
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
logging.debug(self.Process['Name'] + " process NOT found")
|
message = f"requested enabling data of UE {self.getName()}, but operation is not supported"
|
||||||
|
logging.error(message)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
#Generic command function, using function pointers dictionary
|
def dataDisable(self):
|
||||||
def Command(self,cmd):
|
cmd = self.cmd_dict["dataDisable"]
|
||||||
mySSH = sshconnection.SSHConnection()
|
if cmd:
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
self._command(cmd)
|
||||||
mySSH.command('echo ' + self.HostPassword + ' | sudo -S python3 ' + self.cmd_dict[cmd],'\$',10)
|
return True
|
||||||
time.sleep(5)
|
|
||||||
logging.debug("Module "+ cmd)
|
|
||||||
mySSH.close()
|
|
||||||
|
|
||||||
|
|
||||||
#this method retrieves the Module IP address (not the Host IP address)
|
|
||||||
def GetModuleIPAddress(self):
|
|
||||||
HOST=self.HostUsername+'@'+self.HostIPAddress
|
|
||||||
response= []
|
|
||||||
tentative = 8
|
|
||||||
while (len(response)==0) and (tentative>0):
|
|
||||||
COMMAND="ip a show dev " + self.UENetwork + " | grep --colour=never inet | grep " + self.UENetwork
|
|
||||||
if tentative == 8:
|
|
||||||
logging.debug(COMMAND)
|
|
||||||
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
|
|
||||||
response = ssh.stdout.readlines()
|
|
||||||
tentative-=1
|
|
||||||
time.sleep(2)
|
|
||||||
if (tentative==0) and (len(response)==0):
|
|
||||||
logging.debug('\u001B[1;37;41m Module IP Address Not Found! Time expired \u001B[0m')
|
|
||||||
return -1
|
|
||||||
else: #check response
|
|
||||||
result = re.search('inet (?P<moduleipaddress>[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)', response[0].decode("utf-8") )
|
|
||||||
if result is not None:
|
|
||||||
if result.group('moduleipaddress') is not None:
|
|
||||||
self.UEIPAddress = result.group('moduleipaddress')
|
|
||||||
logging.debug('\u001B[1mUE Module IP Address is ' + self.UEIPAddress + '\u001B[0m')
|
|
||||||
return 0
|
|
||||||
else:
|
else:
|
||||||
logging.debug('\u001B[1;37;41m Module IP Address Not Found! \u001B[0m')
|
message = f"requested disabling data of UE {self.getName()}, but operation is not supported"
|
||||||
return -1
|
logging.error(message)
|
||||||
else:
|
return False
|
||||||
logging.debug('\u001B[1;37;41m Module IP Address Not Found! \u001B[0m')
|
|
||||||
return -1
|
|
||||||
|
|
||||||
def CheckModuleMTU(self):
|
def getIP(self):
|
||||||
HOST=self.HostUsername+'@'+self.HostIPAddress
|
output = self._command(self.cmd_dict["getNetwork"], silent=True)
|
||||||
response= []
|
result = re.search('inet (?P<ip>[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)', output)
|
||||||
tentative = 3
|
if result and result.group('ip'):
|
||||||
while (len(response)==0) and (tentative>0):
|
ip = result.group('ip')
|
||||||
COMMAND="ip a show dev " + self.UENetwork + " | grep --colour=never mtu"
|
return ip
|
||||||
logging.debug(COMMAND)
|
return None
|
||||||
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
|
|
||||||
response = ssh.stdout.readlines()
|
def checkMTU(self):
|
||||||
tentative-=1
|
output = self._command(self.cmd_dict["getNetwork"], silent=True)
|
||||||
time.sleep(10)
|
result = re.search('mtu (?P<mtu>[0-9]+)', output)
|
||||||
if (tentative==0) and (len(response)==0):
|
if result and result.group('mtu') and int(result.group('mtu')) == self.MTU:
|
||||||
logging.debug('\u001B[1;37;41m Module NIC MTU Not Found! Time expired \u001B[0m')
|
|
||||||
return -1
|
|
||||||
else: #check response
|
|
||||||
result = re.search('mtu (?P<mtu>[0-9]+)', response[0].decode("utf-8") )
|
|
||||||
if result is not None:
|
|
||||||
if (result.group('mtu') is not None) and (str(result.group('mtu'))==str(self.MTU)) :
|
|
||||||
logging.debug('\u001B[1mUE Module NIC MTU is ' + str(self.MTU) + ' as expected\u001B[0m')
|
logging.debug('\u001B[1mUE Module NIC MTU is ' + str(self.MTU) + ' as expected\u001B[0m')
|
||||||
return 0
|
return True
|
||||||
else:
|
else:
|
||||||
logging.debug('\u001B[1;37;41m Incorrect Module NIC MTU ' + str(result.group('mtu')) + '! Expected : ' + str(self.MTU) + '\u001B[0m')
|
logging.debug('\u001B[1;37;41m Incorrect Module NIC MTU or MTU not found! Expected: ' + str(self.MTU) + '\u001B[0m')
|
||||||
return -1
|
return False
|
||||||
else:
|
|
||||||
logging.debug('\u001B[1;37;41m Module NIC MTU Not Found! \u001B[0m')
|
|
||||||
return -1
|
|
||||||
|
|
||||||
def EnableTrace(self):
|
def getName(self):
|
||||||
if self.ue_trace=="yes":
|
return self.module_name
|
||||||
|
|
||||||
|
def getIFName(self):
|
||||||
|
return self.interface
|
||||||
|
|
||||||
|
def getHost(self):
|
||||||
|
return self.host
|
||||||
|
|
||||||
|
def getCmdPrefix(self):
|
||||||
|
return self.cmd_prefix if self.cmd_prefix else ""
|
||||||
|
|
||||||
|
def _enableTrace(self):
|
||||||
|
raise Exception("not implemented")
|
||||||
mySSH = sshconnection.SSHConnection()
|
mySSH = sshconnection.SSHConnection()
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
||||||
#delete old artifacts
|
#delete old artifacts
|
||||||
mySSH.command('echo ' + self.HostPassword + ' | sudo -S rm -rf ci_qlog','\$',5)
|
mySSH.command('echo ' + ' ' + ' | sudo -S rm -rf ci_qlog','\$',5)
|
||||||
#start Trace, artifact is created in home dir
|
#start Trace, artifact is created in home dir
|
||||||
mySSH.command('echo $USER; nohup sudo -E QLog/QLog -s ci_qlog -f NR5G.cfg > /dev/null 2>&1 &','\$', 5)
|
mySSH.command('echo $USER; nohup sudo -E QLog/QLog -s ci_qlog -f NR5G.cfg > /dev/null 2>&1 &','\$', 5)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
|
|
||||||
def DisableTrace(self):
|
def _disableTrace(self):
|
||||||
|
raise Exception("not implemented")
|
||||||
mySSH = sshconnection.SSHConnection()
|
mySSH = sshconnection.SSHConnection()
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
||||||
mySSH.command('echo ' + self.HostPassword + ' | sudo -S killall --signal=SIGINT *QLog*', '\$',5)
|
mySSH.command('echo ' + ' ' + ' | sudo -S killall --signal=SIGINT *QLog*', '\$',5)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
|
|
||||||
|
|
||||||
def DisableCM(self):
|
def _logCollect(self):
|
||||||
mySSH = sshconnection.SSHConnection()
|
raise Exception("not implemented")
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
|
||||||
mySSH.command('echo ' + self.HostPassword + ' | sudo -S killall --signal SIGKILL *'+self.Process['Name']+'*', '\$', 5)
|
|
||||||
mySSH.close()
|
|
||||||
|
|
||||||
|
|
||||||
def LogCollect(self):
|
|
||||||
if self.ue_trace=="yes":
|
|
||||||
mySSH = sshconnection.SSHConnection()
|
mySSH = sshconnection.SSHConnection()
|
||||||
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
|
||||||
#archive qlog to USB stick in /media/usb-drive/ci_qlogs with datetime suffix
|
#archive qlog to USB stick in /media/usb-drive/ci_qlogs with datetime suffix
|
||||||
@@ -194,11 +216,9 @@ class Module_UE:
|
|||||||
source='ci_qlog'
|
source='ci_qlog'
|
||||||
destination= self.LogStore + '/ci_qlog_'+now_string+'.zip'
|
destination= self.LogStore + '/ci_qlog_'+now_string+'.zip'
|
||||||
#qlog artifact is zipped into the target folder
|
#qlog artifact is zipped into the target folder
|
||||||
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S zip -r '+destination+' '+source+' > /dev/null 2>&1 &','\$', 10)
|
mySSH.command('echo $USER; echo ' + ' ' + ' | nohup sudo -S zip -r '+destination+' '+source+' > /dev/null 2>&1 &','\$', 10)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
#post action : log cleaning to make sure enough space is reserved for the next run
|
#post action : log cleaning to make sure enough space is reserved for the next run
|
||||||
Log_Mgt=cls_log_mgt.Log_Mgt(self.HostUsername,self.HostIPAddress, self.HostPassword, self.LogStore)
|
Log_Mgt=cls_log_mgt.Log_Mgt(self.HostUsername,self.HostIPAddress, self.HostPassword, self.LogStore)
|
||||||
Log_Mgt.LogRotation()
|
|
||||||
else:
|
|
||||||
destination=""
|
|
||||||
return destination
|
return destination
|
||||||
|
|
||||||
|
|||||||
+66
-129
@@ -84,16 +84,6 @@ class HTMLManagement():
|
|||||||
self.CpuModel = ['', '']
|
self.CpuModel = ['', '']
|
||||||
self.CpuMHz = ['', '']
|
self.CpuMHz = ['', '']
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
# Setters and Getters
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
|
|
||||||
def SethtmlUEConnected(self, nbUEs):
|
|
||||||
if nbUEs > 0:
|
|
||||||
self.htmlUEConnected = nbUEs
|
|
||||||
else:
|
|
||||||
self.htmlUEConnected = 1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
@@ -101,7 +91,7 @@ class HTMLManagement():
|
|||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
def CreateHtmlHeader(self, ADBIPAddress):
|
def CreateHtmlHeader(self):
|
||||||
if (not self.htmlHeaderCreated):
|
if (not self.htmlHeaderCreated):
|
||||||
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
||||||
logging.info('\u001B[1m Creating HTML header \u001B[0m')
|
logging.info('\u001B[1m Creating HTML header \u001B[0m')
|
||||||
@@ -116,7 +106,7 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>\n')
|
self.htmlFile.write(' <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>\n')
|
||||||
self.htmlFile.write(' <title>Test Results for TEMPLATE_JOB_NAME job build #TEMPLATE_BUILD_ID</title>\n')
|
self.htmlFile.write(' <title>Test Results for TEMPLATE_JOB_NAME job build #TEMPLATE_BUILD_ID</title>\n')
|
||||||
self.htmlFile.write('</head>\n')
|
self.htmlFile.write('</head>\n')
|
||||||
self.htmlFile.write('<body><div class="container">\n')
|
self.htmlFile.write('<body><div class="container-fluid" style="margin-left:1em; margin-right:1em">\n')
|
||||||
self.htmlFile.write(' <br>\n')
|
self.htmlFile.write(' <br>\n')
|
||||||
self.htmlFile.write(' <table style="border-collapse: collapse; border: none;">\n')
|
self.htmlFile.write(' <table style="border-collapse: collapse; border: none;">\n')
|
||||||
self.htmlFile.write(' <tr style="border-collapse: collapse; border: none;">\n')
|
self.htmlFile.write(' <tr style="border-collapse: collapse; border: none;">\n')
|
||||||
@@ -183,15 +173,6 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' </table>\n')
|
self.htmlFile.write(' </table>\n')
|
||||||
|
|
||||||
if (ADBIPAddress != 'none') and (ADBIPAddress != 'modules'):
|
|
||||||
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> ' + str(self.htmlNb_Smartphones) + ' UE(s) is(are) connected to ADB bench server</h2>\n')
|
|
||||||
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> ' + str(self.htmlNb_CATM_Modules) + ' CAT-M UE(s) is(are) connected to bench server</h2>\n')
|
|
||||||
elif (ADBIPAddress == 'modules'):
|
|
||||||
self.htmlUEConnected = 1
|
|
||||||
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> 1 commercial module is connected to CI bench</h2>\n')
|
|
||||||
else:
|
|
||||||
self.htmlUEConnected = 1
|
|
||||||
self.htmlFile.write(' <h2><span class="glyphicon glyphicon-phone"></span> <span class="glyphicon glyphicon-menu-right"></span> 1 OAI UE(s) is(are) connected to CI bench</h2>\n')
|
|
||||||
self.htmlFile.write(' <br>\n')
|
self.htmlFile.write(' <br>\n')
|
||||||
self.htmlFile.write(' <ul class="nav nav-pills">\n')
|
self.htmlFile.write(' <ul class="nav nav-pills">\n')
|
||||||
count = 0
|
count = 0
|
||||||
@@ -225,16 +206,13 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' <div id="build-tab" class="tab-pane fade">\n')
|
self.htmlFile.write(' <div id="build-tab" class="tab-pane fade">\n')
|
||||||
self.htmlFile.write(' <table class="table" border = "1">\n')
|
self.htmlFile.write(' <table class="table" border = "1">\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
||||||
self.htmlFile.write(' <th>Relative Time (s)</th>\n')
|
self.htmlFile.write(' <th style="width:5%">Relative Time (s)</th>\n')
|
||||||
self.htmlFile.write(' <th>Test Id</th>\n')
|
self.htmlFile.write(' <th style="width:5%">Test Id</th>\n')
|
||||||
self.htmlFile.write(' <th>Test Desc</th>\n')
|
self.htmlFile.write(' <th>Test Desc</th>\n')
|
||||||
self.htmlFile.write(' <th>Test Options</th>\n')
|
self.htmlFile.write(' <th>Test Options</th>\n')
|
||||||
self.htmlFile.write(' <th>Test Status</th>\n')
|
self.htmlFile.write(' <th style="width:5%">Test Status</th>\n')
|
||||||
|
|
||||||
i = 0
|
self.htmlFile.write(' <th>Info</th>\n')
|
||||||
while (i < self.htmlUEConnected):
|
|
||||||
self.htmlFile.write(' <th>UE' + str(i) + ' Status</th>\n')
|
|
||||||
i += 1
|
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
self.htmlHeaderCreated = True
|
self.htmlHeaderCreated = True
|
||||||
@@ -247,14 +225,14 @@ class HTMLManagement():
|
|||||||
testOkEvenIfUnstable = True
|
testOkEvenIfUnstable = True
|
||||||
self.htmlFile = open('test_results.html', 'a')
|
self.htmlFile = open('test_results.html', 'a')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <th bgcolor = "#33CCFF" colspan=3>Final Tab Status</th>\n')
|
self.htmlFile.write(' <th bgcolor = "#33CCFF" colspan="3">Final Tab Status</th>\n')
|
||||||
if passStatus:
|
if passStatus:
|
||||||
self.htmlFile.write(' <th bgcolor = "green" colspan=' + str(2 + self.htmlUEConnected) + '><font color="white">PASS <span class="glyphicon glyphicon-ok"></span> </font></th>\n')
|
self.htmlFile.write(' <th bgcolor = "green" colspan="3"><font color="white">PASS <span class="glyphicon glyphicon-ok"></span> </font></th>\n')
|
||||||
else:
|
else:
|
||||||
if testOkEvenIfUnstable:
|
if testOkEvenIfUnstable:
|
||||||
self.htmlFile.write(' <th bgcolor = "orange" colspan=' + str(2 + self.htmlUEConnected) + '><font color="white">KNOWN UNSTABLE SCENARIO <span class="glyphicon glyphicon-exclamation-sign"></span> </font></th>\n')
|
self.htmlFile.write(' <th bgcolor = "orange" colspan="3"><font color="white">KNOWN UNSTABLE SCENARIO <span class="glyphicon glyphicon-exclamation-sign"></span> </font></th>\n')
|
||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <th bgcolor = "red" colspan=' + str(2 + self.htmlUEConnected) + '><font color="white">FAIL <span class="glyphicon glyphicon-remove"></span> </font></th>\n')
|
self.htmlFile.write(' <th bgcolor = "red" colspan="3"><font color="white">FAIL <span class="glyphicon glyphicon-remove"></span> </font></th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' </table>\n')
|
self.htmlFile.write(' </table>\n')
|
||||||
self.htmlFile.write(' </div>\n')
|
self.htmlFile.write(' </div>\n')
|
||||||
@@ -287,45 +265,12 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' <p></p>\n')
|
self.htmlFile.write(' <p></p>\n')
|
||||||
self.htmlFile.write(' <table class="table table-condensed">\n')
|
self.htmlFile.write(' <table class="table table-condensed">\n')
|
||||||
|
|
||||||
machines = [ 'eNB', 'UE' ]
|
|
||||||
for machine in machines:
|
|
||||||
if machine == 'eNB':
|
|
||||||
idx = 0
|
|
||||||
else:
|
|
||||||
idx = 1
|
|
||||||
if self.OsVersion[idx] == '':
|
|
||||||
continue
|
|
||||||
|
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <th colspan=8>' + str(machine) + ' Server Characteristics</th>\n')
|
self.htmlFile.write(' <th colspan="5" bgcolor = "#33CCFF">Final Status</th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
|
||||||
self.htmlFile.write(' <tr>\n')
|
|
||||||
self.htmlFile.write(' <td>OS Version</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.OsVersion[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' <td>Kernel Version</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.KernelVersion[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' <td>UHD Version</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.UhdVersion[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' <td>USRP Board</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.UsrpBoard[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' </tr>\n')
|
|
||||||
self.htmlFile.write(' <tr>\n')
|
|
||||||
self.htmlFile.write(' <td>Nb CPUs</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.CpuNb[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' <td>CPU Model Name</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.CpuModel[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' <td>CPU Frequency</td>\n')
|
|
||||||
self.htmlFile.write(' <td><span class="label label-default">' + self.CpuMHz[idx] + '</span></td>\n')
|
|
||||||
self.htmlFile.write(' <td></td>\n')
|
|
||||||
self.htmlFile.write(' <td></td>\n')
|
|
||||||
self.htmlFile.write(' </tr>\n')
|
|
||||||
|
|
||||||
self.htmlFile.write(' <tr>\n')
|
|
||||||
self.htmlFile.write(' <th colspan=5 bgcolor = "#33CCFF">Final Status</th>\n')
|
|
||||||
if passStatus:
|
if passStatus:
|
||||||
self.htmlFile.write(' <th colspan=3 bgcolor="green"><font color="white">PASS <span class="glyphicon glyphicon-ok"></span></font></th>\n')
|
self.htmlFile.write(' <th colspan="3" bgcolor="green"><font color="white">PASS <span class="glyphicon glyphicon-ok"></span></font></th>\n')
|
||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <th colspan=3 bgcolor="red"><font color="white">FAIL <span class="glyphicon glyphicon-remove"></span> </font></th>\n')
|
self.htmlFile.write(' <th colspan="3" bgcolor="red"><font color="white">FAIL <span class="glyphicon glyphicon-remove"></span> </font></th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' </table>\n')
|
self.htmlFile.write(' </table>\n')
|
||||||
self.htmlFile.write(' <p></p>\n')
|
self.htmlFile.write(' <p></p>\n')
|
||||||
@@ -338,7 +283,7 @@ class HTMLManagement():
|
|||||||
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
|
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
|
||||||
self.htmlFile = open('test_results.html', 'a')
|
self.htmlFile = open('test_results.html', 'a')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ---- Try Run #' + str(cntnumfails) + ' ---- </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ---- Try Run #' + str(cntnumfails) + ' ---- </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
|
|
||||||
@@ -404,7 +349,7 @@ class HTMLManagement():
|
|||||||
result = re.search('showed|Reestablishment|Could not copy eNB logfile', self.htmleNBFailureMsg)
|
result = re.search('showed|Reestablishment|Could not copy eNB logfile', self.htmleNBFailureMsg)
|
||||||
if result is not None:
|
if result is not None:
|
||||||
cellBgColor = 'orange'
|
cellBgColor = 'orange'
|
||||||
self.htmlFile.write(' <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmleNBFailureMsg + '</pre></td>\n')
|
self.htmlFile.write(' <td bgcolor = "' + cellBgColor + '" colspan="1"><pre style="background-color:' + cellBgColor + '">' + self.htmleNBFailureMsg + '</pre></td>\n')
|
||||||
self.htmleNBFailureMsg = ''
|
self.htmleNBFailureMsg = ''
|
||||||
elif (len(str(self.htmlUEFailureMsg)) > 2):
|
elif (len(str(self.htmlUEFailureMsg)) > 2):
|
||||||
cellBgColor = 'white'
|
cellBgColor = 'white'
|
||||||
@@ -415,13 +360,10 @@ class HTMLManagement():
|
|||||||
result = re.search('showed|Could not copy UE logfile|oaitun_ue1 interface is either NOT mounted or NOT configured', self.htmlUEFailureMsg)
|
result = re.search('showed|Could not copy UE logfile|oaitun_ue1 interface is either NOT mounted or NOT configured', self.htmlUEFailureMsg)
|
||||||
if result is not None:
|
if result is not None:
|
||||||
cellBgColor = 'orange'
|
cellBgColor = 'orange'
|
||||||
self.htmlFile.write(' <td bgcolor = "' + cellBgColor + '" colspan=' + str(self.htmlUEConnected) + '><pre style="background-color:' + cellBgColor + '">' + self.htmlUEFailureMsg + '</pre></td>\n')
|
self.htmlFile.write(' <td bgcolor = "' + cellBgColor + '" colspan="1"><pre style="background-color:' + cellBgColor + '">' + self.htmlUEFailureMsg + '</pre></td>\n')
|
||||||
self.htmlUEFailureMsg = ''
|
self.htmlUEFailureMsg = ''
|
||||||
else:
|
else:
|
||||||
i = 0
|
|
||||||
while (i < self.htmlUEConnected):
|
|
||||||
self.htmlFile.write(' <td>-</td>\n')
|
self.htmlFile.write(' <td>-</td>\n')
|
||||||
i += 1
|
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
|
|
||||||
@@ -432,7 +374,7 @@ class HTMLManagement():
|
|||||||
self.htmlFile = open('test_results.html', 'a')
|
self.htmlFile = open('test_results.html', 'a')
|
||||||
if bool(collectInfo) == False:
|
if bool(collectInfo) == False:
|
||||||
self.htmlFile.write(' <tr bgcolor = "red" >\n')
|
self.htmlFile.write(' <tr bgcolor = "red" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ----IMAGES BUILDING FAILED - Unable to recover the image logs ---- </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ----IMAGES BUILDING FAILED - Unable to recover the image logs ---- </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
else:
|
else:
|
||||||
for image in collectInfo:
|
for image in collectInfo:
|
||||||
@@ -444,13 +386,13 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' <tr bgcolor = "red" >\n')
|
self.htmlFile.write(' <tr bgcolor = "red" >\n')
|
||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ---- ' + image + ' IMAGE STATUS ----> Size ' + allImagesSize[image] + ' </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ---- ' + image + ' IMAGE STATUS ----> Size ' + allImagesSize[image] + ' </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
||||||
self.htmlFile.write(' <th colspan="2">Element</th>\n')
|
self.htmlFile.write(' <th colspan="2">Element</th>\n')
|
||||||
self.htmlFile.write(' <th>Nb Errors</th>\n')
|
self.htmlFile.write(' <th>Nb Errors</th>\n')
|
||||||
self.htmlFile.write(' <th>Nb Warnings</th>\n')
|
self.htmlFile.write(' <th>Nb Warnings</th>\n')
|
||||||
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>Status</th>\n')
|
self.htmlFile.write(' <th colspan="2">Status</th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
|
|
||||||
for fil in files:
|
for fil in files:
|
||||||
@@ -469,11 +411,11 @@ class HTMLManagement():
|
|||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <td bgcolor = "orange" >' + str(parameters['warnings']) + '</td>\n')
|
self.htmlFile.write(' <td bgcolor = "orange" >' + str(parameters['warnings']) + '</td>\n')
|
||||||
if (parameters['errors'] == 0) and (parameters['warnings'] == 0):
|
if (parameters['errors'] == 0) and (parameters['warnings'] == 0):
|
||||||
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + ' bgcolor = "green" ><font color="white">OK </font></th>\n')
|
self.htmlFile.write(' <th colspan="2" bgcolor = "green" ><font color="white">OK </font></th>\n')
|
||||||
elif (parameters['errors'] == 0):
|
elif (parameters['errors'] == 0):
|
||||||
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + ' bgcolor = "orange" ><font color="white">OK </font></th>\n')
|
self.htmlFile.write(' <th colspan="2" bgcolor = "orange" ><font color="white">OK </font></th>\n')
|
||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + ' bgcolor = "red" > NOT OK </th>\n')
|
self.htmlFile.write(' <th colspan="2" bgcolor = "red" > NOT OK </th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
|
|
||||||
@@ -485,12 +427,12 @@ class HTMLManagement():
|
|||||||
|
|
||||||
# TabHeader
|
# TabHeader
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ---- ' + DataLog['Title'] + ' ---- </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ---- ' + DataLog['Title'] + ' ---- </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
||||||
self.htmlFile.write(' <th colspan="3">'+ DataLog['ColNames'][0] +'</th>\n')
|
self.htmlFile.write(' <th colspan="3">'+ DataLog['ColNames'][0] +'</th>\n')
|
||||||
self.htmlFile.write(' <th colspan="2">' + DataLog['ColNames'][1] + '</th>\n')
|
self.htmlFile.write(' <th colspan="2">' + DataLog['ColNames'][1] + '</th>\n')
|
||||||
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>'+ DataLog['ColNames'][2] +'</th>\n')
|
self.htmlFile.write(' <th colspan="2">'+ DataLog['ColNames'][2] +'</th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
|
|
||||||
for k in DataLog['Data']:
|
for k in DataLog['Data']:
|
||||||
@@ -506,7 +448,7 @@ class HTMLManagement():
|
|||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
|
|
||||||
|
|
||||||
def CreateHtmlTestRowQueue(self, options, status, ue_status, ue_queue):
|
def CreateHtmlTestRowQueue(self, options, status, infoList):
|
||||||
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
|
if ((not self.htmlFooterCreated) and (self.htmlHeaderCreated)):
|
||||||
self.htmlFile = open('test_results.html', 'a')
|
self.htmlFile = open('test_results.html', 'a')
|
||||||
currentTime = int(round(time.time() * 1000)) - self.startTime
|
currentTime = int(round(time.time() * 1000)) - self.startTime
|
||||||
@@ -517,25 +459,20 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' <td>' + self.desc + '</td>\n')
|
self.htmlFile.write(' <td>' + self.desc + '</td>\n')
|
||||||
self.htmlFile.write(' <td>' + str(options) + '</td>\n')
|
self.htmlFile.write(' <td>' + str(options) + '</td>\n')
|
||||||
if (str(status) == 'OK'):
|
if (str(status) == 'OK'):
|
||||||
self.htmlFile.write(' <td bgcolor = "lightgreen" >' + str(status) + '</td>\n')
|
self.htmlFile.write(f' <td bgcolor = "lightgreen" >{status}</td>\n')
|
||||||
elif (str(status) == 'KO'):
|
elif (str(status) == 'KO'):
|
||||||
self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n')
|
self.htmlFile.write(f' <td bgcolor = "lightcoral" >{status}</td>\n')
|
||||||
else:
|
else:
|
||||||
addOrangeBK = True
|
addOrangeBK = True
|
||||||
self.htmlFile.write(' <td bgcolor = "orange" >' + str(status) + '</td>\n')
|
self.htmlFile.write(f' <td bgcolor = "orange" >{status}</td>\n')
|
||||||
i = 0
|
|
||||||
while (i < self.htmlUEConnected):
|
|
||||||
if (i < ue_status):
|
|
||||||
if (not ue_queue.empty()):
|
|
||||||
if (addOrangeBK):
|
if (addOrangeBK):
|
||||||
self.htmlFile.write(' <td bgcolor = "orange" >' + str(ue_queue.get()).replace('white', 'orange') + '</td>\n')
|
self.htmlFile.write(' <td bgcolor = "orange" >')
|
||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <td>' + str(ue_queue.get()) + '</td>\n')
|
self.htmlFile.write(' <td>')
|
||||||
else:
|
for i in infoList:
|
||||||
self.htmlFile.write(' <td>-</td>\n')
|
self.htmlFile.write(f' <pre>{i}</pre>')
|
||||||
else:
|
|
||||||
self.htmlFile.write(' <td>-</td>\n')
|
self.htmlFile.write(' </td>')
|
||||||
i += 1
|
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
|
|
||||||
@@ -546,80 +483,80 @@ class HTMLManagement():
|
|||||||
vId = 0
|
vId = 0
|
||||||
for version in CCR.versions:
|
for version in CCR.versions:
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> Results for cppcheck v ' + version + ' </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> Results for cppcheck v ' + version + ' </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> NB ERRORS</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> NB ERRORS</b></td>\n')
|
||||||
if CCR.nbErrors[vId] == 0:
|
if CCR.nbErrors[vId] == 0:
|
||||||
myColor = 'lightgreen'
|
myColor = 'lightgreen'
|
||||||
elif CCR.nbErrors[vId] < 20:
|
elif CCR.nbErrors[vId] < 20:
|
||||||
myColor = 'orange'
|
myColor = 'orange'
|
||||||
else:
|
else:
|
||||||
myColor = 'lightcoral'
|
myColor = 'lightcoral'
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + ' bgcolor = "' + myColor + '"><b>' + str(CCR.nbErrors[vId]) + '</b></td>\n')
|
self.htmlFile.write(' <td colspan="3" bgcolor = "' + myColor + '"><b>' + str(CCR.nbErrors[vId]) + '</b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> NB WARNINGS</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> NB WARNINGS</b></td>\n')
|
||||||
if CCR.nbWarnings[vId] == 0:
|
if CCR.nbWarnings[vId] == 0:
|
||||||
myColor = 'lightgreen'
|
myColor = 'lightgreen'
|
||||||
elif CCR.nbWarnings[vId] < 20:
|
elif CCR.nbWarnings[vId] < 20:
|
||||||
myColor = 'orange'
|
myColor = 'orange'
|
||||||
else:
|
else:
|
||||||
myColor = 'lightcoral'
|
myColor = 'lightcoral'
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + ' bgcolor = "' + myColor + '"><b>' + str(CCR.nbWarnings[vId]) + '</b></td>\n')
|
self.htmlFile.write(' <td colspan="3" bgcolor = "' + myColor + '"><b>' + str(CCR.nbWarnings[vId]) + '</b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '> ----------------- </td>\n')
|
self.htmlFile.write(' <td colspan="6"> ----------------- </td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Memory leak</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Memory leak</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbMemLeaks[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbMemLeaks[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Possible null pointer deference</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Possible null pointer deference</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbNullPtrs[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbNullPtrs[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Uninitialized variable</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Uninitialized variable</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbUninitVars[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbUninitVars[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Undefined behaviour shifting</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Undefined behaviour shifting</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbTooManyBitsShift[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbTooManyBitsShift[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Signed integer overflow</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Signed integer overflow</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbIntegerOverflow[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbIntegerOverflow[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '> </td>\n')
|
self.htmlFile.write(' <td colspan="6"> </td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Printf formatting issues</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Printf formatting issues</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbInvalidPrintf[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbInvalidPrintf[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Modulo result is predetermined</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Modulo result is predetermined</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbModuloAlways[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbModuloAlways[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Opposite Condition -> dead code</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Opposite Condition -> dead code</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbOppoInnerCondition[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbOppoInnerCondition[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td></td>\n')
|
self.htmlFile.write(' <td></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=2 bgcolor = "lightcyan" ><b> Wrong Scanf Nb Args</b></td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" ><b> Wrong Scanf Nb Args</b></td>\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(2+self.htmlUEConnected) + '>' + str(CCR.nbWrongScanfArg[vId]) + '</td>\n')
|
self.htmlFile.write(' <td colspan="3">' + str(CCR.nbWrongScanfArg[vId]) + '</td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
vId += 1
|
vId += 1
|
||||||
|
|
||||||
@@ -629,12 +566,12 @@ class HTMLManagement():
|
|||||||
self.htmlFile = open('test_results.html', 'a')
|
self.htmlFile = open('test_results.html', 'a')
|
||||||
if bool(testResult) == False and bool(testSummary) == False:
|
if bool(testResult) == False and bool(testSummary) == False:
|
||||||
self.htmlFile.write(' <tr bgcolor = "red" >\n')
|
self.htmlFile.write(' <tr bgcolor = "red" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ----PHYSIM TESTING FAILED - Unable to recover the test logs ---- </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ----PHYSIM TESTING FAILED - Unable to recover the test logs ---- </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
else:
|
else:
|
||||||
# Tab header
|
# Tab header
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ---- PHYSIM TEST SUMMARY---- </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ---- PHYSIM TEST SUMMARY---- </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
||||||
self.htmlFile.write(' <th colspan="2">LogFile Name</th>\n')
|
self.htmlFile.write(' <th colspan="2">LogFile Name</th>\n')
|
||||||
@@ -652,27 +589,27 @@ class HTMLManagement():
|
|||||||
self.htmlFile.write(' <td gcolor = "lightcyan" >' + str(testSummary['Nbpass']) + ' </td>\n')
|
self.htmlFile.write(' <td gcolor = "lightcyan" >' + str(testSummary['Nbpass']) + ' </td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
|
||||||
self.htmlFile.write(' <td colspan=' + str(5+self.htmlUEConnected) + '><b> ---- PHYSIM TEST DETAIL INFO---- </b></td>\n')
|
self.htmlFile.write(' <td colspan="6"><b> ---- PHYSIM TEST DETAIL INFO---- </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
|
||||||
self.htmlFile.write(' <th colspan="2">Test Name</th>\n')
|
self.htmlFile.write(' <th colspan="2">Test Name</th>\n')
|
||||||
self.htmlFile.write(' <th colspan="2">Test Description</th>\n')
|
self.htmlFile.write(' <th colspan="2">Test Description</th>\n')
|
||||||
self.htmlFile.write(' <th colspan=' + str(1+self.htmlUEConnected) + '>Result</th>\n')
|
self.htmlFile.write(' <th colspan="2">Result</th>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
y = ''
|
y = ''
|
||||||
for key, value in testResult.items():
|
for key, value in testResult.items():
|
||||||
x = key.split(".")
|
x = key.split(".")
|
||||||
if x[0] != y:
|
if x[0] != y:
|
||||||
self.htmlFile.write(' <tr bgcolor = "lightgreen" >\n')
|
self.htmlFile.write(' <tr bgcolor = "lightgreen" >\n')
|
||||||
self.htmlFile.write(' <td style="text-align: center;" colspan=' + str(5+self.htmlUEConnected) + '><b>"' + x[0] + '" series </b></td>\n')
|
self.htmlFile.write(' <td style="text-align: center;" colspan="6"><b>"' + x[0] + '" series </b></td>\n')
|
||||||
self.htmlFile.write(' </tr>\n')
|
self.htmlFile.write(' </tr>\n')
|
||||||
y = x[0]
|
y = x[0]
|
||||||
self.htmlFile.write(' <tr>\n')
|
self.htmlFile.write(' <tr>\n')
|
||||||
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + key + ' </td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + key + ' </td>\n')
|
||||||
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + value[0] + '</td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + value[0] + '</td>\n')
|
||||||
if 'PASS' in value:
|
if 'PASS' in value:
|
||||||
self.htmlFile.write(' <td colspan=' + str(1+self.htmlUEConnected) + ' bgcolor = "green" >' + value[1] + '</td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "green" >' + value[1] + '</td>\n')
|
||||||
else:
|
else:
|
||||||
self.htmlFile.write(' <td colspan=' + str(1+self.htmlUEConnected) + ' bgcolor = "red" >' + value[1] + '</td>\n')
|
self.htmlFile.write(' <td colspan="2" bgcolor = "red" >' + value[1] + '</td>\n')
|
||||||
|
|
||||||
self.htmlFile.close()
|
self.htmlFile.close()
|
||||||
|
|||||||
+247
-2040
File diff suppressed because it is too large
Load Diff
@@ -81,11 +81,7 @@ class PhySim:
|
|||||||
#once parsed move the local logfile to its folder for tidiness
|
#once parsed move the local logfile to its folder for tidiness
|
||||||
os.system('mv '+self.__runLogFile+' '+ self.__runLogPath+'/.')
|
os.system('mv '+self.__runLogFile+' '+ self.__runLogPath+'/.')
|
||||||
|
|
||||||
#updating the HTML with results
|
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', [info])
|
||||||
html_cell = '<pre style="background-color:white">' + info + '</pre>'
|
|
||||||
html_queue=SimpleQueue()
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, html_queue)
|
|
||||||
return HTML
|
return HTML
|
||||||
|
|
||||||
def __CheckResults_LDPCt1Test(self,HTML,CONST,testcase_id):
|
def __CheckResults_LDPCt1Test(self,HTML,CONST,testcase_id):
|
||||||
@@ -106,24 +102,18 @@ class PhySim:
|
|||||||
result = int(''.join(filter(str.isdigit, info)))/100
|
result = int(''.join(filter(str.isdigit, info)))/100
|
||||||
#once parsed move the local logfile to its folder for tidiness
|
#once parsed move the local logfile to its folder for tidiness
|
||||||
os.system('mv '+self.__runLogFile+' '+ self.__runLogPath+'/.')
|
os.system('mv '+self.__runLogFile+' '+ self.__runLogPath+'/.')
|
||||||
#updating the HTML with results
|
|
||||||
html_cell = '<pre style="background-color:white">' + info + '</pre>'
|
|
||||||
html_queue=SimpleQueue()
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if result < thrs_NOK:
|
if result < thrs_NOK:
|
||||||
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', [info])
|
||||||
elif result > thrs_KO:
|
elif result > thrs_KO:
|
||||||
error_msg = f'Decoding time exceeds a limit of {thrs_KO} us'
|
error_msg = f'Decoding time exceeds a limit of {thrs_KO} us'
|
||||||
logging.error(error_msg)
|
logging.error(error_msg)
|
||||||
html_queue.put(f'<pre style="background-color:white">{error_msg}</pre>')
|
HTML.CreateHtmlTestRowQueue(self.runargs, 'KO', [info + '\n' + error_msg])
|
||||||
HTML.CreateHtmlTestRowQueue(self.runargs, 'KO', 1, html_queue)
|
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
else:
|
else:
|
||||||
HTML.CreateHtmlTestRowQueue(self.runargs, 'NOK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.runargs, 'NOK', [info])
|
||||||
return HTML
|
return HTML
|
||||||
|
|
||||||
def __CheckResults_NRulsimTest(self, HTML, CONST, testcase_id):
|
def __CheckResults_NRulsimTest(self, HTML, CONST, testcase_id):
|
||||||
html_queue = SimpleQueue()
|
|
||||||
#retrieve run log file and store it locally
|
#retrieve run log file and store it locally
|
||||||
mySSH = sshconnection.SSHConnection()
|
mySSH = sshconnection.SSHConnection()
|
||||||
filename = self.__workSpacePath + self.__runLogFile
|
filename = self.__workSpacePath + self.__runLogFile
|
||||||
@@ -131,8 +121,7 @@ class PhySim:
|
|||||||
if ret != 0:
|
if ret != 0:
|
||||||
error_msg = f'could not recover test result file {filename}'
|
error_msg = f'could not recover test result file {filename}'
|
||||||
logging.error(error_msg)
|
logging.error(error_msg)
|
||||||
html_queue.put(f'<pre style="background-color:white">{error_msg}</pre>')
|
HTML.CreateHtmlTestRowQueue("could not recover results", 'KO', [error_msg])
|
||||||
HTML.CreateHtmlTestRowQueue("could not recover results", 'KO', 1, html_queue)
|
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
return HTML
|
return HTML
|
||||||
|
|
||||||
@@ -145,13 +134,11 @@ class PhySim:
|
|||||||
|
|
||||||
#updating the HTML with results
|
#updating the HTML with results
|
||||||
if PUSCH_OK:
|
if PUSCH_OK:
|
||||||
html_queue.put('<pre style="background-color:white">succeeded</pre>')
|
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, ["succeeded"])
|
||||||
HTML.CreateHtmlTestRowQueue(self.runargs, 'OK', 1, html_queue)
|
|
||||||
else:
|
else:
|
||||||
error_msg = 'error: no "PUSCH test OK"'
|
error_msg = 'error: no "PUSCH test OK"'
|
||||||
logging.error(error_msg)
|
logging.error(error_msg)
|
||||||
html_queue.put(f'<pre style="background-color:white">{error_msg}</pre>')
|
HTML.CreateHtmlTestRowQueue(self.runargs, 'KO', 1, [error_msg])
|
||||||
HTML.CreateHtmlTestRowQueue(self.runargs, 'KO', 1, html_queue)
|
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
return HTML
|
return HTML
|
||||||
|
|
||||||
|
|||||||
@@ -357,63 +357,43 @@ class StaticCodeAnalysis():
|
|||||||
if nbFilesNotFormatted == 0:
|
if nbFilesNotFormatted == 0:
|
||||||
HTML.CreateHtmlTestRow('File(s) Format', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('File(s) Format', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
else:
|
else:
|
||||||
html_queue = SimpleQueue()
|
html_cell = f'Number of files not following OAI Rules: {nbFilesNotFormatted}\n'
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
|
||||||
html_cell += 'Number of files not following OAI Rules: ' + str(nbFilesNotFormatted) + '\n'
|
|
||||||
for nFile in listFilesNotFormatted:
|
for nFile in listFilesNotFormatted:
|
||||||
html_cell += str(nFile).strip() + '\n'
|
html_cell += str(nFile).strip() + '\n'
|
||||||
html_cell += '</pre>'
|
HTML.CreateHtmlTestRowQueue('File(s) Format', 'KO', [html_cell])
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue('File(s) Format', 'KO', 1, html_queue)
|
|
||||||
del(html_cell)
|
del(html_cell)
|
||||||
del(html_queue)
|
|
||||||
|
|
||||||
logging.debug('header files not respecting the circular dependency protection: ' + str(len(circularHeaderDependencyFiles)))
|
logging.debug('header files not respecting the circular dependency protection: ' + str(len(circularHeaderDependencyFiles)))
|
||||||
if len(circularHeaderDependencyFiles) == 0:
|
if len(circularHeaderDependencyFiles) == 0:
|
||||||
HTML.CreateHtmlTestRow('Header Circular Dependency', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('Header Circular Dependency', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
else:
|
else:
|
||||||
html_queue = SimpleQueue()
|
html_cell = f'Number of files not respecting: {len(circularHeaderDependencyFiles)}\n'
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
|
||||||
html_cell += 'Number of files not respecting: ' + str(len(circularHeaderDependencyFiles)) + '\n'
|
|
||||||
for nFile in circularHeaderDependencyFiles:
|
for nFile in circularHeaderDependencyFiles:
|
||||||
html_cell += str(nFile).strip() + '\n'
|
html_cell += str(nFile).strip() + '\n'
|
||||||
html_cell += '</pre>'
|
HTML.CreateHtmlTestRowQueue('Header Circular Dependency', 'KO', [html_cell])
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue('Header Circular Dependency', 'KO', 1, html_queue)
|
|
||||||
del(html_cell)
|
del(html_cell)
|
||||||
del(html_queue)
|
|
||||||
finalStatus = -1
|
finalStatus = -1
|
||||||
|
|
||||||
logging.debug('files with a GNU GPL license: ' + str(len(gnuGplLicenceFiles)))
|
logging.debug('files with a GNU GPL license: ' + str(len(gnuGplLicenceFiles)))
|
||||||
if len(gnuGplLicenceFiles) == 0:
|
if len(gnuGplLicenceFiles) == 0:
|
||||||
HTML.CreateHtmlTestRow('Files w/ GNU GPL License', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('Files w/ GNU GPL License', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
else:
|
else:
|
||||||
html_queue = SimpleQueue()
|
html_cell = f'Number of files not respecting: {len(gnuGplLicenceFiles)}\n'
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
|
||||||
html_cell += 'Number of files not respecting: ' + str(len(gnuGplLicenceFiles)) + '\n'
|
|
||||||
for nFile in gnuGplLicenceFiles:
|
for nFile in gnuGplLicenceFiles:
|
||||||
html_cell += str(nFile).strip() + '\n'
|
html_cell += str(nFile).strip() + '\n'
|
||||||
html_cell += '</pre>'
|
HTML.CreateHtmlTestRowQueue('Files w/ GNU GPL License', 'KO', html_queue)
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue('Files w/ GNU GPL License', 'KO', 1, html_queue)
|
|
||||||
del(html_cell)
|
del(html_cell)
|
||||||
del(html_queue)
|
|
||||||
finalStatus = -1
|
finalStatus = -1
|
||||||
|
|
||||||
logging.debug('files with a suspect license: ' + str(len(suspectLicenceFiles)))
|
logging.debug('files with a suspect license: ' + str(len(suspectLicenceFiles)))
|
||||||
if len(suspectLicenceFiles) == 0:
|
if len(suspectLicenceFiles) == 0:
|
||||||
HTML.CreateHtmlTestRow('Files with suspect license', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('Files with suspect license', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
else:
|
else:
|
||||||
html_queue = SimpleQueue()
|
html_cell = f'Number of files not respecting: {len(suspectLicenceFiles)}\n'
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
|
||||||
html_cell += 'Number of files not respecting: ' + str(len(suspectLicenceFiles)) + '\n'
|
|
||||||
for nFile in suspectLicenceFiles:
|
for nFile in suspectLicenceFiles:
|
||||||
html_cell += str(nFile).strip() + '\n'
|
html_cell += str(nFile).strip() + '\n'
|
||||||
html_cell += '</pre>'
|
HTML.CreateHtmlTestRowQueue('Files with suspect license', 'KO', [html_cell])
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue('Files with suspect license', 'KO', 1, html_queue)
|
|
||||||
del(html_cell)
|
del(html_cell)
|
||||||
del(html_queue)
|
|
||||||
finalStatus = -1
|
finalStatus = -1
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|||||||
+8
-20
@@ -237,7 +237,7 @@ class EPCManagement():
|
|||||||
sys.exit('Insufficient EPC Parameters')
|
sys.exit('Insufficient EPC Parameters')
|
||||||
mySSH = SSH.SSHConnection()
|
mySSH = SSH.SSHConnection()
|
||||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
html_cell = ''
|
||||||
if re.match('ltebox', self.Type, re.IGNORECASE):
|
if re.match('ltebox', self.Type, re.IGNORECASE):
|
||||||
logging.debug('Using the SABOX simulated HSS')
|
logging.debug('Using the SABOX simulated HSS')
|
||||||
mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5)
|
mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5)
|
||||||
@@ -288,11 +288,8 @@ class EPCManagement():
|
|||||||
html_cell += '\n'
|
html_cell += '\n'
|
||||||
else:
|
else:
|
||||||
logging.error('This option should not occur!')
|
logging.error('This option should not occur!')
|
||||||
html_cell += '</pre>'
|
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
html_queue = SimpleQueue()
|
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', [html_cell])
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', 1, html_queue)
|
|
||||||
|
|
||||||
def SetAmfIPAddress(self):
|
def SetAmfIPAddress(self):
|
||||||
# Not an error if we don't need an 5GCN
|
# Not an error if we don't need an 5GCN
|
||||||
@@ -551,10 +548,7 @@ class EPCManagement():
|
|||||||
else:
|
else:
|
||||||
logging.error('This should not happen!')
|
logging.error('This should not happen!')
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
html_queue = SimpleQueue()
|
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', [message])
|
||||||
html_cell = '<pre style="background-color:white">' + message + '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', 1, html_queue)
|
|
||||||
|
|
||||||
def DeployEpc(self, HTML):
|
def DeployEpc(self, HTML):
|
||||||
logging.debug('Trying to deploy')
|
logging.debug('Trying to deploy')
|
||||||
@@ -644,7 +638,7 @@ class EPCManagement():
|
|||||||
expectedHealthyContainers += 1
|
expectedHealthyContainers += 1
|
||||||
|
|
||||||
mySSH.command('docker-compose config | grep --colour=never image', '\$', 10)
|
mySSH.command('docker-compose config | grep --colour=never image', '\$', 10)
|
||||||
html_cell = '<pre style="background-color:white">\n'
|
html_cell = ''
|
||||||
listOfImages = mySSH.getBefore()
|
listOfImages = mySSH.getBefore()
|
||||||
for imageLine in listOfImages.split('\\r\\n'):
|
for imageLine in listOfImages.split('\\r\\n'):
|
||||||
res1 = re.search('image: (?P<name>[a-zA-Z0-9\-]+):(?P<tag>[a-zA-Z0-9\-]+)', str(imageLine))
|
res1 = re.search('image: (?P<name>[a-zA-Z0-9\-]+):(?P<tag>[a-zA-Z0-9\-]+)', str(imageLine))
|
||||||
@@ -666,7 +660,6 @@ class EPCManagement():
|
|||||||
if res4 is not None:
|
if res4 is not None:
|
||||||
html_cell += '(' + res4.group('date') + ')'
|
html_cell += '(' + res4.group('date') + ')'
|
||||||
html_cell += '\n'
|
html_cell += '\n'
|
||||||
html_cell += '</pre>'
|
|
||||||
# Checking if all are healthy
|
# Checking if all are healthy
|
||||||
cnt = 0
|
cnt = 0
|
||||||
while (cnt < 3):
|
while (cnt < 3):
|
||||||
@@ -682,8 +675,6 @@ class EPCManagement():
|
|||||||
logging.debug(' -- ' + str(healthyNb) + ' healthy container(s)')
|
logging.debug(' -- ' + str(healthyNb) + ' healthy container(s)')
|
||||||
logging.debug(' -- ' + str(unhealthyNb) + ' unhealthy container(s)')
|
logging.debug(' -- ' + str(unhealthyNb) + ' unhealthy container(s)')
|
||||||
logging.debug(' -- ' + str(startingNb) + ' still starting container(s)')
|
logging.debug(' -- ' + str(startingNb) + ' still starting container(s)')
|
||||||
html_queue = SimpleQueue()
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if healthyNb == expectedHealthyContainers:
|
if healthyNb == expectedHealthyContainers:
|
||||||
mySSH.command('docker exec -d prod-oai-hss /bin/bash -c "nohup tshark -i any -f \'port 9042 or port 3868\' -w /tmp/hss_check_run.pcap 2>&1 > /dev/null"', '\$', 5)
|
mySSH.command('docker exec -d prod-oai-hss /bin/bash -c "nohup tshark -i any -f \'port 9042 or port 3868\' -w /tmp/hss_check_run.pcap 2>&1 > /dev/null"', '\$', 5)
|
||||||
if self.isMagmaUsed:
|
if self.isMagmaUsed:
|
||||||
@@ -695,11 +686,11 @@ class EPCManagement():
|
|||||||
mySSH.command('docker exec -d prod-oai-spgwu-tiny /bin/bash -c "nohup tshark -i any -f \'port 8805\' -w /tmp/spgwu_check_run.pcap 2>&1 > /dev/null"', '\$', 10)
|
mySSH.command('docker exec -d prod-oai-spgwu-tiny /bin/bash -c "nohup tshark -i any -f \'port 8805\' -w /tmp/spgwu_check_run.pcap 2>&1 > /dev/null"', '\$', 10)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
logging.debug('Deployment OK')
|
logging.debug('Deployment OK')
|
||||||
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', [html_cell])
|
||||||
else:
|
else:
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
logging.debug('Deployment went wrong')
|
logging.debug('Deployment went wrong')
|
||||||
HTML.CreateHtmlTestRowQueue(self.Type, 'KO', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.Type, 'KO', [html_cell])
|
||||||
|
|
||||||
def UndeployEpc(self, HTML):
|
def UndeployEpc(self, HTML):
|
||||||
logging.debug('Trying to undeploy')
|
logging.debug('Trying to undeploy')
|
||||||
@@ -767,15 +758,12 @@ class EPCManagement():
|
|||||||
mySSH.command('docker inspect --format=\'{{.Name}}\' prod-oai-public-net prod-oai-private-net', '\$', 10)
|
mySSH.command('docker inspect --format=\'{{.Name}}\' prod-oai-public-net prod-oai-private-net', '\$', 10)
|
||||||
noMoreNetworkNb = mySSH.getBefore().count('No such object')
|
noMoreNetworkNb = mySSH.getBefore().count('No such object')
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
html_queue = SimpleQueue()
|
|
||||||
html_cell = '<pre style="background-color:white">' + message + '</pre>'
|
|
||||||
html_queue.put(html_cell)
|
|
||||||
if noMoreContainerNb == nbContainers and noMoreNetworkNb == 2:
|
if noMoreContainerNb == nbContainers and noMoreNetworkNb == 2:
|
||||||
logging.debug('Undeployment OK')
|
logging.debug('Undeployment OK')
|
||||||
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', [message])
|
||||||
else:
|
else:
|
||||||
logging.debug('Undeployment went wrong')
|
logging.debug('Undeployment went wrong')
|
||||||
HTML.CreateHtmlTestRowQueue(self.Type, 'KO', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.Type, 'KO', [message])
|
||||||
|
|
||||||
def LogCollectHSS(self):
|
def LogCollectHSS(self):
|
||||||
mySSH = SSH.SSHConnection()
|
mySSH = SSH.SSHConnection()
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ def GenericHelp(vers):
|
|||||||
print(' --mode=[Mode]')
|
print(' --mode=[Mode]')
|
||||||
print(' TesteNB')
|
print(' TesteNB')
|
||||||
print(' InitiateHtml, FinalizeHtml')
|
print(' InitiateHtml, FinalizeHtml')
|
||||||
print(' TerminateeNB, TerminateUE, TerminateHSS, TerminateMME, TerminateSPGW')
|
print(' TerminateeNB, TerminateHSS, TerminateMME, TerminateSPGW')
|
||||||
print(' LogCollectBuild, LogCollecteNB, LogCollectHSS, LogCollectMME, LogCollectSPGW, LogCollectPing, LogCollectIperf')
|
print(' LogCollectBuild, LogCollecteNB, LogCollectHSS, LogCollectMME, LogCollectSPGW, LogCollectPing, LogCollectIperf')
|
||||||
|
|
||||||
def GitSrvHelp(repository,branch,commit,mergeallow,targetbranch):
|
def GitSrvHelp(repository,branch,commit,mergeallow,targetbranch):
|
||||||
@@ -70,11 +70,6 @@ def EPCSrvHelp(ipaddr, username, password, sourcepath, epctype):
|
|||||||
print(' --EPCSourceCodePath=[EPC\'s Source Code Path] -- ' + sourcepath)
|
print(' --EPCSourceCodePath=[EPC\'s Source Code Path] -- ' + sourcepath)
|
||||||
print(' --EPCType=[EPC\'s Type: OAI or ltebox or OAI-Rel14-CUPS] -- ' + epctype)
|
print(' --EPCType=[EPC\'s Type: OAI or ltebox or OAI-Rel14-CUPS] -- ' + epctype)
|
||||||
|
|
||||||
def ADBSrvHelp(ipaddr, username, password):
|
|
||||||
print(' --ADBIPAddress=[ADB\'s IP Address] -- ' + ipaddr)
|
|
||||||
print(' --ADBUserName=[ADB\'s Login User Name] -- ' + username)
|
|
||||||
print(' --ADBPassword=[ADB\'s Login Password] -- ' + password)
|
|
||||||
|
|
||||||
def XmlHelp(filename):
|
def XmlHelp(filename):
|
||||||
print(' --XMLTestFile=[XML Test File to be run] -- ' + filename)
|
print(' --XMLTestFile=[XML Test File to be run] -- ' + filename)
|
||||||
print(' Note: multiple xml files can be specified (--XMLFile=File1 ... --XMLTestFile=FileN) when HTML headers are created ("InitiateHtml" mode)')
|
print(' Note: multiple xml files can be specified (--XMLFile=File1 ... --XMLTestFile=FileN) when HTML headers are created ("InitiateHtml" mode)')
|
||||||
|
|||||||
+30
-179
@@ -40,10 +40,8 @@ import constants as CONST
|
|||||||
|
|
||||||
import cls_oaicitest #main class for OAI CI test framework
|
import cls_oaicitest #main class for OAI CI test framework
|
||||||
import cls_physim #class PhySim for physical simulators build and test
|
import cls_physim #class PhySim for physical simulators build and test
|
||||||
import cls_cots_ue #class CotsUe for Airplane mode control
|
|
||||||
import cls_containerize #class Containerize for all container-based operations on RAN/UE objects
|
import cls_containerize #class Containerize for all container-based operations on RAN/UE objects
|
||||||
import cls_static_code_analysis #class for static code analysis
|
import cls_static_code_analysis #class for static code analysis
|
||||||
import cls_ci_ueinfra #class defining the multi Ue infrastrucure
|
|
||||||
import cls_physim1 #class PhySim for physical simulators deploy and run
|
import cls_physim1 #class PhySim for physical simulators deploy and run
|
||||||
import cls_cluster # class for building/deploying on cluster
|
import cls_cluster # class for building/deploying on cluster
|
||||||
|
|
||||||
@@ -181,12 +179,10 @@ def GetParametersFromXML(action):
|
|||||||
|
|
||||||
#local variable air_interface
|
#local variable air_interface
|
||||||
air_interface = test.findtext('air_interface')
|
air_interface = test.findtext('air_interface')
|
||||||
if (air_interface is None) or (air_interface.lower() not in ['nr','lte','ocp']):
|
if (air_interface is None) or (air_interface.lower() not in ['nr','lte']):
|
||||||
RAN.air_interface[RAN.eNB_instance] = 'lte-softmodem'
|
RAN.air_interface[RAN.eNB_instance] = 'lte-softmodem'
|
||||||
elif (air_interface.lower() in ['nr','lte']):
|
|
||||||
RAN.air_interface[RAN.eNB_instance] = air_interface.lower() +'-softmodem'
|
|
||||||
else:
|
else:
|
||||||
RAN.air_interface[RAN.eNB_instance] = 'ocp-enb'
|
RAN.air_interface[RAN.eNB_instance] = air_interface.lower() +'-softmodem'
|
||||||
|
|
||||||
cmd_prefix = test.findtext('cmd_prefix')
|
cmd_prefix = test.findtext('cmd_prefix')
|
||||||
if cmd_prefix is not None: RAN.cmd_prefix = cmd_prefix
|
if cmd_prefix is not None: RAN.cmd_prefix = cmd_prefix
|
||||||
@@ -213,54 +209,13 @@ def GetParametersFromXML(action):
|
|||||||
|
|
||||||
#local variable air_interface
|
#local variable air_interface
|
||||||
air_interface = test.findtext('air_interface')
|
air_interface = test.findtext('air_interface')
|
||||||
if (air_interface is None) or (air_interface.lower() not in ['nr','lte','ocp']):
|
if (air_interface is None) or (air_interface.lower() not in ['nr','lte']):
|
||||||
RAN.air_interface[RAN.eNB_instance] = 'lte-softmodem'
|
RAN.air_interface[RAN.eNB_instance] = 'lte-softmodem'
|
||||||
elif (air_interface.lower() in ['nr','lte']):
|
else:
|
||||||
RAN.air_interface[RAN.eNB_instance] = air_interface.lower() +'-softmodem'
|
RAN.air_interface[RAN.eNB_instance] = air_interface.lower() +'-softmodem'
|
||||||
else :
|
|
||||||
RAN.air_interface[RAN.eNB_instance] = 'ocp-enb'
|
|
||||||
|
|
||||||
elif action == 'Initialize_UE':
|
elif action == 'Initialize_UE' or action == 'Attach_UE' or action == 'Detach_UE' or action == 'Terminate_UE' or action == 'CheckStatusUE' or action == 'DataEnable_UE' or action == 'DataDisable_UE':
|
||||||
ue_id = test.findtext('id')
|
CiTestObj.ue_ids = test.findtext('id').split(' ')
|
||||||
CiTestObj.ue_trace=test.findtext('UE_Trace')#temporary variable, to be passed to Module_UE in Initialize_UE call
|
|
||||||
if (ue_id is None):
|
|
||||||
CiTestObj.ue_id = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ue_id = ue_id
|
|
||||||
|
|
||||||
elif action == 'Detach_UE':
|
|
||||||
ue_id = test.findtext('id')
|
|
||||||
if (ue_id is None):
|
|
||||||
CiTestObj.ue_id = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ue_id = ue_id
|
|
||||||
|
|
||||||
elif action == 'Attach_UE':
|
|
||||||
ue_id = test.findtext('id')
|
|
||||||
if (ue_id is None):
|
|
||||||
CiTestObj.ue_id = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ue_id = ue_id
|
|
||||||
nbMaxUEtoAttach = test.findtext('nbMaxUEtoAttach')
|
|
||||||
if (nbMaxUEtoAttach is None):
|
|
||||||
CiTestObj.nbMaxUEtoAttach = -1
|
|
||||||
else:
|
|
||||||
CiTestObj.nbMaxUEtoAttach = int(nbMaxUEtoAttach)
|
|
||||||
|
|
||||||
elif action == 'Terminate_UE':
|
|
||||||
ue_id = test.findtext('id')
|
|
||||||
if (ue_id is None):
|
|
||||||
CiTestObj.ue_id = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ue_id = ue_id
|
|
||||||
|
|
||||||
|
|
||||||
elif action == 'CheckStatusUE':
|
|
||||||
expectedNBUE = test.findtext('expectedNbOfConnectedUEs')
|
|
||||||
if (expectedNBUE is None):
|
|
||||||
CiTestObj.expectedNbOfConnectedUEs = -1
|
|
||||||
else:
|
|
||||||
CiTestObj.expectedNbOfConnectedUEs = int(expectedNBUE)
|
|
||||||
|
|
||||||
elif action == 'Build_OAI_UE':
|
elif action == 'Build_OAI_UE':
|
||||||
CiTestObj.Build_OAI_UE_args = test.findtext('Build_OAI_UE_args')
|
CiTestObj.Build_OAI_UE_args = test.findtext('Build_OAI_UE_args')
|
||||||
@@ -280,12 +235,11 @@ def GetParametersFromXML(action):
|
|||||||
|
|
||||||
#local variable air_interface
|
#local variable air_interface
|
||||||
air_interface = test.findtext('air_interface')
|
air_interface = test.findtext('air_interface')
|
||||||
if (air_interface is None) or (air_interface.lower() not in ['nr','lte','ocp']):
|
if (air_interface is None) or (air_interface.lower() not in ['nr','lte']):
|
||||||
CiTestObj.air_interface = 'lte-uesoftmodem'
|
CiTestObj.air_interface = 'lte-uesoftmodem'
|
||||||
elif (air_interface.lower() in ['nr','lte']):
|
elif (air_interface.lower() in ['nr','lte']):
|
||||||
CiTestObj.air_interface = air_interface.lower() +'-uesoftmodem'
|
CiTestObj.air_interface = air_interface.lower() +'-uesoftmodem'
|
||||||
else :
|
else :
|
||||||
#CiTestObj.air_interface = 'ocp-enb'
|
|
||||||
logging.error('OCP UE -- NOT SUPPORTED')
|
logging.error('OCP UE -- NOT SUPPORTED')
|
||||||
|
|
||||||
CiTestObj.cmd_prefix = test.findtext('cmd_prefix') or ""
|
CiTestObj.cmd_prefix = test.findtext('cmd_prefix') or ""
|
||||||
@@ -299,55 +253,28 @@ def GetParametersFromXML(action):
|
|||||||
|
|
||||||
#local variable air_interface
|
#local variable air_interface
|
||||||
air_interface = test.findtext('air_interface')
|
air_interface = test.findtext('air_interface')
|
||||||
if (air_interface is None) or (air_interface.lower() not in ['nr','lte','ocp']):
|
if (air_interface is None) or (air_interface.lower() not in ['nr','lte']):
|
||||||
CiTestObj.air_interface = 'lte-uesoftmodem'
|
CiTestObj.air_interface = 'lte-uesoftmodem'
|
||||||
elif (air_interface.lower() in ['nr','lte']):
|
|
||||||
CiTestObj.air_interface = air_interface.lower() +'-uesoftmodem'
|
|
||||||
else:
|
else:
|
||||||
#CiTestObj.air_interface = 'ocp-enb'
|
CiTestObj.air_interface = air_interface.lower() +'-uesoftmodem'
|
||||||
logging.error('OCP UE -- NOT SUPPORTED')
|
|
||||||
|
|
||||||
elif (action == 'Ping') or (action == 'Ping_CatM_module'):
|
elif action == 'Ping':
|
||||||
CiTestObj.ping_args = test.findtext('ping_args')
|
CiTestObj.ping_args = test.findtext('ping_args')
|
||||||
CiTestObj.ping_packetloss_threshold = test.findtext('ping_packetloss_threshold')
|
CiTestObj.ping_packetloss_threshold = test.findtext('ping_packetloss_threshold')
|
||||||
ue_id = test.findtext('id')
|
CiTestObj.ue_ids = test.findtext('id').split(' ')
|
||||||
if (ue_id is None):
|
ping_rttavg_threshold = test.findtext('ping_rttavg_threshold') or ''
|
||||||
CiTestObj.ue_id = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ue_id = ue_id
|
|
||||||
ping_rttavg_threshold = test.findtext('ping_rttavg_threshold')
|
|
||||||
if (ping_rttavg_threshold is None):
|
|
||||||
CiTestObj.ping_rttavg_threshold = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ping_rttavg_threshold = ping_rttavg_threshold
|
|
||||||
|
|
||||||
elif action == 'Iperf':
|
elif action == 'Iperf':
|
||||||
CiTestObj.iperf_args = test.findtext('iperf_args')
|
CiTestObj.iperf_args = test.findtext('iperf_args')
|
||||||
ue_id = test.findtext('id')
|
CiTestObj.ue_ids = test.findtext('id').split(' ')
|
||||||
if (ue_id is None):
|
CiTestObj.iperf_direction = test.findtext('direction')
|
||||||
CiTestObj.ue_id = ""
|
|
||||||
else:
|
|
||||||
CiTestObj.ue_id = ue_id
|
|
||||||
CiTestObj.iperf_direction = test.findtext('direction')#used for modules only
|
|
||||||
CiTestObj.iperf_packetloss_threshold = test.findtext('iperf_packetloss_threshold')
|
CiTestObj.iperf_packetloss_threshold = test.findtext('iperf_packetloss_threshold')
|
||||||
iperf_bitrate_threshold = test.findtext('iperf_bitrate_threshold')
|
CiTestObj.iperf_bitrate_threshold = test.findtext('iperf_bitrate_threshold') or '90'
|
||||||
if (iperf_bitrate_threshold is None):
|
CiTestObj.iperf_profile = test.findtext('iperf_profile') or 'balanced'
|
||||||
CiTestObj.iperf_bitrate_threshold = "90" #if no threshold is specified, default will be 90%
|
|
||||||
else:
|
|
||||||
CiTestObj.iperf_bitrate_threshold = iperf_bitrate_threshold
|
|
||||||
|
|
||||||
|
|
||||||
CiTestObj.iperf_profile = test.findtext('iperf_profile')
|
|
||||||
if (CiTestObj.iperf_profile is None):
|
|
||||||
CiTestObj.iperf_profile = 'balanced'
|
|
||||||
else:
|
|
||||||
if CiTestObj.iperf_profile != 'balanced' and CiTestObj.iperf_profile != 'unbalanced' and CiTestObj.iperf_profile != 'single-ue':
|
if CiTestObj.iperf_profile != 'balanced' and CiTestObj.iperf_profile != 'unbalanced' and CiTestObj.iperf_profile != 'single-ue':
|
||||||
logging.error('test-case has wrong profile ' + CiTestObj.iperf_profile)
|
logging.error(f'test-case has wrong profile {CiTestObj.iperf_profile}, forcing balanced')
|
||||||
CiTestObj.iperf_profile = 'balanced'
|
CiTestObj.iperf_profile = 'balanced'
|
||||||
CiTestObj.iperf_options = test.findtext('iperf_options')
|
CiTestObj.iperf_options = test.findtext('iperf_options') or 'check'
|
||||||
if (CiTestObj.iperf_options is None):
|
|
||||||
CiTestObj.iperf_options = 'check'
|
|
||||||
else:
|
|
||||||
if CiTestObj.iperf_options != 'check' and CiTestObj.iperf_options != 'sink':
|
if CiTestObj.iperf_options != 'check' and CiTestObj.iperf_options != 'sink':
|
||||||
logging.error('test-case has wrong option ' + CiTestObj.iperf_options)
|
logging.error('test-case has wrong option ' + CiTestObj.iperf_options)
|
||||||
CiTestObj.iperf_options = 'check'
|
CiTestObj.iperf_options = 'check'
|
||||||
@@ -544,22 +471,6 @@ with open(yaml_file,'r') as f:
|
|||||||
#from YAML scalar values to Python dictionary format$
|
#from YAML scalar values to Python dictionary format$
|
||||||
xml_class_list = yaml.load(f,Loader=yaml.FullLoader)
|
xml_class_list = yaml.load(f,Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#loading UE infrastructure from yaml
|
|
||||||
ue_infra_file='ci_ueinfra.yaml'
|
|
||||||
if (os.path.isfile(ue_infra_file)):
|
|
||||||
yaml_file=ue_infra_file
|
|
||||||
elif (os.path.isfile('ci-scripts/'+ue_infra_file)):
|
|
||||||
yaml_file='ci-scripts/'+ue_infra_file
|
|
||||||
else:
|
|
||||||
logging.error("UE infrastructure yaml file cannot be found")
|
|
||||||
sys.exit("UE infrastructure file cannot be found")
|
|
||||||
InfraUE=cls_ci_ueinfra.InfraUE() #initialize UE infrastructure class
|
|
||||||
InfraUE.Get_UE_Infra(yaml_file) #read the UE infra, filename is hardcoded and unique for the moment but should be passed as parameter from the test suite
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
mode = ''
|
mode = ''
|
||||||
|
|
||||||
CiTestObj = cls_oaicitest.OaiCiTest()
|
CiTestObj = cls_oaicitest.OaiCiTest()
|
||||||
@@ -592,15 +503,6 @@ py_param_file_present, py_params, mode = args_parse.ArgsParse(sys.argv,CiTestObj
|
|||||||
if py_param_file_present == True:
|
if py_param_file_present == True:
|
||||||
AssignParams(py_params)
|
AssignParams(py_params)
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
# COTS UE instanciation
|
|
||||||
#-----------------------------------------------------------
|
|
||||||
#COTS_UE instanciation and ADB server init
|
|
||||||
#ue id and ue mode are retrieved from xml
|
|
||||||
COTS_UE=cls_cots_ue.CotsUe(CiTestObj.ADBIPAddress, CiTestObj.ADBUserName,CiTestObj.ADBPassword)
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
# mode amd XML class (action) analysis
|
# mode amd XML class (action) analysis
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
@@ -616,18 +518,12 @@ if re.match('^TerminateeNB$', mode, re.IGNORECASE):
|
|||||||
RAN.eNB_serverId[0]='0'
|
RAN.eNB_serverId[0]='0'
|
||||||
RAN.eNBSourceCodePath='/tmp/'
|
RAN.eNBSourceCodePath='/tmp/'
|
||||||
RAN.TerminateeNB(HTML, EPC)
|
RAN.TerminateeNB(HTML, EPC)
|
||||||
elif re.match('^TerminateUE$', mode, re.IGNORECASE):
|
|
||||||
if (CiTestObj.ADBIPAddress == '' or CiTestObj.ADBUserName == '' or CiTestObj.ADBPassword == ''):
|
|
||||||
HELP.GenericHelp(CONST.Version)
|
|
||||||
sys.exit('Insufficient Parameter')
|
|
||||||
signal.signal(signal.SIGUSR1, receive_signal)
|
|
||||||
CiTestObj.TerminateUE(HTML,COTS_UE,InfraUE,CiTestObj.ue_trace)
|
|
||||||
elif re.match('^TerminateOAIUE$', mode, re.IGNORECASE):
|
elif re.match('^TerminateOAIUE$', mode, re.IGNORECASE):
|
||||||
if CiTestObj.UEIPAddress == '' or CiTestObj.UEUserName == '' or CiTestObj.UEPassword == '':
|
if CiTestObj.UEIPAddress == '' or CiTestObj.UEUserName == '' or CiTestObj.UEPassword == '':
|
||||||
HELP.GenericHelp(CONST.Version)
|
HELP.GenericHelp(CONST.Version)
|
||||||
sys.exit('Insufficient Parameter')
|
sys.exit('Insufficient Parameter')
|
||||||
signal.signal(signal.SIGUSR1, receive_signal)
|
signal.signal(signal.SIGUSR1, receive_signal)
|
||||||
CiTestObj.TerminateOAIUE(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
|
CiTestObj.TerminateOAIUE(HTML,RAN,EPC,CONTAINERS)
|
||||||
elif re.match('^TerminateHSS$', mode, re.IGNORECASE):
|
elif re.match('^TerminateHSS$', mode, re.IGNORECASE):
|
||||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||||
HELP.GenericHelp(CONST.Version)
|
HELP.GenericHelp(CONST.Version)
|
||||||
@@ -691,9 +587,6 @@ elif re.match('^LogCollectOAIUE$', mode, re.IGNORECASE):
|
|||||||
sys.exit('Insufficient Parameter')
|
sys.exit('Insufficient Parameter')
|
||||||
CiTestObj.LogCollectOAIUE()
|
CiTestObj.LogCollectOAIUE()
|
||||||
elif re.match('^InitiateHtml$', mode, re.IGNORECASE):
|
elif re.match('^InitiateHtml$', mode, re.IGNORECASE):
|
||||||
if (CiTestObj.ADBIPAddress == '' or CiTestObj.ADBUserName == '' or CiTestObj.ADBPassword == ''):
|
|
||||||
HELP.GenericHelp(CONST.Version)
|
|
||||||
sys.exit('Insufficient Parameter')
|
|
||||||
count = 0
|
count = 0
|
||||||
foundCount = 0
|
foundCount = 0
|
||||||
while (count < HTML.nbTestXMLfiles):
|
while (count < HTML.nbTestXMLfiles):
|
||||||
@@ -713,28 +606,19 @@ elif re.match('^InitiateHtml$', mode, re.IGNORECASE):
|
|||||||
if foundCount != HTML.nbTestXMLfiles:
|
if foundCount != HTML.nbTestXMLfiles:
|
||||||
HTML.nbTestXMLfiles=foundCount
|
HTML.nbTestXMLfiles=foundCount
|
||||||
|
|
||||||
if (CiTestObj.ADBIPAddress != 'none') and (CiTestObj.ADBIPAddress != 'modules'):
|
HTML.CreateHtmlHeader()
|
||||||
terminate_ue_flag = False
|
|
||||||
CiTestObj.GetAllUEDevices(terminate_ue_flag)
|
|
||||||
CiTestObj.GetAllCatMDevices(terminate_ue_flag)
|
|
||||||
HTML.SethtmlUEConnected(len(CiTestObj.UEDevices) + len(CiTestObj.CatMDevices))
|
|
||||||
HTML.htmlNb_Smartphones=len(CiTestObj.UEDevices)
|
|
||||||
HTML.htmlNb_CATM_Modules=len(CiTestObj.CatMDevices)
|
|
||||||
HTML.CreateHtmlHeader(CiTestObj.ADBIPAddress)
|
|
||||||
elif re.match('^FinalizeHtml$', mode, re.IGNORECASE):
|
elif re.match('^FinalizeHtml$', mode, re.IGNORECASE):
|
||||||
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
||||||
logging.info('\u001B[1m Creating HTML footer \u001B[0m')
|
logging.info('\u001B[1m Creating HTML footer \u001B[0m')
|
||||||
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
||||||
|
|
||||||
CiTestObj.RetrieveSystemVersion('eNB',HTML,RAN)
|
|
||||||
CiTestObj.RetrieveSystemVersion('UE',HTML,RAN)
|
|
||||||
HTML.CreateHtmlFooter(CiTestObj.finalStatus)
|
HTML.CreateHtmlFooter(CiTestObj.finalStatus)
|
||||||
elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re.IGNORECASE):
|
elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re.IGNORECASE):
|
||||||
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
||||||
logging.info('\u001B[1m Starting Scenario: ' + CiTestObj.testXMLfiles[0] + '\u001B[0m')
|
logging.info('\u001B[1m Starting Scenario: ' + CiTestObj.testXMLfiles[0] + '\u001B[0m')
|
||||||
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
||||||
if re.match('^TesteNB$', mode, re.IGNORECASE):
|
if re.match('^TesteNB$', mode, re.IGNORECASE):
|
||||||
if RAN.eNBIPAddress == '' or RAN.ranRepository == '' or RAN.ranBranch == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '' or EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '' or CiTestObj.ADBIPAddress == '' or CiTestObj.ADBUserName == '' or CiTestObj.ADBPassword == '':
|
if RAN.eNBIPAddress == '' or RAN.ranRepository == '' or RAN.ranBranch == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '' or EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||||
HELP.GenericHelp(CONST.Version)
|
HELP.GenericHelp(CONST.Version)
|
||||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.SourceCodePath == '' or EPC.Type == '':
|
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.SourceCodePath == '' or EPC.Type == '':
|
||||||
HELP.EPCSrvHelp(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath, EPC.Type)
|
HELP.EPCSrvHelp(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath, EPC.Type)
|
||||||
@@ -816,15 +700,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
|||||||
|
|
||||||
signal.signal(signal.SIGUSR1, receive_signal)
|
signal.signal(signal.SIGUSR1, receive_signal)
|
||||||
|
|
||||||
if (CiTestObj.ADBIPAddress != 'none') and (CiTestObj.ADBIPAddress != 'modules'):
|
|
||||||
terminate_ue_flag = False
|
|
||||||
CiTestObj.GetAllUEDevices(terminate_ue_flag)
|
|
||||||
CiTestObj.GetAllCatMDevices(terminate_ue_flag)
|
|
||||||
elif (CiTestObj.ADBIPAddress == 'modules'):
|
|
||||||
CiTestObj.UEDevices.append('COTS-Module')
|
|
||||||
else:
|
|
||||||
CiTestObj.UEDevices.append('OAI-UE')
|
|
||||||
HTML.SethtmlUEConnected(len(CiTestObj.UEDevices) + len(CiTestObj.CatMDevices))
|
|
||||||
HTML.CreateHtmlTabHeader()
|
HTML.CreateHtmlTabHeader()
|
||||||
|
|
||||||
# On CI bench w/ containers, we need to validate if IP routes are set
|
# On CI bench w/ containers, we need to validate if IP routes are set
|
||||||
@@ -870,15 +745,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
|||||||
continue
|
continue
|
||||||
CiTestObj.ShowTestID()
|
CiTestObj.ShowTestID()
|
||||||
GetParametersFromXML(action)
|
GetParametersFromXML(action)
|
||||||
if action == 'Initialize_UE' or action == 'Attach_UE' or action == 'Detach_UE' or action == 'Ping' or action == 'Iperf' or action == 'Reboot_UE' or action == 'DataDisable_UE' or action == 'DataEnable_UE' or action == 'CheckStatusUE':
|
|
||||||
if (CiTestObj.ADBIPAddress != 'none') and (CiTestObj.ADBIPAddress != 'modules'):
|
|
||||||
#in these cases, having no devices is critical, GetAllUEDevices function has to manage it as a critical error, reason why terminate_ue_flag is set to True
|
|
||||||
terminate_ue_flag = True
|
|
||||||
# Now we stop properly the test-suite --> clean reporting
|
|
||||||
status = CiTestObj.GetAllUEDevices(terminate_ue_flag)
|
|
||||||
if not status:
|
|
||||||
RAN.prematureExit = True
|
|
||||||
break
|
|
||||||
if action == 'Build_eNB':
|
if action == 'Build_eNB':
|
||||||
RAN.BuildeNB(HTML)
|
RAN.BuildeNB(HTML)
|
||||||
elif action == 'WaitEndBuild_eNB':
|
elif action == 'WaitEndBuild_eNB':
|
||||||
@@ -887,50 +753,35 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
|||||||
logging.info(f"Executing custom command")
|
logging.info(f"Executing custom command")
|
||||||
RAN.CustomCommand(HTML)
|
RAN.CustomCommand(HTML)
|
||||||
elif action == 'Initialize_eNB':
|
elif action == 'Initialize_eNB':
|
||||||
check_eNB = False
|
|
||||||
check_OAI_UE = False
|
|
||||||
RAN.pStatus=CiTestObj.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
|
|
||||||
RAN.InitializeeNB(HTML, EPC)
|
RAN.InitializeeNB(HTML, EPC)
|
||||||
if RAN.prematureExit:
|
if RAN.prematureExit:
|
||||||
CiTestObj.AutoTerminateeNB(HTML,RAN,EPC,CONTAINERS)
|
CiTestObj.AutoTerminateeNB(HTML,RAN,EPC,CONTAINERS)
|
||||||
elif action == 'Terminate_eNB':
|
elif action == 'Terminate_eNB':
|
||||||
RAN.TerminateeNB(HTML, EPC)
|
RAN.TerminateeNB(HTML, EPC)
|
||||||
elif action == 'Initialize_UE':
|
elif action == 'Initialize_UE':
|
||||||
CiTestObj.InitializeUE(HTML,RAN, EPC, COTS_UE, InfraUE, CiTestObj.ue_trace, CONTAINERS)
|
CiTestObj.InitializeUE(HTML)
|
||||||
elif action == 'Terminate_UE':
|
elif action == 'Terminate_UE':
|
||||||
CiTestObj.TerminateUE(HTML,COTS_UE, InfraUE, CiTestObj.ue_trace)
|
CiTestObj.TerminateUE(HTML)
|
||||||
elif action == 'Attach_UE':
|
elif action == 'Attach_UE':
|
||||||
CiTestObj.AttachUE(HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS)
|
CiTestObj.AttachUE(HTML, RAN, EPC, CONTAINERS)
|
||||||
elif action == 'Detach_UE':
|
elif action == 'Detach_UE':
|
||||||
CiTestObj.DetachUE(HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS)
|
CiTestObj.DetachUE(HTML)
|
||||||
elif action == 'DataDisable_UE':
|
elif action == 'DataDisable_UE':
|
||||||
CiTestObj.DataDisableUE(HTML)
|
CiTestObj.DataDisableUE(HTML)
|
||||||
elif action == 'DataEnable_UE':
|
elif action == 'DataEnable_UE':
|
||||||
CiTestObj.DataEnableUE(HTML)
|
CiTestObj.DataEnableUE(HTML)
|
||||||
elif action == 'CheckStatusUE':
|
elif action == 'CheckStatusUE':
|
||||||
CiTestObj.CheckStatusUE(HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS)
|
CiTestObj.CheckStatusUE(HTML)
|
||||||
elif action == 'Build_OAI_UE':
|
elif action == 'Build_OAI_UE':
|
||||||
CiTestObj.BuildOAIUE(HTML)
|
CiTestObj.BuildOAIUE(HTML)
|
||||||
elif action == 'Initialize_OAI_UE':
|
elif action == 'Initialize_OAI_UE':
|
||||||
CiTestObj.InitializeOAIUE(HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS)
|
CiTestObj.InitializeOAIUE(HTML,RAN,EPC,CONTAINERS)
|
||||||
elif action == 'Terminate_OAI_UE':
|
elif action == 'Terminate_OAI_UE':
|
||||||
CiTestObj.TerminateOAIUE(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
|
CiTestObj.TerminateOAIUE(HTML,RAN,EPC,CONTAINERS)
|
||||||
elif action == 'Initialize_CatM_module':
|
|
||||||
CiTestObj.InitializeCatM(HTML)
|
|
||||||
elif action == 'Terminate_CatM_module':
|
|
||||||
CiTestObj.TerminateCatM(HTML)
|
|
||||||
elif action == 'Attach_CatM_module':
|
|
||||||
CiTestObj.AttachCatM(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
|
|
||||||
elif action == 'Detach_CatM_module':
|
|
||||||
CiTestObj.TerminateCatM(HTML)
|
|
||||||
elif action == 'Ping_CatM_module':
|
|
||||||
CiTestObj.PingCatM(HTML,RAN,EPC,COTS_UE,EPC,InfraUE,CONTAINERS)
|
|
||||||
elif action == 'Ping':
|
elif action == 'Ping':
|
||||||
CiTestObj.Ping(HTML,RAN,EPC,COTS_UE, InfraUE, CONTAINERS)
|
CiTestObj.Ping(HTML,RAN,EPC,CONTAINERS)
|
||||||
elif action == 'Iperf':
|
elif action == 'Iperf':
|
||||||
CiTestObj.Iperf(HTML,RAN,EPC,COTS_UE, InfraUE, CONTAINERS)
|
CiTestObj.Iperf(HTML,RAN,EPC,CONTAINERS)
|
||||||
elif action == 'Reboot_UE':
|
|
||||||
CiTestObj.RebootUE(HTML,RAN,EPC)
|
|
||||||
elif action == 'Initialize_HSS':
|
elif action == 'Initialize_HSS':
|
||||||
EPC.InitializeHSS(HTML)
|
EPC.InitializeHSS(HTML)
|
||||||
elif action == 'Terminate_HSS':
|
elif action == 'Terminate_HSS':
|
||||||
|
|||||||
@@ -38,11 +38,6 @@ EPCSourceCodePath : s
|
|||||||
EPCType : t
|
EPCType : t
|
||||||
EPCContainerPrefix : u
|
EPCContainerPrefix : u
|
||||||
|
|
||||||
ADBIPAddress : v
|
|
||||||
ADBUserName : w
|
|
||||||
ADBType : x
|
|
||||||
ADBPassword : y
|
|
||||||
|
|
||||||
XMLTestFile : z
|
XMLTestFile : z
|
||||||
|
|
||||||
UEIPAddress : qqq
|
UEIPAddress : qqq
|
||||||
|
|||||||
@@ -69,13 +69,6 @@ EPC:
|
|||||||
EPCType : t
|
EPCType : t
|
||||||
EPCContainerPrefix : u
|
EPCContainerPrefix : u
|
||||||
|
|
||||||
ADB:
|
|
||||||
ADBIPAddress : v
|
|
||||||
ADBUserName : w
|
|
||||||
ADBType : x
|
|
||||||
ADBPassword : y
|
|
||||||
|
|
||||||
|
|
||||||
UE:
|
UE:
|
||||||
UE_inst_0:
|
UE_inst_0:
|
||||||
name : UE_1
|
name : UE_1
|
||||||
|
|||||||
+15
-24
@@ -131,11 +131,7 @@ class RANManagement():
|
|||||||
mySSH = SSH.SSHConnection()
|
mySSH = SSH.SSHConnection()
|
||||||
mySSH.open(lIpAddr, lUserName, lPassWord)
|
mySSH.open(lIpAddr, lUserName, lPassWord)
|
||||||
|
|
||||||
# Check if we build an 5G-NR gNB or an LTE eNB or an OCP eNB
|
# Check if we build an 5G-NR gNB or an LTE eNB
|
||||||
result = re.search('--eNBocp', self.Build_eNB_args)
|
|
||||||
if result is not None:
|
|
||||||
self.air_interface[self.eNB_instance] = 'ocp-enb'
|
|
||||||
else:
|
|
||||||
result = re.search('--RU', self.Build_eNB_args)
|
result = re.search('--RU', self.Build_eNB_args)
|
||||||
if result is not None:
|
if result is not None:
|
||||||
self.air_interface[self.eNB_instance] = 'oairu'
|
self.air_interface[self.eNB_instance] = 'oairu'
|
||||||
@@ -286,7 +282,7 @@ class RANManagement():
|
|||||||
mySSH.command('ls ran_build/build', '\$', 3)
|
mySSH.command('ls ran_build/build', '\$', 3)
|
||||||
mySSH.command('ls ran_build/build', '\$', 3)
|
mySSH.command('ls ran_build/build', '\$', 3)
|
||||||
|
|
||||||
#check if we have the build corresponding to the air interface keywords (nr-softmode, lte-softmodem, ocp-enb)
|
#check if we have the build corresponding to the air interface keywords (nr-softmode, lte-softmodem)
|
||||||
logging.info('CHECK Build with IP='+lIpAddr+' SourcePath='+lSourcePath)
|
logging.info('CHECK Build with IP='+lIpAddr+' SourcePath='+lSourcePath)
|
||||||
result = re.search(self.air_interface[self.eNB_instance], mySSH.getBefore())
|
result = re.search(self.air_interface[self.eNB_instance], mySSH.getBefore())
|
||||||
if result is None:
|
if result is None:
|
||||||
@@ -365,14 +361,9 @@ class RANManagement():
|
|||||||
cwd = os.getcwd()
|
cwd = os.getcwd()
|
||||||
mySSH.copyout(lIpAddr,lUserName,lPassWord, cwd + "/active_net_interfaces.awk", "/tmp")
|
mySSH.copyout(lIpAddr,lUserName,lPassWord, cwd + "/active_net_interfaces.awk", "/tmp")
|
||||||
|
|
||||||
if (self.pStatus < 0):
|
|
||||||
HTML.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' ' + self.Initialize_eNB_args, 'KO', self.pStatus)
|
|
||||||
HTML.CreateHtmlTabFooter(False)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
#Get pcap on enb and/or gnb if enabled in the xml
|
#Get pcap on enb and/or gnb if enabled in the xml
|
||||||
if self.eNB_Trace=='yes':
|
if self.eNB_Trace=='yes':
|
||||||
if ((self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb')):
|
if self.air_interface[self.eNB_instance] == 'lte-softmodem':
|
||||||
pcapfile_prefix="enb_"
|
pcapfile_prefix="enb_"
|
||||||
else:
|
else:
|
||||||
pcapfile_prefix="gnb_"
|
pcapfile_prefix="gnb_"
|
||||||
@@ -457,7 +448,7 @@ class RANManagement():
|
|||||||
|
|
||||||
#hack UHD_RFNOC_DIR variable for gNB / N310 on RHEL8 server:
|
#hack UHD_RFNOC_DIR variable for gNB / N310 on RHEL8 server:
|
||||||
#if the USRP address is in the xml then we are using an eth USRP (N3xx)
|
#if the USRP address is in the xml then we are using an eth USRP (N3xx)
|
||||||
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
|
if self.air_interface[self.eNB_instance] == 'lte-softmodem':
|
||||||
gNB = False
|
gNB = False
|
||||||
else:
|
else:
|
||||||
gNB = True
|
gNB = True
|
||||||
@@ -473,7 +464,7 @@ class RANManagement():
|
|||||||
monitor_file='../ci-scripts/stats_monitor.py'
|
monitor_file='../ci-scripts/stats_monitor.py'
|
||||||
conf_file='../ci-scripts/stats_monitor_conf.yaml'
|
conf_file='../ci-scripts/stats_monitor_conf.yaml'
|
||||||
if self.eNB_Stats=='yes':
|
if self.eNB_Stats=='yes':
|
||||||
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
|
if self.air_interface[self.eNB_instance] == 'lte-softmodem':
|
||||||
mySSH.command('echo $USER; nohup python3 ' + monitor_file + ' ' + conf_file + ' ' + self.testCase_id + ' enb 2>&1 > enb_stats_monitor_execution.log &', '\$', 5)
|
mySSH.command('echo $USER; nohup python3 ' + monitor_file + ' ' + conf_file + ' ' + self.testCase_id + ' enb 2>&1 > enb_stats_monitor_execution.log &', '\$', 5)
|
||||||
else:
|
else:
|
||||||
mySSH.command('echo $USER; nohup python3 ' + monitor_file + ' ' + conf_file + ' ' + self.testCase_id + ' gnb 2>&1 > gnb_stats_monitor_execution.log &', '\$', 5)
|
mySSH.command('echo $USER; nohup python3 ' + monitor_file + ' ' + conf_file + ' ' + self.testCase_id + ' gnb 2>&1 > gnb_stats_monitor_execution.log &', '\$', 5)
|
||||||
@@ -496,7 +487,7 @@ class RANManagement():
|
|||||||
mySSH.command('killall --signal SIGKILL record', '\$', 5)
|
mySSH.command('killall --signal SIGKILL record', '\$', 5)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
doLoop = False
|
doLoop = False
|
||||||
logging.error('\u001B[1;37;41m eNB/gNB/ocp-eNB logging system did not show got sync! \u001B[0m')
|
logging.error('\u001B[1;37;41m eNB/gNB logging system did not show got sync! \u001B[0m')
|
||||||
HTML.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
# In case of T tracer recording, we need to kill tshark on EPC side
|
# In case of T tracer recording, we need to kill tshark on EPC side
|
||||||
localEpcIpAddr = EPC.IPAddress
|
localEpcIpAddr = EPC.IPAddress
|
||||||
@@ -553,7 +544,7 @@ class RANManagement():
|
|||||||
|
|
||||||
|
|
||||||
HTML.CreateHtmlTestRow(f'{self.cmd_prefix} {self.air_interface[self.eNB_instance]} -O {config_file} {extra_options}', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow(f'{self.cmd_prefix} {self.air_interface[self.eNB_instance]} -O {config_file} {extra_options}', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
logging.debug('\u001B[1m Initialize eNB/gNB/ocp-eNB Completed\u001B[0m')
|
logging.debug('\u001B[1m Initialize eNB/gNB Completed\u001B[0m')
|
||||||
|
|
||||||
def CheckeNBProcess(self, status_queue):
|
def CheckeNBProcess(self, status_queue):
|
||||||
try:
|
try:
|
||||||
@@ -614,19 +605,19 @@ class RANManagement():
|
|||||||
mySSH = SSH.SSHConnection()
|
mySSH = SSH.SSHConnection()
|
||||||
mySSH.open(lIpAddr, lUserName, lPassWord)
|
mySSH.open(lIpAddr, lUserName, lPassWord)
|
||||||
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
|
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
|
||||||
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
|
if self.air_interface[self.eNB_instance] == 'lte-softmodem':
|
||||||
nodeB_prefix = 'e'
|
nodeB_prefix = 'e'
|
||||||
else:
|
else:
|
||||||
nodeB_prefix = 'g'
|
nodeB_prefix = 'g'
|
||||||
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem -e ocp-enb | grep -v grep', '\$', 5)
|
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem | grep -v grep', '\$', 5)
|
||||||
result = re.search('(-softmodem|ocp)', mySSH.getBefore())
|
result = re.search('-softmodem', mySSH.getBefore())
|
||||||
if result is not None:
|
if result is not None:
|
||||||
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGINT -r .*-softmodem ocp-enb || true', '\$', 5)
|
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGINT -r .*-softmodem || true', '\$', 5)
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem -e ocp-enb | grep -v grep', '\$', 5)
|
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem | grep -v grep', '\$', 5)
|
||||||
result = re.search('(-softmodem|ocp)', mySSH.getBefore())
|
result = re.search('-softmodem', mySSH.getBefore())
|
||||||
if result is not None:
|
if result is not None:
|
||||||
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGKILL -r .*-softmodem ocp-enb || true', '\$', 5)
|
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGKILL -r .*-softmodem || true', '\$', 5)
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
mySSH.command('rm -f my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
|
mySSH.command('rm -f my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
|
||||||
#stopping tshark (valid if eNB and enabled in xml, will not harm otherwise)
|
#stopping tshark (valid if eNB and enabled in xml, will not harm otherwise)
|
||||||
@@ -1088,7 +1079,7 @@ class RANManagement():
|
|||||||
|
|
||||||
#post processing depending on the node type
|
#post processing depending on the node type
|
||||||
if not nodeB_prefix_found:
|
if not nodeB_prefix_found:
|
||||||
if (self.air_interface[self.eNB_instance] == 'lte-softmodem') or (self.air_interface[self.eNB_instance] == 'ocp-enb'):
|
if self.air_interface[self.eNB_instance] == 'lte-softmodem':
|
||||||
nodeB_prefix = 'e'
|
nodeB_prefix = 'e'
|
||||||
else:
|
else:
|
||||||
nodeB_prefix = 'g'
|
nodeB_prefix = 'g'
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
- CheckStatusUE
|
- CheckStatusUE
|
||||||
- Ping
|
- Ping
|
||||||
- Iperf
|
- Iperf
|
||||||
- Reboot_UE
|
|
||||||
- Deploy_EPC
|
- Deploy_EPC
|
||||||
- Undeploy_EPC
|
- Undeploy_EPC
|
||||||
- Initialize_HSS
|
- Initialize_HSS
|
||||||
@@ -31,11 +30,6 @@
|
|||||||
- Terminate_SPGW
|
- Terminate_SPGW
|
||||||
- Initialize_5GCN
|
- Initialize_5GCN
|
||||||
- Terminate_5GCN
|
- Terminate_5GCN
|
||||||
- Initialize_CatM_module
|
|
||||||
- Terminate_CatM_module
|
|
||||||
- Attach_CatM_module
|
|
||||||
- Detach_CatM_module
|
|
||||||
- Ping_CatM_module
|
|
||||||
- IdleSleep
|
- IdleSleep
|
||||||
- Perform_X2_Handover
|
- Perform_X2_Handover
|
||||||
- Build_Image
|
- Build_Image
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
000001 000002
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB</desc>
|
|
||||||
<Build_eNB_args>--eNB -t benetel4g -w None</Build_eNB_args>
|
|
||||||
<forced_workspace_cleanup>True</forced_workspace_cleanup>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build gNB</desc>
|
|
||||||
<Build_eNB_args>--gNB -t benetel5g -w None</Build_eNB_args>
|
|
||||||
<forced_workspace_cleanup>True</forced_workspace_cleanup>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,147 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>TEST-NSA-FR1-TM1</htmlTabRef>
|
|
||||||
<htmlTabName>NSA Ping DL UL with QUECTEL</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030000
|
|
||||||
040000
|
|
||||||
000002
|
|
||||||
010000
|
|
||||||
050000
|
|
||||||
050001
|
|
||||||
000001
|
|
||||||
070000
|
|
||||||
000001
|
|
||||||
070001
|
|
||||||
000001
|
|
||||||
010002
|
|
||||||
000001
|
|
||||||
080001
|
|
||||||
080000
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="030000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/benetel-4g.conf --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>lte</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="040000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize gNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/benetel-5g.conf -q --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="050000">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050001">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070000">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (DL/20Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 20M -t 60 -i 1</iperf_args>
|
|
||||||
<direction>DL</direction>
|
|
||||||
<id>idefix</id>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070001">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 3M -t 60 -i 1</iperf_args>
|
|
||||||
<direction>UL</direction>
|
|
||||||
<id>idefix</id>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="080000">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>lte</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="080001">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate gNB</desc>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
|
|
||||||
@@ -1,149 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>TEST-NSA-FR1-TM1</htmlTabRef>
|
|
||||||
<htmlTabName>NSA Ping DL UL with QUECTEL</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030000
|
|
||||||
040000
|
|
||||||
000002
|
|
||||||
010000
|
|
||||||
000001
|
|
||||||
050000
|
|
||||||
050001
|
|
||||||
000001
|
|
||||||
070000
|
|
||||||
000001
|
|
||||||
070001
|
|
||||||
000001
|
|
||||||
010002
|
|
||||||
000001
|
|
||||||
080001
|
|
||||||
080000
|
|
||||||
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="030000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/benetel-4g.conf --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>lte</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="040000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize gNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/benetel-5g.conf -q --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>30</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="050000">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050001">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070000">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (DL/20Mbps/UDP)(20 min)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 20M -t 1200 -i 1</iperf_args>
|
|
||||||
<direction>DL</direction>
|
|
||||||
<id>idefix</id>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070001">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (UL/3Mbps/UDP)(20 min)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 2M -t 1200 -i 1</iperf_args>
|
|
||||||
<direction>UL</direction>
|
|
||||||
<id>idefix</id>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="080000">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>lte</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="080001">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate gNB</desc>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
|
|
||||||
@@ -32,8 +32,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
300000
|
300000
|
||||||
040101
|
040101
|
||||||
030101
|
030101
|
||||||
000001
|
040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201
|
||||||
040301 000001 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201
|
|
||||||
030201
|
030201
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
@@ -45,24 +44,26 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<test_svr_id>0</test_svr_id>
|
<test_svr_id>0</test_svr_id>
|
||||||
<images_to_pull>oai-enb</images_to_pull>
|
<images_to_pull>oai-enb</images_to_pull>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="300000">
|
<testCase id="300000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset USRP</desc>
|
<desc>Reset USRP</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo -S b2xx_fx3_utils --reset-device</command>
|
<command>sudo -S b2xx_fx3_utils --reset-device</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030101">
|
<testCase id="030101">
|
||||||
<class>Deploy_Object</class>
|
<class>Deploy_Object</class>
|
||||||
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
|
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
|
||||||
@@ -88,21 +89,22 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UEs</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UEs</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040501">
|
<testCase id="040501">
|
||||||
@@ -110,6 +112,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040603">
|
<testCase id="040603">
|
||||||
@@ -117,7 +120,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040604">
|
<testCase id="040604">
|
||||||
@@ -125,7 +129,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040605">
|
<testCase id="040605">
|
||||||
@@ -134,6 +139,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040606">
|
<testCase id="040606">
|
||||||
@@ -142,6 +149,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040607">
|
<testCase id="040607">
|
||||||
@@ -150,38 +159,48 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040641">
|
<testCase id="040641">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 9M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040642">
|
<testCase id="040642">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 9M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040643">
|
<testCase id="040643">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040644">
|
<testCase id="040644">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -75,21 +75,22 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000001">
|
<testCase id="000001">
|
||||||
@@ -108,34 +109,40 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
<class>CheckStatusUE</class>
|
<class>CheckStatusUE</class>
|
||||||
<desc>Check UE(s) status before attachment</desc>
|
<desc>Check UE(s) status before attachment</desc>
|
||||||
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000011">
|
<testCase id="000011">
|
||||||
<class>CheckStatusUE</class>
|
<class>CheckStatusUE</class>
|
||||||
<desc>Check UE(s) status before data disabling</desc>
|
<desc>Check UE(s) status before data disabling</desc>
|
||||||
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000012">
|
<testCase id="000012">
|
||||||
<class>CheckStatusUE</class>
|
<class>CheckStatusUE</class>
|
||||||
<desc>Check UE(s) status after data disabling</desc>
|
<desc>Check UE(s) status after data disabling</desc>
|
||||||
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000013">
|
<testCase id="000013">
|
||||||
<class>CheckStatusUE</class>
|
<class>CheckStatusUE</class>
|
||||||
<desc>Check UE(s) status after data re-enabling</desc>
|
<desc>Check UE(s) status after data re-enabling</desc>
|
||||||
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040302">
|
<testCase id="040302">
|
||||||
<class>DataDisable_UE</class>
|
<class>DataDisable_UE</class>
|
||||||
<desc>Disabling Data Service on UE</desc>
|
<desc>Disabling Data Service on UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040303">
|
<testCase id="040303">
|
||||||
<class>DataEnable_UE</class>
|
<class>DataEnable_UE</class>
|
||||||
<desc>Enabling Data Service on UE</desc>
|
<desc>Enabling Data Service on UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040502">
|
<testCase id="040502">
|
||||||
@@ -143,6 +150,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040503">
|
<testCase id="040503">
|
||||||
@@ -150,6 +158,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
|
|||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -47,13 +47,13 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -83,21 +83,22 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040511">
|
<testCase id="040511">
|
||||||
@@ -105,6 +106,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<desc>ping (10MHz - 20 sec)</desc>
|
<desc>ping (10MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040613">
|
<testCase id="040613">
|
||||||
@@ -113,6 +115,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040614">
|
<testCase id="040614">
|
||||||
@@ -121,6 +125,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040615">
|
<testCase id="040615">
|
||||||
@@ -129,6 +135,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040616">
|
<testCase id="040616">
|
||||||
@@ -137,6 +145,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040617">
|
<testCase id="040617">
|
||||||
@@ -145,38 +155,48 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040651">
|
<testCase id="040651">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-u -b 18M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 18M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040652">
|
<testCase id="040652">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (10MHz - UL/18Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 18M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 18M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040653">
|
<testCase id="040653">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040654">
|
<testCase id="040654">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (10MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -31,7 +31,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
111110
|
111110
|
||||||
040101
|
040101
|
||||||
030112
|
030112
|
||||||
040301 040512 040612 040650 040401 040201
|
040301 040302 040512 040612 040650 040401
|
||||||
|
040201
|
||||||
030201
|
030201
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
@@ -45,13 +46,13 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -75,21 +76,22 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040512">
|
<testCase id="040512">
|
||||||
@@ -97,6 +99,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<desc>ping (10MHz - 20 sec)</desc>
|
<desc>ping (10MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040612">
|
<testCase id="040612">
|
||||||
@@ -105,14 +108,18 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 30M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040650">
|
<testCase id="040650">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (10MHz - UL/20Mbps/UDP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-u -b 20M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 20M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -46,13 +46,13 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>hutch</node>
|
<node>hutch</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -82,21 +82,22 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040521">
|
<testCase id="040521">
|
||||||
@@ -104,6 +105,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<desc>ping (20MHz - 20 sec)</desc>
|
<desc>ping (20MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040623">
|
<testCase id="040623">
|
||||||
@@ -112,6 +114,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040624">
|
<testCase id="040624">
|
||||||
@@ -120,6 +124,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040625">
|
<testCase id="040625">
|
||||||
@@ -128,6 +134,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 70M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040626">
|
<testCase id="040626">
|
||||||
@@ -136,6 +144,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040627">
|
<testCase id="040627">
|
||||||
@@ -144,38 +154,48 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040661">
|
<testCase id="040661">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/12Mbps/UDP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (20MHz - UL/12Mbps/UDP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-u -b 12M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 12M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040662">
|
<testCase id="040662">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/17Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (20MHz - UL/17Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 17M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 17M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040663">
|
<testCase id="040663">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040664">
|
<testCase id="040664">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
<desc>iperf (20MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -43,15 +43,16 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<test_svr_id>0</test_svr_id>
|
<test_svr_id>0</test_svr_id>
|
||||||
<images_to_pull>oai-enb</images_to_pull>
|
<images_to_pull>oai-enb</images_to_pull>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -81,21 +82,22 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040501">
|
<testCase id="040501">
|
||||||
@@ -103,6 +105,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040601">
|
<testCase id="040601">
|
||||||
@@ -111,6 +114,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040602">
|
<testCase id="040602">
|
||||||
@@ -119,6 +124,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040603">
|
<testCase id="040603">
|
||||||
@@ -127,6 +134,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040604">
|
<testCase id="040604">
|
||||||
@@ -135,6 +144,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040605">
|
<testCase id="040605">
|
||||||
@@ -142,45 +153,57 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
|
|||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
|
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040641">
|
<testCase id="040641">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040642">
|
<testCase id="040642">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040643">
|
<testCase id="040643">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040644">
|
<testCase id="040644">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040645">
|
<testCase id="040645">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
|
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -80,21 +80,22 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040502">
|
<testCase id="040502">
|
||||||
@@ -102,6 +103,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<desc>ping (5MHz - 20 sec)</desc>
|
<desc>ping (5MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040601">
|
<testCase id="040601">
|
||||||
@@ -110,6 +112,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040606">
|
<testCase id="040606">
|
||||||
@@ -118,6 +122,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040603">
|
<testCase id="040603">
|
||||||
@@ -126,6 +132,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 6.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040608">
|
<testCase id="040608">
|
||||||
@@ -134,6 +142,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040605">
|
<testCase id="040605">
|
||||||
@@ -141,45 +151,57 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml
|
|||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
|
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040641">
|
<testCase id="040641">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040646">
|
<testCase id="040646">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040643">
|
<testCase id="040643">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040648">
|
<testCase id="040648">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040645">
|
<testCase id="040645">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
|
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -80,21 +80,22 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040511">
|
<testCase id="040511">
|
||||||
@@ -102,6 +103,7 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<desc>ping (10MHz - 20 sec)</desc>
|
<desc>ping (10MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040611">
|
<testCase id="040611">
|
||||||
@@ -110,6 +112,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040612">
|
<testCase id="040612">
|
||||||
@@ -118,6 +122,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040613">
|
<testCase id="040613">
|
||||||
@@ -126,6 +132,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040614">
|
<testCase id="040614">
|
||||||
@@ -134,6 +142,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040615">
|
<testCase id="040615">
|
||||||
@@ -141,45 +151,57 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
|
|||||||
<desc>iperf (10MHz - DL/TCP)(30 sec)</desc>
|
<desc>iperf (10MHz - DL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040651">
|
<testCase id="040651">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040652">
|
<testCase id="040652">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040653">
|
<testCase id="040653">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
<desc>iperf (10MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040654">
|
<testCase id="040654">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
<desc>iperf (10MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040655">
|
<testCase id="040655">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (10MHz - UL/TCP)(30 sec)</desc>
|
<desc>iperf (10MHz - UL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -45,13 +45,13 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -80,21 +80,22 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040521">
|
<testCase id="040521">
|
||||||
@@ -102,6 +103,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<desc>ping (20MHz - 20 sec)</desc>
|
<desc>ping (20MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040621">
|
<testCase id="040621">
|
||||||
@@ -110,6 +112,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040622">
|
<testCase id="040622">
|
||||||
@@ -118,6 +122,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040623">
|
<testCase id="040623">
|
||||||
@@ -126,6 +132,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 13.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040624">
|
<testCase id="040624">
|
||||||
@@ -134,6 +142,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040625">
|
<testCase id="040625">
|
||||||
@@ -141,45 +151,57 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
|
|||||||
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
|
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040661">
|
<testCase id="040661">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(balanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040662">
|
<testCase id="040662">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040663">
|
<testCase id="040663">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
<desc>iperf (20MHz - UL/2Mbps/UDP)(30 sec)(unbalanced)</desc>
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 2M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040664">
|
<testCase id="040664">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040665">
|
<testCase id="040665">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
|
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -43,18 +43,20 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<test_svr_id>0</test_svr_id>
|
<test_svr_id>0</test_svr_id>
|
||||||
<images_to_pull>oai-enb</images_to_pull>
|
<images_to_pull>oai-enb</images_to_pull>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>starsky</node>
|
<node>starsky</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030125">
|
<testCase id="030125">
|
||||||
<class>Deploy_Object</class>
|
<class>Deploy_Object</class>
|
||||||
<desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc>
|
<desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc>
|
||||||
@@ -80,21 +82,22 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<testCase id="040101">
|
<testCase id="040101">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize UE</desc>
|
<desc>Initialize UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040201">
|
<testCase id="040201">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate UE</desc>
|
<desc>Terminate UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040301">
|
<testCase id="040301">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach UE</desc>
|
<desc>Attach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040401">
|
<testCase id="040401">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040522">
|
<testCase id="040522">
|
||||||
@@ -102,6 +105,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<desc>ping (20MHz - 20 sec)</desc>
|
<desc>ping (20MHz - 20 sec)</desc>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
<ping_packetloss_threshold>25</ping_packetloss_threshold>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040626">
|
<testCase id="040626">
|
||||||
@@ -110,6 +114,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040627">
|
<testCase id="040627">
|
||||||
@@ -118,6 +124,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040628">
|
<testCase id="040628">
|
||||||
@@ -126,6 +134,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
|
<iperf_args>-u -b 27.5M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040629">
|
<testCase id="040629">
|
||||||
@@ -134,6 +144,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040630">
|
<testCase id="040630">
|
||||||
@@ -141,45 +153,57 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
|
|||||||
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
|
<desc>iperf (20MHz - DL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>DL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040666">
|
<testCase id="040666">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(balanced)</desc>
|
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(balanced)</desc>
|
||||||
<iperf_args>-u -b 7M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 7M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>balanced</iperf_profile>
|
<iperf_profile>balanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040667">
|
<testCase id="040667">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(single-ue)</desc>
|
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-u -b 7M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 7M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040668">
|
<testCase id="040668">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(unbalanced)</desc>
|
<desc>iperf (20MHz - UL/7Mbps/UDP)(30 sec)(unbalanced)</desc>
|
||||||
<iperf_args>-u -b 7M -t 30 -i 1 -R</iperf_args>
|
<iperf_args>-u -b 7M -t 30 -i 1</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
<iperf_profile>unbalanced</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040669">
|
<testCase id="040669">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
<desc>iperf (20MHz - UL/TCP)(30 sec)(single-ue)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040670">
|
<testCase id="040670">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
|
<desc>iperf (20MHz - UL/TCP)(30 sec)</desc>
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
||||||
|
<direction>UL</direction>
|
||||||
|
<id>adb_ue_1 adb_ue_2</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -31,14 +31,10 @@
|
|||||||
500000
|
500000
|
||||||
111110
|
111110
|
||||||
111111
|
111111
|
||||||
000001
|
|
||||||
010002
|
|
||||||
030101
|
|
||||||
000001
|
|
||||||
030102
|
|
||||||
000001
|
|
||||||
010000
|
010000
|
||||||
000001
|
030101
|
||||||
|
030102
|
||||||
|
010001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
070001
|
070001
|
||||||
@@ -46,8 +42,8 @@
|
|||||||
070002
|
070002
|
||||||
050002
|
050002
|
||||||
050003
|
050003
|
||||||
|
010010
|
||||||
010002
|
010002
|
||||||
000001
|
|
||||||
030202
|
030202
|
||||||
030201
|
030201
|
||||||
300000
|
300000
|
||||||
@@ -69,47 +65,58 @@
|
|||||||
<images_to_pull>oai-gnb</images_to_pull>
|
<images_to_pull>oai-gnb</images_to_pull>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id = "100000">
|
<testCase id = "100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset USRP</desc>
|
<desc>Reset USRP</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo -S b2xx_fx3_utils --reset-device</command>
|
<command>sudo -S b2xx_fx3_utils --reset-device</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - nepes</desc>
|
<desc>Disable Sleep States (nepes)</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="300000">
|
<testCase id="300000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - nepes</desc>
|
<desc>Enable Sleep States (nepes)</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="500000">
|
<testCase id="500000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Disable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="600000">
|
<testCase id="600000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Enable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach UE</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id= "010010">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach UE</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030101">
|
<testCase id="030101">
|
||||||
<class>Deploy_Object</class>
|
<class>Deploy_Object</class>
|
||||||
|
|||||||
@@ -28,25 +28,19 @@
|
|||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100000
|
100000
|
||||||
111111
|
111111
|
||||||
010002
|
|
||||||
030101
|
|
||||||
000001
|
|
||||||
010000
|
010000
|
||||||
000001
|
030101
|
||||||
|
010001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
070001
|
|
||||||
070000
|
070000
|
||||||
|
070001
|
||||||
|
070002
|
||||||
|
010010
|
||||||
010002
|
010002
|
||||||
000001
|
|
||||||
030201
|
030201
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<!--
|
|
||||||
070002
|
|
||||||
050002
|
|
||||||
050003
|
|
||||||
-->
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="111111">
|
<testCase id="111111">
|
||||||
@@ -56,30 +50,40 @@
|
|||||||
<images_to_pull>oai-gnb</images_to_pull>
|
<images_to_pull>oai-gnb</images_to_pull>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - nepes</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - nepes</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010002">
|
||||||
|
<class>Terminate_UE</class>
|
||||||
|
<desc>Terminate Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach UE</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010010">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach UE</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030101">
|
<testCase id="030101">
|
||||||
<class>Deploy_Object</class>
|
<class>Deploy_Object</class>
|
||||||
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
|
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
|
||||||
@@ -119,28 +123,10 @@
|
|||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="050002">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050003">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
|
||||||
<ping_rttavg_threshold>15</ping_rttavg_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070000">
|
<testCase id="070000">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (DL/30Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 30M -t 30 -i 1 -fm -l1400</iperf_args>
|
<iperf_args>-u -b 30M -t 30 -i 1 -fm</iperf_args>
|
||||||
<direction>DL</direction>
|
<direction>DL</direction>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>25</iperf_packetloss_threshold>
|
||||||
@@ -151,7 +137,7 @@
|
|||||||
<testCase id="070001">
|
<testCase id="070001">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (UL/8Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
<desc>iperf (UL/8Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 8M -t 30 -i 1 -fm -l1400</iperf_args>
|
<iperf_args>-u -b 8M -t 30 -i 1 -fm</iperf_args>
|
||||||
<direction>UL</direction>
|
<direction>UL</direction>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<iperf_packetloss_threshold>1</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>1</iperf_packetloss_threshold>
|
||||||
|
|||||||
@@ -32,9 +32,11 @@
|
|||||||
130102
|
130102
|
||||||
100001
|
100001
|
||||||
110000
|
110000
|
||||||
|
110001
|
||||||
100001
|
100001
|
||||||
150000
|
150000
|
||||||
150001
|
150001
|
||||||
|
110011
|
||||||
110002
|
110002
|
||||||
100001
|
100001
|
||||||
130201
|
130201
|
||||||
@@ -54,13 +56,21 @@
|
|||||||
<desc>Initialize Quectel</desc>
|
<desc>Initialize Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="110002">
|
<testCase id="110002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="110001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="110011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="130101">
|
<testCase id="130101">
|
||||||
<class>Deploy_Object</class>
|
<class>Deploy_Object</class>
|
||||||
@@ -79,18 +89,20 @@
|
|||||||
<eNB_serverId>0</eNB_serverId>
|
<eNB_serverId>0</eNB_serverId>
|
||||||
<services>gnb_du_tdd</services>
|
<services>gnb_du_tdd</services>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100001">
|
<testCase id="100001">
|
||||||
<class>IdleSleep</class>
|
<class>IdleSleep</class>
|
||||||
<desc>Sleep</desc>
|
<desc>Sleep</desc>
|
||||||
@@ -103,7 +115,6 @@
|
|||||||
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="150000">
|
<testCase id="150000">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
<desc>Ping: 20pings in 20sec</desc>
|
||||||
|
|||||||
@@ -1,147 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201
|
|
||||||
040101
|
|
||||||
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="030101">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize OCP-eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
<air_interface>ocp</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate OCP-eNB</desc>
|
|
||||||
<air_interface>ocp</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040301">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040501">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040603">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040604">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040605">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040606">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040607">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040641">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040642">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040643">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040644">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010101">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB OCP (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNBocp --ninja</Build_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010101">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB --ninja</Build_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-closure</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Closure</htmlTabName>
|
|
||||||
<htmlTabIcon>log-out</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050201 060201 070201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList>
|
|
||||||
</TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050201">
|
|
||||||
<class>Terminate_HSS</class>
|
|
||||||
<desc>Terminate HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060201">
|
|
||||||
<class>Terminate_MME</class>
|
|
||||||
<desc>Terminate MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070201">
|
|
||||||
<class>Terminate_SPGW</class>
|
|
||||||
<desc>Terminate SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-start</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Start</htmlTabName>
|
|
||||||
<htmlTabIcon>log-in</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050101 060101 070101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050101">
|
|
||||||
<class>Initialize_HSS</class>
|
|
||||||
<desc>Initialize HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060101">
|
|
||||||
<class>Initialize_MME</class>
|
|
||||||
<desc>Initialize MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070101">
|
|
||||||
<class>Initialize_SPGW</class>
|
|
||||||
<desc>Initialize SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-nos1-tunnel</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1-noS1-tunnel</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
030101 000001 090101 000002 040501 040502 000001 040601 040602 040641 040642 000001 090109 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000003">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030101">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090101">
|
|
||||||
<class>Initialize_OAI_UE</class>
|
|
||||||
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1 --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040501">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)(from eNB to OAI UE)</desc>
|
|
||||||
<ping_args>-I oaitun_enb1 -c 20 10.0.1.2</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040502">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)(from OAI UE to eNB)</desc>
|
|
||||||
<ping_args>-I oaitun_ue1 -c 20 10.0.1.1</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040601">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.2 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040602">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/14Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.2 -u -b 14M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040641">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.1 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040642">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/4Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.1 -u -b 4M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-fembms-nos1-tunnel</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-FEMBMS-TM1-noS1-tunnel</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
030104 000001 090104 000002 040605 000001 090109 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>15</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000003">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030104">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz/MBMS)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band17.tm1.mbms.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0 --nokrnmod 1 --eNBs.[0].component_carriers.[0].eutra_band 7 --eNBs.[0].component_carriers.[0].downlink_frequency 2680000000 --eNBs.[0].component_carriers.[0].uplink_frequency_offset -120000000 --eNBs.[0].component_carriers.[0].mbms_dedicated_serving_cell ENABLE --MCEs.[0].mbms_sched_info.mbms_area_config_list.[0].pmch_config_list.[0].allocated_sf_end 512 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090104">
|
|
||||||
<class>Initialize_OAI_UE</class>
|
|
||||||
<desc>Initialize OAI UE (FDD/Band7/5MHz/MBMS)</desc>
|
|
||||||
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1 --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040605">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1.5Mbps/UDP/MBMS-sink)(20 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.2.2 -u -b 1.5M -t 20 -i 1 -fm -B 10.0.2.1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_options>sink</iperf_options>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-mbms-nos1-tunnel</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-MBMS-TM1-noS1-tunnel</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
030103 000001 090103 000002 040605 000001 090109 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>15</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000003">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030103">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz/MBMS)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band17.tm1.mbms.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0 --nokrnmod 1 --eNBs.[0].component_carriers.[0].eutra_band 7 --eNBs.[0].component_carriers.[0].downlink_frequency 2680000000 --eNBs.[0].component_carriers.[0].uplink_frequency_offset -120000000 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090103">
|
|
||||||
<class>Initialize_OAI_UE</class>
|
|
||||||
<desc>Initialize OAI UE (FDD/Band7/5MHz/MBMS)</desc>
|
|
||||||
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --noS1 --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040605">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1.5Mbps/UDP/MBMS-sink)(20 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.2.2 -u -b 1.5M -t 20 -i 1 -fm -B 10.0.2.1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_options>sink</iperf_options>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-tunnel</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1-tunnel</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
030102 000001 090102 000002 040503 000001 040603 040604 040643 040644 000001 090109 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030102">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090102">
|
|
||||||
<class>Initialize_OAI_UE</class>
|
|
||||||
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 120 --ue-txgain 0 --ue-max-power 0 --ue-scan-carrier --nokrnmod 1 --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040503">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040603">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040604">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/14Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 14M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040643">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040644">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/4Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 4M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>oai-ue-build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>OAI-UE-Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
090101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="090101">
|
|
||||||
<class>Build_OAI_UE</class>
|
|
||||||
<desc>Build OAI UE</desc>
|
|
||||||
<Build_OAI_UE_args>-w USRP --UE --ninja</Build_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList>
|
|
||||||
</TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010101">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB --ninja</Build_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-closure</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Closure</htmlTabName>
|
|
||||||
<htmlTabIcon>log-out</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
040202
|
|
||||||
050201 060201 070201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="040202">
|
|
||||||
<class>Terminate_CatM_module</class>
|
|
||||||
<desc>Terminate CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050201">
|
|
||||||
<class>Terminate_HSS</class>
|
|
||||||
<desc>Terminate HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060201">
|
|
||||||
<class>Terminate_MME</class>
|
|
||||||
<desc>Terminate MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070201">
|
|
||||||
<class>Terminate_SPGW</class>
|
|
||||||
<desc>Terminate SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-start-tab</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Start</htmlTabName>
|
|
||||||
<htmlTabIcon>log-in</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050101 060101 070101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList>
|
|
||||||
</TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050101">
|
|
||||||
<class>Initialize_HSS</class>
|
|
||||||
<desc>Initialize HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060101">
|
|
||||||
<class>Initialize_MME</class>
|
|
||||||
<desc>Initialize MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070101">
|
|
||||||
<class>Initialize_SPGW</class>
|
|
||||||
<desc>Initialize SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-lte-m-10-tm1</htmlTabRef>
|
|
||||||
<htmlTabName>Test-LTE-M-10MHz-TM1</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestUnstable>True</TestUnstable>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201
|
|
||||||
040102
|
|
||||||
030121 000001 040302 000001 040502 000001 040402 040202 000001 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList>
|
|
||||||
</TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Waiting for a moment...</desc>
|
|
||||||
<idle_sleep_time_in_sec>15</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030121">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band13/10MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band13.tm1.50PRB.emtc.conf --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040102">
|
|
||||||
<class>Initialize_CatM_module</class>
|
|
||||||
<desc>Initialize CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040202">
|
|
||||||
<class>Terminate_CatM_module</class>
|
|
||||||
<desc>Terminate CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040302">
|
|
||||||
<class>Attach_CatM_module</class>
|
|
||||||
<desc>Attach CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040402">
|
|
||||||
<class>Detach_CatM_module</class>
|
|
||||||
<desc>Detach CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040502">
|
|
||||||
<class>Ping_CatM_module</class>
|
|
||||||
<desc>ping (10MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010101">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB --ninja</Build_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-closure</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Closure</htmlTabName>
|
|
||||||
<htmlTabIcon>log-out</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050201 060201 070201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050201">
|
|
||||||
<class>Terminate_HSS</class>
|
|
||||||
<desc>Terminate HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060201">
|
|
||||||
<class>Terminate_MME</class>
|
|
||||||
<desc>Terminate MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070201">
|
|
||||||
<class>Terminate_SPGW</class>
|
|
||||||
<desc>Terminate SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-start-tab</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Start</htmlTabName>
|
|
||||||
<htmlTabIcon>log-in</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050101 060101 070101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050101">
|
|
||||||
<class>Initialize_HSS</class>
|
|
||||||
<desc>Initialize HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060101">
|
|
||||||
<class>Initialize_MME</class>
|
|
||||||
<desc>Initialize MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070101">
|
|
||||||
<class>Initialize_SPGW</class>
|
|
||||||
<desc>Initialize SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>tracer-test</htmlTabRef>
|
|
||||||
<htmlTabName>T-Tracer</htmlTabName>
|
|
||||||
<htmlTabIcon>duplicate</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
040101
|
|
||||||
030100 040300 040401 040201 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="030100">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (TDD/Band40/5MHz) with T Tracer on</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band40.tm1.25PRB.FairScheduler.usrpb210.conf --T_stdout 0 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040300">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach single UE</desc>
|
|
||||||
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,128 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-rrc-w-flex</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1-RRC-Inactivity</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201
|
|
||||||
040101
|
|
||||||
050102
|
|
||||||
030103 000020 040301 040504 000021 040302 000001 000022 040303 000002 040505 000023 040401 040201 030201
|
|
||||||
050202
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Waiting for 55 seconds</desc>
|
|
||||||
<idle_sleep_time_in_sec>55</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Waiting for 10 seconds</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000020">
|
|
||||||
<class>CheckStatusUE</class>
|
|
||||||
<desc>Check UE(s) status before attachment</desc>
|
|
||||||
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000021">
|
|
||||||
<class>CheckStatusUE</class>
|
|
||||||
<desc>Check UE(s) status before data disabling</desc>
|
|
||||||
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000022">
|
|
||||||
<class>CheckStatusUE</class>
|
|
||||||
<desc>Check UE(s) status after data disabling</desc>
|
|
||||||
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000023">
|
|
||||||
<class>CheckStatusUE</class>
|
|
||||||
<desc>Check UE(s) status after data re-enabling</desc>
|
|
||||||
<expectedNbOfConnectedUEs>2</expectedNbOfConnectedUEs>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030103">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz) for RRC Inactivity Timer testing</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040301">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040302">
|
|
||||||
<class>DataDisable_UE</class>
|
|
||||||
<desc>Disabling Data Service on UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040303">
|
|
||||||
<class>DataEnable_UE</class>
|
|
||||||
<desc>Enabling Data Service on UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040504">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040505">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>tracer-test</htmlTabRef>
|
|
||||||
<htmlTabName>T-Tracer</htmlTabName>
|
|
||||||
<htmlTabIcon>duplicate</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
040101
|
|
||||||
030100 040300 040401 040201 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="030100">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz) with T Tracer on</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --T_stdout 0</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040300">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach single UE</desc>
|
|
||||||
<nbMaxUEtoAttach>1</nbMaxUEtoAttach>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
030000
|
030000
|
||||||
040000
|
040000
|
||||||
000002
|
000002
|
||||||
010000
|
010000 010010
|
||||||
000001
|
000001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
070001
|
070001
|
||||||
070002
|
070002
|
||||||
000001
|
000001
|
||||||
010002
|
010011 010002
|
||||||
080001
|
080001
|
||||||
080000
|
080000
|
||||||
200000
|
200000
|
||||||
@@ -50,43 +50,51 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Disable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Enable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="700000">
|
<testCase id="700000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - asterix</desc>
|
<desc>Disable Sleep States (asterix)</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="800000">
|
<testCase id="800000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - asterix</desc>
|
<desc>Enable Sleep States (asterix)</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="010010">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="030000">
|
<testCase id="030000">
|
||||||
|
|||||||
@@ -60,22 +60,17 @@
|
|||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize Quectel</desc>
|
<desc>Initialize Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010003">
|
<testCase id="010003">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach Quectel</desc>
|
<desc>Attach Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010004">
|
<testCase id="010004">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach Quectel</desc>
|
<desc>Detach Quectel</desc>
|
||||||
@@ -84,30 +79,29 @@
|
|||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - asterix</desc>
|
<desc>Disable Sleep States (asterix)</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - asterix</desc>
|
<desc>Enable Sleep States (asterix)</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="300000">
|
<testCase id="300000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Disable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="400000">
|
<testCase id="400000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Enable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="031000">
|
<testCase id="031000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize eNB</desc>
|
<desc>Initialize eNB</desc>
|
||||||
|
|||||||
@@ -1,162 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>TEST-NSA-FR1-TM1</htmlTabRef>
|
|
||||||
<htmlTabName>NSA FULL</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010000
|
|
||||||
030000
|
|
||||||
040000
|
|
||||||
010001
|
|
||||||
000001
|
|
||||||
050000
|
|
||||||
050001
|
|
||||||
000001
|
|
||||||
060000
|
|
||||||
060001
|
|
||||||
000001
|
|
||||||
070000
|
|
||||||
070001
|
|
||||||
010002
|
|
||||||
000001
|
|
||||||
080001
|
|
||||||
080000
|
|
||||||
010003
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="010003">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="010001">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="030000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.fr1.25PRB.usrpb210.conf --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>lte</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="040000">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize gNB</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrpb210.conf -E --log_config.global_log_options level,nocolor,time,line_num,function</Initialize_eNB_args>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050000">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 20pings in 20sec</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050001">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>Ping: 100pings in 20sec</desc>
|
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="060000">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (DL/2.5Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 2.5M -t 60 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060001">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (UL/1.5Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 1.5M -t 60 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="070000">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (DL/20Mbps/UDP)(20 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 20M -t 20 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070001">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (UL/3Mbps/UDP)(20 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 3M -t 20 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="080000">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
<air_interface>lte</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="080001">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate gNB</desc>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
<air_interface>nr</air_interface>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
|
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
040000
|
040000
|
||||||
000002
|
000002
|
||||||
010000
|
010000
|
||||||
|
010010
|
||||||
000001
|
000001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
@@ -43,6 +44,7 @@
|
|||||||
000001
|
000001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
|
010011
|
||||||
010002
|
010002
|
||||||
080001
|
080001
|
||||||
080000
|
080000
|
||||||
@@ -51,12 +53,6 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset USRP</desc>
|
<desc>To reset USRP</desc>
|
||||||
@@ -64,36 +60,52 @@
|
|||||||
<command>sudo -S b2xx_fx3_utils --reset-device</command>
|
<command>sudo -S b2xx_fx3_utils --reset-device</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate Quectel</desc>
|
|
||||||
<id>idefix</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Disable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="300000">
|
<testCase id="300000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - obelix</desc>
|
<desc>Enable Sleep States (obelix)</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="400000">
|
<testCase id="400000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - nepes</desc>
|
<desc>Disable Sleep States (nepes)</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="500000">
|
<testCase id="500000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower - nepes</desc>
|
<desc>Enable Sleep States (nepes)</desc>
|
||||||
<node>nepes</node>
|
<node>nepes</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010002">
|
||||||
|
<class>Terminate_UE</class>
|
||||||
|
<desc>Terminate Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010010">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030000">
|
<testCase id="030000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize eNB</desc>
|
<desc>Initialize eNB</desc>
|
||||||
|
|||||||
@@ -55,29 +55,23 @@
|
|||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize Quectel</desc>
|
<desc>Initialize Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010003">
|
<testCase id="010003">
|
||||||
<class>Attach_UE</class>
|
<class>Attach_UE</class>
|
||||||
<desc>Attach Quectel</desc>
|
<desc>Attach Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010004">
|
<testCase id="010004">
|
||||||
<class>Detach_UE</class>
|
<class>Detach_UE</class>
|
||||||
<desc>Detach Quectel</desc>
|
<desc>Detach Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="030000">
|
<testCase id="030000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize eNB</desc>
|
<desc>Initialize eNB</desc>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
030000
|
030000
|
||||||
040000
|
040000
|
||||||
000002
|
000002
|
||||||
010000
|
010000 010010
|
||||||
000001
|
000001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
000001
|
000001
|
||||||
070001
|
070001
|
||||||
000001
|
000001
|
||||||
|
010011
|
||||||
010002
|
010002
|
||||||
080001
|
080001
|
||||||
080000
|
080000
|
||||||
@@ -56,6 +57,16 @@
|
|||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>idefix</id>
|
<id>idefix</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="010010">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel</desc>
|
||||||
|
<id>idefix</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="030000">
|
<testCase id="030000">
|
||||||
|
|||||||
@@ -27,34 +27,62 @@
|
|||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100000
|
100000
|
||||||
040000
|
|
||||||
000001
|
|
||||||
010000
|
010000
|
||||||
000002
|
040000
|
||||||
|
010001
|
||||||
|
010002
|
||||||
050000
|
050000
|
||||||
|
010100
|
||||||
|
010200
|
||||||
|
011111
|
||||||
080000
|
080000
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Run AS UE Scenario</desc>
|
|
||||||
<id>amarisoft_ue_1</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize AS-UE Scenario</desc>
|
||||||
|
<id>amarisoft_ue</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach UE</desc>
|
||||||
|
<id>amarisoft_ue_1</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010002">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach UE</desc>
|
||||||
|
<id>amarisoft_ue_2</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010100">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach UE</desc>
|
||||||
|
<id>amarisoft_ue_1</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010200">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach UE</desc>
|
||||||
|
<id>amarisoft_ue_2</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="011111">
|
||||||
|
<class>Terminate_UE</class>
|
||||||
|
<desc>Terminate UE</desc>
|
||||||
|
<id>amarisoft_ue</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040000">
|
<testCase id="040000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
@@ -73,20 +101,14 @@
|
|||||||
<testCase id="050000">
|
<testCase id="050000">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping Log Analysis</desc>
|
<desc>Ping Log Analysis</desc>
|
||||||
<id>amarisoft_ue_1</id>
|
<id>amarisoft_ue_1 amarisoft_ue_2</id>
|
||||||
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
<ping_packetloss_threshold>1</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000001">
|
<testCase id="000001">
|
||||||
<class>IdleSleep</class>
|
<class>IdleSleep</class>
|
||||||
<desc>Sleep</desc>
|
<desc>Sleep</desc>
|
||||||
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
|
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,7 @@
|
|||||||
<testCase id="050001">
|
<testCase id="050001">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -95,7 +96,7 @@
|
|||||||
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 60M -t 60</iperf_args>
|
<iperf_args>-u -b 60M -t 60</iperf_args>
|
||||||
<direction>DL</direction>
|
<direction>DL</direction>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>oai_ue_obelix</id>
|
||||||
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -105,7 +106,7 @@
|
|||||||
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
||||||
<iperf_args>-u -b 3M -t 60</iperf_args>
|
<iperf_args>-u -b 3M -t 60</iperf_args>
|
||||||
<direction>UL</direction>
|
<direction>UL</direction>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>oai_ue_obelix</id>
|
||||||
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -51,15 +51,16 @@
|
|||||||
<class>Terminate_OAI_UE</class>
|
<class>Terminate_OAI_UE</class>
|
||||||
<desc>Terminate OAI UE</desc>
|
<desc>Terminate OAI UE</desc>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -93,6 +94,7 @@
|
|||||||
<testCase id="050000">
|
<testCase id="050000">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -100,6 +102,7 @@
|
|||||||
<testCase id="050001">
|
<testCase id="050001">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -107,9 +110,9 @@
|
|||||||
<testCase id="070000">
|
<testCase id="070000">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<iperf_args>-u -b 60M -t 60</iperf_args>
|
<iperf_args>-u -b 60M -t 60</iperf_args>
|
||||||
<direction>DL</direction>
|
<direction>DL</direction>
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -117,9 +120,9 @@
|
|||||||
<testCase id="070001">
|
<testCase id="070001">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<iperf_args>-u -b 3M -t 60</iperf_args>
|
<iperf_args>-u -b 3M -t 60</iperf_args>
|
||||||
<direction>UL</direction>
|
<direction>UL</direction>
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
<testCase id="051000">
|
<testCase id="051000">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
<desc>Ping from CN to UE: 20pings in 20sec</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 20</ping_args>
|
<ping_args>-c 20</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -86,6 +87,7 @@
|
|||||||
<testCase id="051001">
|
<testCase id="051001">
|
||||||
<class>Ping</class>
|
<class>Ping</class>
|
||||||
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
<desc>Ping from CN to UE: 100pings in 20sec</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<ping_args>-c 100 -i 0.2</ping_args>
|
<ping_args>-c 100 -i 0.2</ping_args>
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -93,9 +95,9 @@
|
|||||||
<testCase id="070000">
|
<testCase id="070000">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
<desc>iperf (DL/60Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<iperf_args>-u -b 60M -t 60</iperf_args>
|
<iperf_args>-u -b 60M -t 60</iperf_args>
|
||||||
<direction>DL</direction>
|
<direction>DL</direction>
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -103,9 +105,9 @@
|
|||||||
<testCase id="070001">
|
<testCase id="070001">
|
||||||
<class>Iperf</class>
|
<class>Iperf</class>
|
||||||
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
<desc>iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)</desc>
|
||||||
|
<id>oai_ue_obelix</id>
|
||||||
<iperf_args>-u -b 3M -t 60</iperf_args>
|
<iperf_args>-u -b 3M -t 60</iperf_args>
|
||||||
<direction>UL</direction>
|
<direction>UL</direction>
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
<iperf_packetloss_threshold>5</iperf_packetloss_threshold>
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
<iperf_profile>single-ue</iperf_profile>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -27,60 +27,62 @@
|
|||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100000
|
100000
|
||||||
010002
|
|
||||||
300000
|
300000
|
||||||
040000
|
|
||||||
000002
|
|
||||||
010000
|
010000
|
||||||
000001
|
040000
|
||||||
|
010010
|
||||||
050000
|
050000
|
||||||
000001
|
|
||||||
050001
|
050001
|
||||||
000001
|
|
||||||
070000
|
070000
|
||||||
000001
|
|
||||||
070001
|
070001
|
||||||
000001
|
|
||||||
070002
|
070002
|
||||||
000001
|
010001
|
||||||
010002
|
|
||||||
080000
|
080000
|
||||||
|
020000
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate Quectel</desc>
|
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="300000">
|
<testCase id="300000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reboot USRP</desc>
|
<desc>Reboot USRP</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>ssh root@172.21.19.14 reboot ; sleep 45</command>
|
<command>ssh root@172.21.19.14 reboot ; sleep 45</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010010">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel UE</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel UE</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="020000">
|
||||||
|
<class>Terminate_UE</class>
|
||||||
|
<desc>Terminate Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="040000">
|
<testCase id="040000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
|
|||||||
@@ -27,11 +27,9 @@
|
|||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100000
|
100000
|
||||||
010002
|
|
||||||
042000
|
|
||||||
000002
|
|
||||||
010000
|
010000
|
||||||
000001
|
042000
|
||||||
|
010001
|
||||||
052000
|
052000
|
||||||
000001
|
000001
|
||||||
072000
|
072000
|
||||||
@@ -40,6 +38,7 @@
|
|||||||
000001
|
000001
|
||||||
072002
|
072002
|
||||||
000001
|
000001
|
||||||
|
010011
|
||||||
010002
|
010002
|
||||||
080000
|
080000
|
||||||
200000
|
200000
|
||||||
@@ -50,10 +49,17 @@
|
|||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize Quectel</desc>
|
<desc>Initialize Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel UE</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel UE</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
@@ -74,18 +80,20 @@
|
|||||||
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
|
<USRP_IPAddress>172.21.19.14</USRP_IPAddress>
|
||||||
<cmd_prefix>numactl --cpunodebind=netdev:ens2f0np0 --membind=netdev:ens2f0np0</cmd_prefix>
|
<cmd_prefix>numactl --cpunodebind=netdev:ens2f0np0 --membind=netdev:ens2f0np0</cmd_prefix>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000001">
|
<testCase id="000001">
|
||||||
<class>IdleSleep</class>
|
<class>IdleSleep</class>
|
||||||
<desc>Sleep</desc>
|
<desc>Sleep</desc>
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
041000
|
041000
|
||||||
000002
|
000002
|
||||||
011000
|
011000
|
||||||
|
011001
|
||||||
000001
|
000001
|
||||||
051000
|
051000
|
||||||
000001
|
000001
|
||||||
@@ -46,37 +47,47 @@
|
|||||||
000001
|
000001
|
||||||
071005
|
071005
|
||||||
000001
|
000001
|
||||||
|
011011
|
||||||
011002
|
011002
|
||||||
081000
|
081000
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="011000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>asterix</node>
|
<node>asterix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="011000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="011001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel UE</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="011011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel UE </desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
<testCase id="011002">
|
<testCase id="011002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="041000">
|
<testCase id="041000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
<desc>Initialize gNB</desc>
|
<desc>Initialize gNB</desc>
|
||||||
|
|||||||
@@ -1,133 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-deploy-enb-mono</htmlTabRef>
|
|
||||||
<htmlTabName>Test-Deploy-eNB-Mono</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
040101
|
|
||||||
030101 000020 040301 000021 040501 040601 040611 040641 040651 040401 040201 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Waiting for 60 seconds</desc>
|
|
||||||
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Waiting for 10 seconds</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000020">
|
|
||||||
<class>CheckStatusUE</class>
|
|
||||||
<desc>Check UE(s) status before attachment</desc>
|
|
||||||
<expectedNbOfConnectedUEs>0</expectedNbOfConnectedUEs>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000021">
|
|
||||||
<class>CheckStatusUE</class>
|
|
||||||
<desc>Check UE(s) status after attachment</desc>
|
|
||||||
<expectedNbOfConnectedUEs>1</expectedNbOfConnectedUEs>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030101">
|
|
||||||
<class>Deploy_Object</class>
|
|
||||||
<desc>Deploy eNB (FDD/Band7/5MHz) in a container</desc>
|
|
||||||
<yaml_path>ci-scripts/yaml_files/fr1_enb_mono_fdd_tim</yaml_path>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Undeploy_Object</class>
|
|
||||||
<desc>Undeploy eNB</desc>
|
|
||||||
<yaml_path>ci-scripts/yaml_files/fr1_enb_mono_fdd_tim</yaml_path>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040301">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040501">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040601">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040611">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040641">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/7.5Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 7.5M -t 30 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040651">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201
|
|
||||||
040101
|
|
||||||
030101 040301 000001 040501 040603 040401 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030101">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].plmn_list.[0].mcc 311 --eNBs.[0].plmn_list.[0].mnc 480 --eNBs.[0].plmn_list.[0].mnc_length 3 --eNBs.[0].component_carriers.[0].Nid_cell 10 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040301">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040501">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040603">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040604">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040605">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>unbalanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040606">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040607">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/TCP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040641">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040642">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-u -b 9M -t 30 -i 1 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040643">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>single-ue</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040644">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/TCP)(30 sec)(balanced profile)</desc>
|
|
||||||
<iperf_args>-t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -31,13 +31,13 @@
|
|||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
<testCase id = "100000">
|
<testCase id = "100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>caracal</node>
|
<node>caracal</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id = "200000">
|
<testCase id = "200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>caracal</node>
|
<node>caracal</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -31,13 +31,13 @@
|
|||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
<testCase id = "100000">
|
<testCase id = "100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>caracal</node>
|
<node>caracal</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id = "200000">
|
<testCase id = "200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>caracal</node>
|
<node>caracal</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,18 +26,18 @@
|
|||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
<htmlTabIcon>tasks</htmlTabIcon>
|
||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
290101 000001 290109
|
100000 290101 000001 290109 200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>caracal</node>
|
<node>caracal</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>caracal</node>
|
<node>caracal</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -1,53 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-start-oai-ue</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Start-OAI-UE</htmlTabName>
|
|
||||||
<htmlTabIcon>log-in</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050101 000001 060101 000001 070101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050101">
|
|
||||||
<class>Initialize_HSS</class>
|
|
||||||
<desc>Initialize HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060101">
|
|
||||||
<class>Initialize_MME</class>
|
|
||||||
<desc>Initialize MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070101">
|
|
||||||
<class>Initialize_SPGW</class>
|
|
||||||
<desc>Initialize SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-closure</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Closure</htmlTabName>
|
|
||||||
<htmlTabIcon>log-out</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050201 060201 070201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050201">
|
|
||||||
<class>Terminate_HSS</class>
|
|
||||||
<desc>Terminate HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060201">
|
|
||||||
<class>Terminate_MME</class>
|
|
||||||
<desc>Terminate MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070201">
|
|
||||||
<class>Terminate_SPGW</class>
|
|
||||||
<desc>Terminate SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>terminate-enb-oai-ue</htmlTabRef>
|
|
||||||
<htmlTabName>Terminate-all-eNBs-OAI-UEs</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-oai-ue</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1-OAI-UE</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
030102 000001 090102 000002 040503 000002 040603 040604 040643 040644 000002 090109 000001 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep for 10 sec</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep for 3 sec</desc>
|
|
||||||
<idle_sleep_time_in_sec>3</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030102">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090102">
|
|
||||||
<class>Initialize_OAI_UE</class>
|
|
||||||
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 130 --ue-txgain 1 --ue-max-power -6 --ue-scan-carrier --nokrnmod 1 --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040503">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040603">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040604">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/12Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 12M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040643">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040644">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 2M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1-nos1-tunnel</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1-noS1-tunnel</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
030201 090109
|
|
||||||
030101 000001 090101 000002 040501 040502 000001 040601 040602 040641 040642 000001 090109 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>5</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000003">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>60</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030101">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --noS1 --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090101">
|
|
||||||
<class>Initialize_OAI_UE</class>
|
|
||||||
<desc>Initialize OAI UE (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_OAI_UE_args>-C 2680000000 -r 25 --ue-rxgain 130 --ue-txgain 1 --ue-max-power -6 --ue-scan-carrier --nokrnmod 1 --noS1 --log_config.global_log_options level,nocolor,time</Initialize_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="090109">
|
|
||||||
<class>Terminate_OAI_UE</class>
|
|
||||||
<desc>Terminate OAI UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040501">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)(from eNB to OAI UE)</desc>
|
|
||||||
<ping_args>-I oaitun_enb1 -c 20 10.0.1.2</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040502">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)(from OAI UE to eNB)</desc>
|
|
||||||
<ping_args>-I oaitun_ue1 -c 20 10.0.1.1</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040601">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.2 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040602">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/10Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.2 -u -b 10M -t 30 -i 1 -fm -B 10.0.1.1</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040641">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.1 -u -b 1M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040642">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/2Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-c 10.0.1.1 -u -b 2M -t 30 -i 1 -fm -B 10.0.1.2 -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
<iperf_profile>balanced</iperf_profile>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab-enb0</htmlTabRef>
|
|
||||||
<htmlTabName>Build eNB0</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010101
|
|
||||||
010102
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010101">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB #0 (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="010102">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build eNB #1 (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-start</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Start</htmlTabName>
|
|
||||||
<htmlTabIcon>log-in</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050102 000001 060102 000001 070102
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep</desc>
|
|
||||||
<idle_sleep_time_in_sec>20</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="050102">
|
|
||||||
<class>Initialize_HSS</class>
|
|
||||||
<desc>Initialize HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060102">
|
|
||||||
<class>Initialize_MME</class>
|
|
||||||
<desc>Initialize MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070102">
|
|
||||||
<class>Initialize_SPGW</class>
|
|
||||||
<desc>Initialize SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>epc-stop</htmlTabRef>
|
|
||||||
<htmlTabName>EPC-Stop</htmlTabName>
|
|
||||||
<htmlTabIcon>log-out</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
050201 060201 070201
|
|
||||||
040101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="050201">
|
|
||||||
<class>Terminate_HSS</class>
|
|
||||||
<desc>Terminate HSS</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="060201">
|
|
||||||
<class>Terminate_MME</class>
|
|
||||||
<desc>Terminate MME</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="070201">
|
|
||||||
<class>Terminate_SPGW</class>
|
|
||||||
<desc>Terminate SPGW</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,394 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-05-tm1</htmlTabRef>
|
|
||||||
<htmlTabName>Test-05MHz-TM1</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
040101 030201
|
|
||||||
030103 000002
|
|
||||||
040301 000002 040504 040605 040606 040645 040646 040401
|
|
||||||
040301 000002 040505 000001 040401
|
|
||||||
040301 000002 040506 000001 040401
|
|
||||||
040301 000002 040507 000001 040401
|
|
||||||
040301 000002 040508 000001 040401
|
|
||||||
040301 000002 040509 000001 040401
|
|
||||||
040301 000002 040510 000001 040401
|
|
||||||
040301 000002 040511 000001 040401
|
|
||||||
040301 000002 040512 000001 040401
|
|
||||||
040301 000002 040513 000001 040401
|
|
||||||
040301 000002 040514 000001 040401
|
|
||||||
040301 000002 040515 000001 040401
|
|
||||||
040301 000002 040516 000001 040401
|
|
||||||
040301 000002 040517 000001 040401
|
|
||||||
040301 000002 040518 000001 040401
|
|
||||||
040301 000002 040519 000001 040401
|
|
||||||
040301 000002 040520 000001 040401
|
|
||||||
040301 000002 040521 000001 040401
|
|
||||||
040301 000002 040522 000001 040401
|
|
||||||
040301 000002 040523 000001 040401
|
|
||||||
040301 000002 040524 000001 040401
|
|
||||||
040301 000002 040525 000001 040401
|
|
||||||
040301 000002 040526 000001 040401
|
|
||||||
040301 000002 040527 000001 040401
|
|
||||||
040301 000002 040528 000001 040401
|
|
||||||
040301 000002 040529 000001 040401
|
|
||||||
040301 000002 040530 000001 040401
|
|
||||||
040301 000002 040531 000001 040401
|
|
||||||
040301 000002 040532 000001 040401
|
|
||||||
040301 000002 040533 000001 040401
|
|
||||||
040301 000002 040534 000001 040401
|
|
||||||
040301 000002 040535 000001 040401
|
|
||||||
040301 000002 040536 000001 040401
|
|
||||||
040301 000002 040537 000001 040401
|
|
||||||
040301 000002 040538 000001 040401
|
|
||||||
040301 000002 040539 000001 040401
|
|
||||||
040201 000002 030201
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep for 10 sec</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep for 3 sec</desc>
|
|
||||||
<idle_sleep_time_in_sec>3</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030103">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040301">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040504">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040505">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040506">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040507">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040508">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040509">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040510">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040511">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040512">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040513">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040514">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040515">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040516">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040517">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040518">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040519">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040520">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040521">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040522">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040523">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040524">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040525">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040526">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040527">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040528">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040529">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040530">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040531">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040532">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040533">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040534">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040535">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040536">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040537">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040538">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040539">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040605">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040606">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040645">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040646">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/3.8Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 3.8M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,181 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>test-x2-ho-05-tm1</htmlTabRef>
|
|
||||||
<htmlTabName>Test-X2-Handover-05MHz-TM1</htmlTabName>
|
|
||||||
<htmlTabIcon>tasks</htmlTabIcon>
|
|
||||||
<repeatCount>1</repeatCount>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
040101 030201 030202
|
|
||||||
050102
|
|
||||||
030104 000002 030105 000002
|
|
||||||
040301 000002
|
|
||||||
040540 040615 040655
|
|
||||||
050401 000001
|
|
||||||
040541 040617 040657
|
|
||||||
040401 000001
|
|
||||||
040201 000002 030201 030202
|
|
||||||
050202
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="040101">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040201">
|
|
||||||
<class>Terminate_UE</class>
|
|
||||||
<desc>Terminate UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000001">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep for 10 sec</desc>
|
|
||||||
<idle_sleep_time_in_sec>10</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="000002">
|
|
||||||
<class>IdleSleep</class>
|
|
||||||
<desc>Sleep for 3 sec</desc>
|
|
||||||
<idle_sleep_time_in_sec>3</idle_sleep_time_in_sec>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030104">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB #0 (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --eNBs.[0].enable_measurement_reports yes --eNBs.[0].enable_x2 yes --eNBs.[0].nr_cellid 123456 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030105">
|
|
||||||
<class>Initialize_eNB</class>
|
|
||||||
<desc>Initialize eNB #1 (FDD/Band7/5MHz)</desc>
|
|
||||||
<Initialize_eNB_args>-O ci-scripts/conf_files/enb.band7.tm1.25PRB.slave.usrpb210.conf --eNBs.[0].rrc_inactivity_threshold 0 --RUs.[0].max_rxgain 120 --eNBs.[0].component_carriers.[0].pusch_p0_Nominal -90 --eNBs.[0].component_carriers.[0].pucch_p0_Nominal -96 --eNBs.[0].tracking_area_code 600 --eNBs.[0].plmn_list.[0].mnc 95 --eNBs.[0].enable_measurement_reports yes --eNBs.[0].enable_x2 yes --eNBs.[0].nr_cellid 98765 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030201">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB #0</desc>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="030202">
|
|
||||||
<class>Terminate_eNB</class>
|
|
||||||
<desc>Terminate eNB #1</desc>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040301">
|
|
||||||
<class>Attach_UE</class>
|
|
||||||
<desc>Attach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040401">
|
|
||||||
<class>Detach_UE</class>
|
|
||||||
<desc>Detach UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040540">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>5</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040541">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040542">
|
|
||||||
<class>Ping</class>
|
|
||||||
<desc>ping (5MHz - 20 sec)</desc>
|
|
||||||
<ping_args>-c 20</ping_args>
|
|
||||||
<ping_packetloss_threshold>50</ping_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040615">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040616">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040617">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040618">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - DL/15Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 15M -t 30 -i 1 -fm</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040655">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040656">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/3.8Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 3.8M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040657">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/1Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 1M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040658">
|
|
||||||
<class>Iperf</class>
|
|
||||||
<desc>iperf (5MHz - UL/3.8Mbps/UDP)(30 sec)</desc>
|
|
||||||
<iperf_args>-u -b 3.8M -t 30 -i 1 -fm -R</iperf_args>
|
|
||||||
<iperf_packetloss_threshold>50</iperf_packetloss_threshold>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab-ue0</htmlTabRef>
|
|
||||||
<htmlTabName>Build UE0</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
090101
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="090101">
|
|
||||||
<class>Build_OAI_UE</class>
|
|
||||||
<desc>Build OAI UE</desc>
|
|
||||||
<Build_OAI_UE_args>-w USRP --UE</Build_OAI_UE_args>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
@@ -27,48 +27,53 @@
|
|||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100000
|
100000
|
||||||
010002
|
|
||||||
030000
|
|
||||||
000002
|
|
||||||
010000
|
010000
|
||||||
000001
|
030000
|
||||||
|
010001
|
||||||
050000
|
050000
|
||||||
050001
|
050001
|
||||||
000002
|
|
||||||
070000
|
070000
|
||||||
070001
|
070001
|
||||||
000001
|
010011
|
||||||
010002
|
010002
|
||||||
080000
|
080000
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
<testCase id="010000">
|
<testCase id="010000">
|
||||||
<class>Initialize_UE</class>
|
<class>Initialize_UE</class>
|
||||||
<desc>Initialize Quectel</desc>
|
<desc>Initialize Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030000">
|
<testCase id="030000">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
|
|||||||
@@ -27,49 +27,53 @@
|
|||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100000
|
100000
|
||||||
010002
|
|
||||||
030001
|
|
||||||
000002
|
|
||||||
010000
|
010000
|
||||||
000001
|
030001
|
||||||
|
010001
|
||||||
050002
|
050002
|
||||||
050003
|
050003
|
||||||
000002
|
|
||||||
070002
|
070002
|
||||||
070003
|
070003
|
||||||
000001
|
010011
|
||||||
010002
|
010002
|
||||||
080000
|
080000
|
||||||
200000
|
200000
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
<testCase id="010000">
|
|
||||||
<class>Initialize_UE</class>
|
|
||||||
<desc>Initialize Quectel</desc>
|
|
||||||
<id>nrmodule2_quectel</id>
|
|
||||||
<UE_Trace>yes</UE_Trace>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="100000">
|
<testCase id="100000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Disable Sleep States</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -D 0</command>
|
<command>sudo cpupower idle-set -D 0</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
<testCase id="200000">
|
<testCase id="200000">
|
||||||
<class>Custom_Command</class>
|
<class>Custom_Command</class>
|
||||||
<desc>To reset cpupower</desc>
|
<desc>Enable Sleep States</desc>
|
||||||
<node>obelix</node>
|
<node>obelix</node>
|
||||||
<command>sudo cpupower idle-set -E</command>
|
<command>sudo cpupower idle-set -E</command>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="010000">
|
||||||
|
<class>Initialize_UE</class>
|
||||||
|
<desc>Initialize Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
<testCase id="010002">
|
<testCase id="010002">
|
||||||
<class>Terminate_UE</class>
|
<class>Terminate_UE</class>
|
||||||
<desc>Terminate Quectel</desc>
|
<desc>Terminate Quectel</desc>
|
||||||
<id>nrmodule2_quectel</id>
|
<id>nrmodule2_quectel</id>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
<testCase id="010001">
|
||||||
|
<class>Attach_UE</class>
|
||||||
|
<desc>Attach Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
<testCase id="010011">
|
||||||
|
<class>Detach_UE</class>
|
||||||
|
<desc>Detach Quectel</desc>
|
||||||
|
<id>nrmodule2_quectel</id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="030001">
|
<testCase id="030001">
|
||||||
<class>Initialize_eNB</class>
|
<class>Initialize_eNB</class>
|
||||||
|
|||||||
@@ -102,34 +102,6 @@
|
|||||||
<desc>Detach UE</desc>
|
<desc>Detach UE</desc>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
|
||||||
<testCase id="040701">
|
|
||||||
<class>Reboot_UE</class>
|
|
||||||
<desc>Reboot UE</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<!-- CAT-M UE class command references -->
|
|
||||||
|
|
||||||
<testCase id="040102">
|
|
||||||
<class>Initialize_CatM_module</class>
|
|
||||||
<desc>Initialize CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040202">
|
|
||||||
<class>Terminate_CatM_module</class>
|
|
||||||
<desc>Terminate CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040302">
|
|
||||||
<class>Attach_CatM_module</class>
|
|
||||||
<desc>Attach CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="040402">
|
|
||||||
<class>Detach_CatM_module</class>
|
|
||||||
<desc>Detach CAT-M Module</desc>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<!-- EPC class command references -->
|
<!-- EPC class command references -->
|
||||||
|
|
||||||
<testCase id="050101">
|
<testCase id="050101">
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
<!--
|
|
||||||
|
|
||||||
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.1 (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
|
|
||||||
|
|
||||||
-->
|
|
||||||
<testCaseList>
|
|
||||||
<htmlTabRef>build-tab</htmlTabRef>
|
|
||||||
<htmlTabName>Build</htmlTabName>
|
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
|
||||||
<TestCaseRequestedList>
|
|
||||||
010101
|
|
||||||
010102
|
|
||||||
</TestCaseRequestedList>
|
|
||||||
<TestCaseExclusionList>
|
|
||||||
</TestCaseExclusionList>
|
|
||||||
|
|
||||||
<testCase id="010101">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build Master eNB (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB</Build_eNB_args>
|
|
||||||
<eNB_instance>0</eNB_instance>
|
|
||||||
<eNB_serverId>0</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
<testCase id="010102">
|
|
||||||
<class>Build_eNB</class>
|
|
||||||
<desc>Build Slave eNB (USRP)</desc>
|
|
||||||
<Build_eNB_args>-w USRP -c --eNB --ninja</Build_eNB_args>
|
|
||||||
<eNB_instance>1</eNB_instance>
|
|
||||||
<eNB_serverId>1</eNB_serverId>
|
|
||||||
</testCase>
|
|
||||||
|
|
||||||
</testCaseList>
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user