diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index 42e381dd68..5fb722ee9d 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -143,8 +143,16 @@ else (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -mssse3")
endif()
endif()
+
+set(C_FLAGS_PROCESSOR " ${C_FLAGS_PROCESSOR} ${CFLAGS_PROCESSOR_USER}")
+
Message("C_FLAGS_PROCESSOR is ${C_FLAGS_PROCESSOR}")
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "x86")
+ if ( (NOT( C_FLAGS_PROCESSOR MATCHES "ssse3")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.1")) OR (NOT( C_FLAGS_PROCESSOR MATCHES "msse4.2")) )
+ Message(FATAL_ERROR "For x86 Architecture, you must have following flags: -mssse3 -msse4.1 -msse4.2. The current detected flags are: ${C_FLAGS_PROCESSOR}. You can pass the flags manually in build script, for example: ./build_oai --cflags_processor \"-mssse3 -msse4.1 -msse4.2\" ")
+ endif()
+endif()
#
set(CMAKE_C_FLAGS
@@ -1682,7 +1690,7 @@ foreach(myExe s1ap
${OPENAIR3_DIR}/TEST/test_${myExe}.c
)
target_link_libraries (test_${myExe}
- -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES} fdproto fdcore
+ -Wl,--start-group SECU_CN UTIL LFDS -Wl,--end-group m rt crypt ${CRYPTO_LIBRARIES} ${OPENSSL_LIBRARIES} ${NETTLE_LIBRARIES} ${CONFIG_LIBRARIES}
)
endforeach(myExe)
diff --git a/cmake_targets/autotests/010113/CMakeLists.txt b/cmake_targets/autotests/010113/CMakeLists.txt
deleted file mode 100644
index 2ac0caecde..0000000000
--- a/cmake_targets/autotests/010113/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-set(OAI_NW_DRIVER_TYPE_ETHERNET True)
-set(OAI_NW_DRIVER_USE_NETLINK True)
-set(NAS_NETLINK True)
-include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010114/CMakeLists.txt b/cmake_targets/autotests/010114/CMakeLists.txt
deleted file mode 100644
index 23497976f1..0000000000
--- a/cmake_targets/autotests/010114/CMakeLists.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set(ADDR_CONF False)
-set(DEBUG_OMG False)
-set(DISABLE_XER_PRINT False)
-set(DRIVER2013 False)
-set(ENABLE_FXP True)
-set(ENABLE_ITTI True)
-set(ENABLE_NAS_UE_LOGGING False)
-set(ENABLE_NEW_MULTICAST True)
-set(ENABLE_PGM_TRANSPORT True)
-set(ENABLE_RAL False)
-set(ENABLE_SECURITY False)
-set(ENABLE_USE_CPU_EXECUTION_TIME True)
-set(ENABLE_USE_MME False)
-set(ENABLE_VCD_FIFO True)
-set(HARD_RT False)
-set(JUMBO_FRAME True)
-set(LARGE_SCALE False)
-set(LINK_ENB_PDCP_TO_GTPV1U False)
-set(LINUX_LIST False)
-set(LINUX True)
-set(LOCALIZATION False)
-set(LOG_NO_THREAD True)
-set(LOWLATENCY False)
-set(MAC_CONTEXT 1)
-set(MAX_NUM_CCs 1)
-set(MIH_C_MEDIEVAL_EXTENSIONS False)
-set(MSG_PRINT False)
-set(MU_RECEIVER False)
-set(NAS_ADDRESS_FIX true)
-set(NAS_NETLINK True)
-set(NAS_UE True)
-set(NEW_FFT True)
-set(NO_RRM True)
-set(OAI_EMU True)
-set(OAI_EMU True)
-set(OAI_NW_DRIVER_TYPE_ETHERNET True)
-set(OPENAIR1 False)
-set(OPENAIR2 True)
-set(OPENAIR_EMU True)
-set(OPENAIR_LTE True)
-set (PACKAGE_NAME "oaisim")
-set(PACKAGE_NAME "oaisim")
-set(PBS_SIM False)
-set(PC_DSP False)
-set(PC_TARGET False)
-set(PDCP_MSG_PRINT False)
-set(PERFECT_CE False)
-set(PHY_ABSTRACTION True)
-set(PHY_ABSTRACTION True)
-set(PHY_EMUL False)
-set(PHYSIM False)
-set(PUCCH True)
-set(RANDOM_BF False)
-set(RF_BOARD "NoBoard")
-set(RLC_STOP_ON_LOST_PDU True)
-set(RRC_ASN1_VERSION Rel8)
-set(RRC_ASN1_VERSION "Rel8")
-set(RRC_MSG_PRINT False)
-set(RTAI False)
-set(SECU False)
-set(SMBV False)
-set(SPECTRA False)
-set(TEST_OMG False)
-set(USE_3GPP_ADDR_AS_LINK_ADDR False)
-set(USE_MME False)
-set(USER_MODE True)
-set(XER_PRINT False)
-set(XFORMS False)
-
-include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010115/CMakeLists.txt b/cmake_targets/autotests/010115/CMakeLists.txt
deleted file mode 100644
index 01c00574a4..0000000000
--- a/cmake_targets/autotests/010115/CMakeLists.txt
+++ /dev/null
@@ -1,107 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-set ( ADDR_CONF False )
-set ( DEBUG_OMG False )
-set ( DISABLE_USE_NAS False )
-set ( DISABLE_XER_PRINT False )
-set ( DRIVER2013 False )
-set ( EMOS False )
-set ( ENABLE_FXP True )
-set ( ENABLE_ITTI True )
-set ( ENABLE_NAS_UE_LOGGING False )
-set ( ENABLE_NEW_MULTICAST True )
-set ( ENABLE_PGM_TRANSPORT True )
-set ( ENABLE_RAL False )
-set ( ENABLE_SECURITY False )
-set ( ENABLE_STANDALONE_EPC False )
-set ( ENABLE_USE_CPU_EXECUTION_TIME True )
-set ( ENABLE_USE_MME False )
-set ( ENABLE_VCD_FIFO True )
-set ( ENB_MODE True )
-set ( EPC_BUILD False )
-set ( HARD_RT False )
-set ( JUMBO_FRAME True )
-set ( LARGE_SCALE False )
-set ( LINK_ENB_PDCP_TO_GTPV1U False )
-set ( LINK_ENB_PDCP_TO_IP_DRIVER False )
-set ( LINUX_LIST False )
-set ( LINUX True )
-set ( LOCALIZATION False )
-set ( LOG_NO_THREAD True )
-set ( LOWLATENCY False )
-set ( MAC_CONTEXT 1 )
-set ( MAX_NUM_CCs 1 )
-set ( MESSAGE_CHART_GENERATOR False )
-set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
-set ( MESSAGE_CHART_GENERATOR_PHY False )
-set ( MIH_C_MEDIEVAL_EXTENSIONS False )
-set ( MSG_PRINT False )
-set ( MU_RECEIVER False )
-set ( NAS_ADDRESS_FIX False )
-set ( NAS_BUILT_IN_EPC False )
-set ( NAS_BUILT_IN_UE False )
-set ( NAS_MME False )
-set ( NAS_NETLINK False )
-set ( NAS_UE False )
-set ( NB_ANTENNAS_RX 2 )
-set ( NB_ANTENNAS_TX 2 )
-set ( NB_ANTENNAS_TXRX 2 )
-set ( NEW_FFT True )
-set ( NO_RRM True )
-set ( OAI_EMU True )
-set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
-set ( OAI_NW_DRIVER_USE_NETLINK False )
-set ( OAISIM True )
-set ( OPENAIR1 False )
-set ( OPENAIR2 True )
-set ( OPENAIR_EMU False )
-set ( OPENAIR_LTE True )
-set ( PBS_SIM False )
-set ( PC_DSP False )
-set ( PC_TARGET False )
-set ( PDCP_MSG_PRINT False )
-set ( PDCP_USE_NETLINK_QUEUES False )
-set ( PDCP_USE_NETLINK True )
-set ( PERFECT_CE False )
-set ( PHY_ABSTRACTION True )
-set ( PHY_CONTEXT 1 )
-set ( PHY_EMUL False )
-set ( PHYSIM False )
-set ( PUCCH True )
-set ( RANDOM_BF False )
-set ( RF_BOARD False )
-set ( RLC_STOP_ON_LOST_PDU True )
-set ( RRC_ASN1_VERSION Rel10 )
-set ( RRC_DEFAULT_RAB_IS_AM False )
-set ( RRC_MSG_PRINT False )
-set ( RTAI False )
-set ( S1AP_LIMIT_STREAM_ID_TO_1 False )
-set ( S1AP_VERSION R10 )
-set ( SMBV False )
-set ( SPECTRA False )
-set ( STOP_ON_IP_TRAFFIC_OVERLOAD False )
-set ( TEST_OMG False )
-set ( TRACE_RLC_AM_BO False )
-set ( TRACE_RLC_AM_FREE_SDU False )
-set ( TRACE_RLC_AM_HOLE False )
-set ( TRACE_RLC_AM_PDU True )
-set ( TRACE_RLC_AM_RESEGMENT False )
-set ( TRACE_RLC_AM_RX_DECODE False )
-set ( TRACE_RLC_AM_RX False )
-set ( TRACE_RLC_AM_STATUS_CREATION False )
-set ( TRACE_RLC_AM_TX False )
-set ( TRACE_RLC_AM_TX_STATUS False )
-set ( TRACE_RLC_PAYLOAD False )
-set ( TRACE_RLC_UM_DAR False )
-set ( TRACE_RLC_UM_DISPLAY_ASCII_DATA False )
-set ( TRACE_RLC_UM_PDU True )
-set ( TRACE_RLC_UM_RX False )
-set ( TRACE_RLC_UM_SEGMENT False )
-set ( TRACE_RLC_UM_TX_STATUS False )
-set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
-set ( USE_MME False )
-set ( USER_MODE True )
-set ( XER_PRINT False )
-set ( XFORMS False )
-
-include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010204/CMakeLists.txt b/cmake_targets/autotests/010204/CMakeLists.txt
new file mode 100644
index 0000000000..e6c4bdfe47
--- /dev/null
+++ b/cmake_targets/autotests/010204/CMakeLists.txt
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD 1 )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False )
+set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
+set ( MESSAGE_CHART_GENERATOR_PHY False )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX True )
+set ( NAS_BUILT_IN_UE False)
+set ( NAS_MME False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAISIM True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PACKAGE_NAME "oaisim" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
+set ( PRINT_STATS False )
+set ( RRC_ASN1_VERSION "Rel10")
+set ( ENABLE_VCD_FIFO False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010205/CMakeLists.txt b/cmake_targets/autotests/010205/CMakeLists.txt
new file mode 100644
index 0000000000..e6c4bdfe47
--- /dev/null
+++ b/cmake_targets/autotests/010205/CMakeLists.txt
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD 1 )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False )
+set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
+set ( MESSAGE_CHART_GENERATOR_PHY False )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX True )
+set ( NAS_BUILT_IN_UE False)
+set ( NAS_MME False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAISIM True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PACKAGE_NAME "oaisim" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
+set ( PRINT_STATS False )
+set ( RRC_ASN1_VERSION "Rel10")
+set ( ENABLE_VCD_FIFO False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010400/CMakeLists.txt b/cmake_targets/autotests/010400/CMakeLists.txt
new file mode 100644
index 0000000000..e6c4bdfe47
--- /dev/null
+++ b/cmake_targets/autotests/010400/CMakeLists.txt
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD 1 )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False )
+set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
+set ( MESSAGE_CHART_GENERATOR_PHY False )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX True )
+set ( NAS_BUILT_IN_UE False)
+set ( NAS_MME False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAISIM True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PACKAGE_NAME "oaisim" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
+set ( PRINT_STATS False )
+set ( RRC_ASN1_VERSION "Rel10")
+set ( ENABLE_VCD_FIFO False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010401/CMakeLists.txt b/cmake_targets/autotests/010401/CMakeLists.txt
new file mode 100644
index 0000000000..e6c4bdfe47
--- /dev/null
+++ b/cmake_targets/autotests/010401/CMakeLists.txt
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD 1 )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False )
+set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
+set ( MESSAGE_CHART_GENERATOR_PHY False )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX True )
+set ( NAS_BUILT_IN_UE False)
+set ( NAS_MME False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAISIM True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PACKAGE_NAME "oaisim" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
+set ( PRINT_STATS False )
+set ( RRC_ASN1_VERSION "Rel10")
+set ( ENABLE_VCD_FIFO False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010402/CMakeLists.txt b/cmake_targets/autotests/010402/CMakeLists.txt
new file mode 100644
index 0000000000..e6c4bdfe47
--- /dev/null
+++ b/cmake_targets/autotests/010402/CMakeLists.txt
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD 1 )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False )
+set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
+set ( MESSAGE_CHART_GENERATOR_PHY False )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX True )
+set ( NAS_BUILT_IN_UE False)
+set ( NAS_MME False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAISIM True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PACKAGE_NAME "oaisim" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
+set ( PRINT_STATS False )
+set ( RRC_ASN1_VERSION "Rel10")
+set ( ENABLE_VCD_FIFO False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010403/CMakeLists.txt b/cmake_targets/autotests/010403/CMakeLists.txt
new file mode 100644
index 0000000000..e6c4bdfe47
--- /dev/null
+++ b/cmake_targets/autotests/010403/CMakeLists.txt
@@ -0,0 +1,87 @@
+cmake_minimum_required(VERSION 2.8)
+
+set ( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+set ( ADDR_CONF False )
+set ( DEBUG_OMG False )
+set ( DISABLE_XER_PRINT False )
+set ( DRIVER2013 True )
+set ( EMOS False )
+set ( ENABLE_FXP True )
+set ( ENABLE_ITTI True )
+set ( ENABLE_NAS_UE_LOGGING False )
+set ( ENABLE_NEW_MULTICAST True )
+set ( ENABLE_PGM_TRANSPORT True )
+set ( ENABLE_RAL False )
+set ( ENABLE_SECURITY False )
+set ( ENABLE_STANDALONE_EPC False)
+set ( ENABLE_USE_CPU_EXECUTION_TIME True )
+set ( ENABLE_USE_MME False )
+set ( ENABLE_USE_RAW_SOCKET_FOR_SGI False)
+set ( ENABLE_VCD_FIFO False )
+set ( ENB_MODE True )
+set ( EXMIMO_IOT True )
+set ( HARD_RT False )
+set ( JUMBO_FRAME True )
+set ( LARGE_SCALE False )
+set ( LINK_ENB_PDCP_TO_GTPV1U False)
+set ( LINUX_LIST False )
+set ( LINUX True )
+set ( LOCALIZATION False )
+set ( LOG_NO_THREAD 1 )
+set ( LOWLATENCY False )
+set ( MAC_CONTEXT 1 )
+set ( MAX_NUM_CCs 1 )
+set ( MESSAGE_CHART_GENERATOR False )
+set ( MESSAGE_CHART_GENERATOR_RLC_MAC False )
+set ( MESSAGE_CHART_GENERATOR_PHY False )
+set ( MIH_C_MEDIEVAL_EXTENSIONS False )
+set ( MSG_PRINT False )
+set ( MU_RECEIVER False )
+set ( NAS_ADDRESS_FIX True )
+set ( NAS_BUILT_IN_UE False)
+set ( NAS_MME False )
+set ( NAS_UE False )
+set ( NB_ANTENNAS_RX "2" )
+set ( NB_ANTENNAS_TX "2" )
+set ( NB_ANTENNAS_TXRX "2" )
+set ( NEW_FFT True )
+set ( NO_RRM True )
+set ( OAI_EMU True )
+set ( OAISIM True )
+set ( OAI_NW_DRIVER_TYPE_ETHERNET True )
+set ( OAI_NW_DRIVER_USE_NETLINK True )
+set ( OPENAIR1 True )
+set ( OPENAIR2 True )
+set ( OPENAIR_EMU False )
+set ( OPENAIR_LTE True )
+set ( PACKAGE_NAME "oaisim" )
+set ( PBS_SIM False )
+set ( PDCP_USE_NETLINK True )
+set ( PC_DSP True )
+set ( PC_TARGET True )
+set ( PDCP_MSG_PRINT False )
+set ( PERFECT_CE False )
+set ( PHY_ABSTRACTION True )
+set ( PHY_CONTEXT False )
+set ( PHY_EMUL False )
+set ( PHYSIM True )
+set ( PUCCH True )
+set ( RANDOM_BF False )
+set ( RF_BOARD "False" )
+set ( RRC_ASN1_VERSION "Rel10" )
+set ( RLC_STOP_ON_LOST_PDU False )
+set ( RRC_MSG_PRINT False )
+set ( RTAI False )
+set ( SECU False )
+set ( SMBV False )
+set ( SPECTRA False )
+set ( TEST_OMG False )
+set ( USE_3GPP_ADDR_AS_LINK_ADDR False )
+set ( USE_MME "R10" )
+set ( USER_MODE True )
+set ( XER_PRINT False )
+set ( XFORMS False )
+set ( PRINT_STATS False )
+set ( RRC_ASN1_VERSION "Rel10")
+set ( ENABLE_VCD_FIFO False )
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/010309/CMakeLists.txt b/cmake_targets/autotests/015000/CMakeLists.txt
similarity index 93%
rename from cmake_targets/autotests/010309/CMakeLists.txt
rename to cmake_targets/autotests/015000/CMakeLists.txt
index 36a9eb75da..47cf5074b5 100644
--- a/cmake_targets/autotests/010309/CMakeLists.txt
+++ b/cmake_targets/autotests/015000/CMakeLists.txt
@@ -5,7 +5,7 @@ set(RF_BOARD None)
set(XFORMS False)
set(DEBUG_PHY False)
-set(MU_RECIEVER Flase)
+set(MU_RECIEVER False)
set(RANDOM_BF False)
set(PBS_SIM False)
set(PERFECT_CE False)
diff --git a/cmake_targets/autotests/010307/CMakeLists.txt b/cmake_targets/autotests/015001/CMakeLists.txt
similarity index 93%
rename from cmake_targets/autotests/010307/CMakeLists.txt
rename to cmake_targets/autotests/015001/CMakeLists.txt
index 36a9eb75da..47cf5074b5 100644
--- a/cmake_targets/autotests/010307/CMakeLists.txt
+++ b/cmake_targets/autotests/015001/CMakeLists.txt
@@ -5,7 +5,7 @@ set(RF_BOARD None)
set(XFORMS False)
set(DEBUG_PHY False)
-set(MU_RECIEVER Flase)
+set(MU_RECIEVER False)
set(RANDOM_BF False)
set(PBS_SIM False)
set(PERFECT_CE False)
diff --git a/cmake_targets/autotests/010308/CMakeLists.txt b/cmake_targets/autotests/015002/CMakeLists.txt
similarity index 93%
rename from cmake_targets/autotests/010308/CMakeLists.txt
rename to cmake_targets/autotests/015002/CMakeLists.txt
index 36a9eb75da..47cf5074b5 100644
--- a/cmake_targets/autotests/010308/CMakeLists.txt
+++ b/cmake_targets/autotests/015002/CMakeLists.txt
@@ -5,7 +5,7 @@ set(RF_BOARD None)
set(XFORMS False)
set(DEBUG_PHY False)
-set(MU_RECIEVER Flase)
+set(MU_RECIEVER False)
set(RANDOM_BF False)
set(PBS_SIM False)
set(PERFECT_CE False)
diff --git a/cmake_targets/autotests/010306/CMakeLists.txt b/cmake_targets/autotests/015003/CMakeLists.txt
similarity index 93%
rename from cmake_targets/autotests/010306/CMakeLists.txt
rename to cmake_targets/autotests/015003/CMakeLists.txt
index 36a9eb75da..47cf5074b5 100644
--- a/cmake_targets/autotests/010306/CMakeLists.txt
+++ b/cmake_targets/autotests/015003/CMakeLists.txt
@@ -5,7 +5,7 @@ set(RF_BOARD None)
set(XFORMS False)
set(DEBUG_PHY False)
-set(MU_RECIEVER Flase)
+set(MU_RECIEVER False)
set(RANDOM_BF False)
set(PBS_SIM False)
set(PERFECT_CE False)
diff --git a/cmake_targets/autotests/015004/CMakeLists.txt b/cmake_targets/autotests/015004/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015004/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015005/CMakeLists.txt b/cmake_targets/autotests/015005/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015005/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015006/CMakeLists.txt b/cmake_targets/autotests/015006/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015006/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015007/CMakeLists.txt b/cmake_targets/autotests/015007/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015007/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015008/CMakeLists.txt b/cmake_targets/autotests/015008/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015008/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015009/CMakeLists.txt b/cmake_targets/autotests/015009/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015009/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015100/CMakeLists.txt b/cmake_targets/autotests/015100/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015100/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/015101/CMakeLists.txt b/cmake_targets/autotests/015101/CMakeLists.txt
new file mode 100644
index 0000000000..47cf5074b5
--- /dev/null
+++ b/cmake_targets/autotests/015101/CMakeLists.txt
@@ -0,0 +1,15 @@
+cmake_minimum_required(VERSION 2.8)
+set(PACKAGE_NAME "unitary_tests_simulators")
+set(PHYSIM True)
+set(RF_BOARD None)
+set(XFORMS False)
+
+set(DEBUG_PHY False)
+set(MU_RECIEVER False)
+set(RANDOM_BF False)
+set(PBS_SIM False)
+set(PERFECT_CE False)
+set(NAS_UE False)
+set(MESSAGE_CHART_GENERATOR False)
+
+include(${CMAKE_CURRENT_SOURCE_DIR}/../../CMakeLists.txt)
diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt
index 24f3a71c8d..c983933125 100644
--- a/cmake_targets/autotests/README.txt
+++ b/cmake_targets/autotests/README.txt
@@ -5,40 +5,90 @@ Obj.# Case# Test# Description
01 pre-commit test case
01 01 Build OAI
-01 01 00 Check Makefiles and
-01 01 01 Build oaisim Rel8
-01 01 02 Build oaisim Rel8 + network device driver(nasmesh_fix)
-01 01 03 Build lte-softmode Rel8
-01 01 04 Build dlsim Rel8
-01 01 05 Build ulsim Rel8
-01 01 06 Build oaisim Rel10
-01 01 07 Build oaisim Rel8 with cellular RRC for eNB
-01 01 08 Build oaisim Rel8 with cellular RRC for UE
-01 01 09 "commented test in targets/TEST/OAI/case01.py"
-01 01 10 "commented test in targets/TEST/OAI/case01.py"
-01 01 11 "commented test in targets/TEST/OAI/case01.py"
-01 01 12 "commented test in targets/TEST/OAI/case01.py"
-01 01 13 Build network device driver(oai_nw_drv type ethernet)
-01 01 14 Build oaisim Rel8 with RRC lite (new cellular+ITTI) + RAL (802.21)
-01 01 15 Build oaisim Rel10 with RRC lite (new cellular+ITTI) + RAL (802.21)
+01 01 01 Build oaisim.Rel8
+01 01 02 Build oaisim.Rel8 + network device driver(nasmesh_fix)
+01 01 03 Build (lte-softmodem.Rel8.EXMIMO + lte-softmodem.Rel10.EXMIMO + lte-softmodem.Rel10.USRP)
+01 01 04 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10
+ secu_knas_encrypt_eia1.Rel10 secu_kenb.Rel10 aes128_ctr_encrypt.Rel10 aes128_ctr_decrypt.Rel10 secu_knas_encrypt_eea2.Rel10
+ secu_knas.Rel10 secu_knas_encrypt_eea1.Rel10 kdf.Rel10 aes128_cmac_encrypt.Rel10 secu_knas_encrypt_eia2.Rel10)
+01 01 06 Build oaisim.Rel8 + ITTI
+01 01 07 Build oaisim.Rel10
+01 01 08 Build oaisim.Rel10 + ITTI
+01 01 20 Build Nasmesh
+01 01 30 Build RRH Gateway
-01 02 Run OAI Rel8, and check the operation
-01 02 00 Run OAI Rel8, and search for segmentation fault or exit
-01 02 01 Run OAI Rel8, and search for execution errors
-01 02 02 Run OAI Rel8 in abstraction mode and check that RRC proc is finished completely for the configured number of eNB and UE
-01 02 03 Run OAI Rel8 in abstraction mode, send ping from from one eNB to each UE, and check that there is no packet losses
-01 02 04 Run OAI Rel8 with full PHY, and check that the RRC proc for eNBsxUEs
-01 02 05 Run OAI Rel8 with full PHY in FDD mode, and check that the RRC proc for eNBsxUEs
-01 03 Run OAI Rel10, and check the operation
-01 03 00 Run OAI Rel10, and search for segmentation fault or exit
-01 03 01 Run OAI Rel10, and search for execution errors
-01 03 02 Run OAI Rel10 in abstraction mode, and check the RRC proc for eNBsxUEs
-01 03 03 Run OAI Rel10 in full phy mode, and check the RRC proc for eNBsxUEs
-01 03 04 Run OAI Rel10 in full phy mode in FDD mode, and check the RRC proc for eNBsxUEs
-01 03 05 Run OAI Rel10 with eMBMS enabled, and check the SIB13 and MCCH
-01 03 06 Run OAI Rel10 with eMBMS enabled, and check the MTCH
-01 03 07 Run OAI Rel10 with eMBMS enabled and FDD mode, and check the MTCH
+01 02 Run OAISIM Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation
+01 02 00 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+01 02 01 Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
+01 02 02 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+01 02 03 Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
+01 02 04 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE,
+ and for check for no packet losses
+01 02 05 Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE,
+ and check for no packet losses
+
+01 03 Run OAISIM Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2,5,6), and check the operation
+01 03 00 Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+01 03 01 Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
+01 03 02 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+01 03 03 Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
+01 03 04 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE,
+ and for check for no packet losses
+01 03 05 Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE,
+ and check for no packet losses
+
+
+
+01 04 MBSFN Tests
+01 04 00 Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs
+01 04 01 Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs
+01 04 02 Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correctly
+ received by UEs
+01 04 03 Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been
+ correclty received by UEs
+
+
+01 50 Run PHY unitary secuirity tests
+01 50 00 test_aes128_cmac_encrypt
+01 50 01 test_aes128_ctr_decrypt
+01 50 02 test_aes128_ctr_encrypt
+01 50 03 test_secu_kenb
+01 50 04 test_secu_knas
+01 50 05 test_secu_knas_encrypt_eea1
+01 50 06 test_secu_knas_encrypt_eea2
+01 50 07 test_secu_knas_encrypt_eia1
+01 50 08 test_secu_knas_encrypt_eia2
+01 50 09 test_kdf
+
+
+
+01 51 Run PHY simulator tests
+01 51 00 dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB),
+ (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)),
+ (Test 6: 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)),
+ (Test 6b: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)),
+ (Test 7: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)),
+ (Test 7b: 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)),
+ (Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)),
+ (Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)),
+ (Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%))
+ (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)),
+ (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)),
+01 51 01 ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB),
+ (Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)),
+ (Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)),
+ (Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)),
+ (Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)),
+ (Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%))
+01 51 02 pucchsim (TBD)
+01 51 03 prachsim (TBD)
+01 51 04 pdcchsim (TBD)
+01 51 05 pbchsim (TBD)
+01 51 06 mbmssim (TBD)
+
+
+01 55 lte-softmodem tests
02 Functional test case
@@ -48,3 +98,10 @@ Obj.# Case# Test# Description
05 Performance test case
+
+#TODO: Add test cases for 10,20 MHz
+#TODO: Add test cases for TDD/FDD
+#TODO: Test and compile seperately for Rel8/Rel10
+#TODO: Case03.py eMBMS test case
+
+
diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash
index 9a2a86ed41..c4d11b7ba4 100755
--- a/cmake_targets/autotests/run_exec_autotests.bash
+++ b/cmake_targets/autotests/run_exec_autotests.bash
@@ -11,8 +11,9 @@ source $OPENAIR_DIR/cmake_targets/tools/test_helper
#SUDO="sudo -E "
tdir=$OPENAIR_DIR/cmake_targets/autotests
+rm -fr $tdir/bin $tdir/log
mkdir -p $tdir/bin $tdir/log
-results_file="$tdir/log/execution_autotests.xml"
+results_file="$tdir/log/results_autotests.xml"
updated=$(svn st -q $OPENAIR_DIR)
if [ "$updated" != "" ] ; then
@@ -21,6 +22,99 @@ fi
cd $tdir
+#\param $1 -> name of test case
+#\param $2 -> name of compilation program
+#\param $3 -> arguments for compilation program
+#\param $4 -> name of pre-executable to install kernel modules, etc
+#\param $5 -> arguments of pre-executable
+#\param $6 -> name of executable
+#\param $7 -> arguments for running the program
+#\param $8 -> search expression
+#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
+#\param $10 -> number of runs
+#\param $11 -> pre_compile program execution
+#\param $12 -> class of the test case (compilation, execution)
+#\param $13 -> output of compilation program that needs to be found for test case to pass
+#\param $14 -> tags to help identify the test case for readability in output xml file
+test_compile() {
+
+ xUnit_start
+ test_case_name=$1
+ log_dir=$tdir/log
+ log_file=$tdir/log/test.$1.txt
+ compile_prog=$2
+ compile_args=$3
+ pre_exec_file=$4
+ pre_exec_args=$5
+ exec_args=$7
+ search_expr_array=("${!8}")
+ search_expr_negative=$9
+ nruns=${10}
+ pre_compile_prog=${11}
+ class=${12}
+ compile_prog_out=${13}
+ tags=${14}
+ build_dir=$tdir/$1/build
+ exec_file=$build_dir/$6
+
+ #Temporary log file where execution log is stored.
+ temp_exec_log=$log_dir/temp_log.txt
+
+
+
+ #echo "log_dir = $log_dir"
+ #echo "log_file = $log_file"
+ #echo "exec_file = $exec_file"
+ #echo "exec_args = $exec_args"
+ #echo "search_expr = $search_expr"
+ #echo "pre_exec_file = $pre_exec_file"
+ #echo "nruns = $nruns"
+ echo "class = $class"
+
+ compile_prog_array=()
+ read -a compile_prog_array <<<"$compile_prog"
+
+ tags_array=()
+ read -a tags_array <<<"$tags"
+
+ pre_compile_prog_array=()
+ readarray -t pre_compile_prog_array <<< "$pre_compile_prog"
+ for (( run_index=1; run_index <= $nruns; run_index++ ))
+ do
+ tags_array_index=0
+ for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}"
+ do
+
+ for compile_prog_array_index in "${compile_prog_array[@]}"
+ do
+ echo "Compiling test case $test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} Log file = $log_file"
+ echo "" >> $log_file
+ rm -fr $build_dir
+ mkdir -p $build_dir
+ cd $build_dir
+ {
+ eval $pre_compile_prog_array_index
+ cmake ..
+ #rm -fv $exec_file
+ make -j`nproc` $compile_prog_array_index $compile_args
+ }>> $log_file 2>&1
+ echo "" >> $log_file 2>&1
+ if [ "$class" == "compilation" ]; then
+ if [ -s "$compile_prog_array_index" ] || [ -s "$compile_prog_out" ] ; then
+ echo_success "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]} compiled"
+ xUnit_success "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "PASS" "$run_index"
+ else
+ echo_error "$test_case_name.$exec_prog.${tags_array[$tags_array_index]} compilation failed"
+ xUnit_fail "compilation" "$test_case_name.$compile_prog_array_index.${tags_array[$tags_array_index]}" "FAIL" "$run_index"
+ fi
+ fi
+ let "tags_array_index++"
+ done # End of for loop compile_prog_array
+ done # End of for loop (pre_compile_prog_array_index)
+ done #End of for loop (run_index)
+}
+
+
#\param $1 -> name of test case
#\param $2 -> name of compilation program
@@ -32,115 +126,155 @@ cd $tdir
#\param $8 -> search expression
#\param $9 -> search expression which should NOT be found (for ex. segmentation fault)
#\param $10 -> number of runs
+#\param $11 -> pre_compile program execution
+#\param $12 -> class of the test case (compilation, execution)
+#\param $13 -> output of compilation program that needs to be found for test case to pass
+#\param $14 -> tags to help identify the test case for readability in output xml file
test_compile_and_run() {
xUnit_start
- test_case_name=$1.$2
+ test_case_name=$1
log_dir=$tdir/log
log_file=$tdir/log/test.$1.txt
compile_prog=$2
compile_args=$3
pre_exec_file=$4
pre_exec_args=$5
+ main_exec=$6
exec_args=$7
search_expr_array=("${!8}")
search_expr_negative=$9
nruns=${10}
+ pre_compile_prog=${11}
+ class=${12}
+ compile_prog_out=${13}
+ tags=${14}
build_dir=$tdir/$1/build
exec_file=$build_dir/$6
#Temporary log file where execution log is stored.
temp_exec_log=$log_dir/temp_log.txt
- echo "Compiling test case $test_case_name. Log file = $log_file"
+
+
- rm -fr $build_dir
- mkdir -p $build_dir
#echo "log_dir = $log_dir"
#echo "log_file = $log_file"
#echo "exec_file = $exec_file"
- #echo "args = $args"
+ #echo "exec_args = $exec_args"
#echo "search_expr = $search_expr"
#echo "pre_exec_file = $pre_exec_file"
#echo "nruns = $nruns"
+ echo "class = $class"
-
-
-
- echo "" > $log_file
- cd $build_dir
- {
- cmake ..
- #rm -fv $exec_file
- make -j`nproc` $compile_prog
- }>> $log_file 2>&1
- echo "" >> $log_file 2>&1
-
- for (( run_index=1; run_index <= $nruns; run_index++ ))
- do
-
- echo "Executing test case $test_case_name, Run Index = $run_index, Log file = $log_file"
-
- echo "-----------------------------------------------------------------------------" >> $log_file 2>&1
- echo "" >> $log_file 2>&1
-
- if [ -n "$pre_exec_file" ]; then
- { source $pre_exec_file $pre_exec_args; } >> $log_file 2>&1
- fi
-
- { $exec_file $exec_args ;} > $temp_exec_log 2>&1
-
- cat $temp_exec_log >> $log_file 2>&1
- echo "" >> $log_file 2>&1
+ compile_prog_array=()
+ read -a compile_prog_array <<<"$compile_prog"
+
+ tags_array=()
+ read -a tags_array <<<"$tags"
- result=1
- for search_expr in "${search_expr_array[@]}"
- do
-
- search_result=`grep -E "$search_expr" $temp_exec_log`
+ main_exec_args_array=()
+ readarray -t main_exec_args_array <<< "$exec_args"
- #echo "search_expr = $search_expr"
- #echo "search_result = $search_result"
+ for search_expr in "${compile_prog_array[@]}"
+ do
+ echo "Compiling test case $test_case_name.$search_expr Log file = $log_file"
+ echo "" >> $log_file
- if [ -z "$search_result" ]; then
- let "result = result & 0"
- else
- let "result = result & 1"
+ rm -fr $build_dir
+ mkdir -p $build_dir
+
+ cd $build_dir
+ {
+ eval $pre_compile_prog
+ cmake ..
+ #rm -fv $exec_file
+ make -j`nproc` $search_expr $compile_args
+ }>> $log_file 2>&1
+ echo "" >> $log_file 2>&1
+ if [ "$class" == "compilation" ]; then
+ if [ -s "$search_expr" ] ; then
+ echo_success "$test_case_name $search_expr compiled"
+ xUnit_success "compilation" "$test_name.$search_expr" "PASS" 1
+ else
+ echo_error "$test_case_name $exec_prog compilation failed"
+ xUnit_fail "compilation" "$test_name.$search_expr" "FAIL" 1
+ fi
fi
- done
-
- #echo "result = $result"
-
- test_case_result=""
- if [ "$result" -eq "0" ]; then
- test_case_result="FAIL"
- fi
-
- if [ "$result" -eq "1" ]; then
- test_case_result="PASS"
- fi
-
- #If we find a negative search result then there is crash of program and test case is failed even if above condition is true
-
- search_result=`grep -iE "$search_expr_negative" $temp_exec_log`
- if [ -n "$search_result" ]; then
- test_case_result="FAIL"
- fi
-
- if [ "$test_case_result" == "FAIL" ]; then
- echo_error "execution $test_case_name FAIL $run_index"
- xUnit_fail "execution" "$test_case_name" "FAIL" "$run_index"
- fi
-
- if [ "$test_case_result" == "PASS" ]; then
- echo_success "execution $test_case_name PASS $run_index"
- xUnit_success "execution" "$test_case_name" "PASS" "$run_index"
- fi
-
-# End of for loop
done
+ #process the test case if it is that of execution
+ if [ "$class" == "execution" ]; then
+ tags_array_index=0
+ for main_exec_args_array_index in "${main_exec_args_array[@]}"
+ do
+ for (( run_index=1; run_index <= $nruns; run_index++ ))
+ do
+ echo "Executing test case $test_case_name.$main_exec.${tags_array[$tags_array_index]}, Run Index = $run_index, Log file = $log_file"
+
+ echo "-----------------------------------------------------------------------------" >> $log_file 2>&1
+ echo "" >> $log_file 2>&1
+
+ if [ -n "$pre_exec_file" ]; then
+ { eval "source $pre_exec_file $pre_exec_args"; } >> $log_file 2>&1
+ fi
+ echo "Executing $exec_file $main_exec_args_array_index "
+ echo "Executing $exec_file $main_exec_args_array_index " >> $log_file
+ { eval "$exec_file $main_exec_args_array_index" ;} > $temp_exec_log 2>&1
+
+ cat $temp_exec_log >> $log_file 2>&1
+ echo "" >> $log_file 2>&1
+
+ result=1
+ for search_expr in "${search_expr_array[@]}"
+ do
+
+ search_result=`grep -E "$search_expr" $temp_exec_log`
+
+ #echo "search_expr = $search_expr"
+ #echo "search_result = $search_result"
+
+ if [ -z "$search_result" ]; then
+ let "result = result & 0"
+ else
+ let "result = result & 1"
+ fi
+ done
+
+ #echo "result = $result"
+
+ test_case_result=""
+ if [ "$result" -eq "0" ]; then
+ test_case_result="FAIL"
+ fi
+
+ if [ "$result" -eq "1" ]; then
+ test_case_result="PASS"
+ fi
+
+ #If we find a negative search result then there is crash of program and test case is failed even if above condition is true
+
+ search_result=`grep -iE "$search_expr_negative" $temp_exec_log`
+ if [ -n "$search_result" ]; then
+ test_case_result="FAIL"
+ fi
+
+ if [ "$test_case_result" == "FAIL" ]; then
+ echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} FAIL $run_index"
+ xUnit_fail "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "FAIL" "$run_index"
+ fi
+
+ if [ "$test_case_result" == "PASS" ]; then
+ echo_success "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} PASS $run_index"
+ xUnit_success "execution" "$test_case_name.$compile_prog.${tags_array[$tags_array_index]}" "PASS" "$run_index"
+ fi
+
+
+ done
+ let "tags_array_index++"
+ done # End of for loop (nindex)
+ fi
}
dbin=$OPENAIR_DIR/cmake_targets/autotests/bin
@@ -168,75 +302,143 @@ else
fi
fi
}
+print_help() {
+ echo_info '
+This program runs automated test case system for OpenAirInterface
+You should have ubuntu 14.xx, updated, and the Linux kernel >= 3.14
+Options
+-h | --help
+ This help
+-g | --run-group
+ Run test cases in a group. For example, ./run_exec_autotests "0101* 010102"
+'
+}
-#$1 -> name of test case
-#$2 -> name of compilation program
-#$3 -> arguments for compilation program
-#$4 -> name of pre-executable to install kernel modules, etc
-#$5 -> arguments of pre-executable
-#$6 -> name of executable
-#$7 -> arguments for running the program
-#$8 -> search expression ARRAY which needs to be found
-#$9 -> search expression which should NOT be found (for ex. segmentation fault)
-#$10 -> number of runs
+main () {
+RUN_GROUP=0
+test_case_group=""
+test_case_group_array=()
+test_case_array=()
-#oaisim tests
-search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
-test_compile_and_run 010200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("Received RRCConnectionReconfigurationComplete from UE 0")
-test_compile_and_run 010201 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
-test_compile_and_run 010202 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2")
-test_compile_and_run 010203 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u3 -a -n100" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-#PHY unitary simulations for secuirity tests
-search_array=("finished with 0 errors")
-test_compile_and_run 010300 "test_aes128_cmac_encrypt" "" "" "" "test_aes128_cmac_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010301 "test_aes128_ctr_decrypt" "" "" "" "test_aes128_ctr_decrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010302 "test_aes128_ctr_encrypt" "" "" "" "test_aes128_ctr_encrypt" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010303 "test_secu_kenb" "" "" "" "test_secu_kenb" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010304 "test_secu_knas" "" "" "" "test_secu_knas" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010305 "test_secu_knas_encrypt_eea1" "" "" "" "test_secu_knas_encrypt_eea1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010306 "test_secu_knas_encrypt_eea2" "" "" "" "test_secu_knas_encrypt_eea2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010307 "test_secu_knas_encrypt_eia1" "" "" "" "test_secu_knas_encrypt_eia1" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010308 "test_secu_knas_encrypt_eia2" "" "" "" "test_secu_knas_encrypt_eia2" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fataln" 3
-
-search_array=("finished with 0 errors")
-test_compile_and_run 010309 "test_kdf" "" "" "" "test_kdf" " --verbose" "search_array[@]" "segmentation fault|assertion|exiting|fatal" 3
-
-#TODO: Add test cases for 10,20 MHz
-#TODO: Test and compile seperately for Rel8/Rel10
+until [ -z "$1" ]
+ do
+ case "$1" in
+ -g | --run-group)
+ RUN_GROUP=1
+ test_case_group=$2
+ echo_info "Will execute test cases only in group $test_case_group"
+ shift 2;;
+ -h | --help)
+ print_help
+ exit 1;;
+ *)
+ print_help
+ echo_fatal "Unknown option $1"
+ break;;
+ esac
+ done
-#test_compile_and_run 0200 "oaisim_nos1" "" "$OPENAIR_DIR/cmake_targets/tools/init_nas_nos1" "" "oaisim_nos1" " -O /home/calisson/rohit/oai_snav/taets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -b1 -u1 -a " "RRC_CONN" 3
+xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml"
-#run_test 0200 "$dbin/oaisim.r8 -a -A AWGN -n 100" false grep -q '(Segmentation.fault)|(Exiting)|(FATAL)'
+test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf`
-#run_test 0201 "$dbin/oaisim.r8 -a -A AWGN -n 100" false fgrep -q '[E]'
+echo "test_case_list = $test_case_list"
-# write the test results into a file
+readarray -t test_case_array <<<"$test_case_list"
+
+read -a test_case_group_array <<< "$test_case_group"
+
+for search_expr in "${test_case_array[@]}"
+ do
+ flag_run_test_case=0
+ # search if this test case needs to be executed
+ if [ "$RUN_GROUP" -eq "1" ]; then
+ for search_group in "${test_case_group_array[@]}"
+ do
+ if [[ $search_expr == $search_group ]];then
+ flag_run_test_case=1
+ echo_info "Test case $search_expr match found in group"
+ break
+ fi
+ done
+ else
+ flag_run_test_case=1
+ fi
+
+ #We skip this test case if it is not in the group list
+ if [ "$flag_run_test_case" -ne "1" ]; then
+ continue
+ fi
+
+ name=$search_expr
+ class=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/class" $xml_conf`
+ desc=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf`
+ pre_compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_compile_prog" $xml_conf`
+ compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog" $xml_conf`
+ compile_prog_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_args" $xml_conf`
+ pre_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec" $xml_conf`
+ pre_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec_args" $xml_conf`
+ main_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf`
+ main_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec_args" $xml_conf`
+ search_expr_true=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf`
+ search_expr_false=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf`
+ nruns=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf`
+ compile_prog_out=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf`
+ tags=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf`
+
+ echo "class = $class"
+ echo "name = $name"
+ echo "Description = $desc"
+ echo "pre_compile_prog = $pre_compile_prog"
+ echo "compile_prog = $compile_prog"
+ echo "pre_exec = $pre_exec"
+ echo "pre_exec_args = $pre_exec_args"
+ echo "main_exec = $main_exec"
+ echo "main_exec_args = $main_exec_args"
+ echo "search_expr_true = $search_expr_true"
+ echo "search_expr_false = $search_expr_false"
+ echo "nruns = $nruns"
+
+ #eval $pre_exec
+
+ search_array_true=()
+
+ IFS=\" #set the shell's field separator
+ set -f #don't try to glob
+ #set -- $search_expr_true #split on $IFS
+ for i in $search_expr_true
+ do echo "i = $i"
+ if [ -n "$i" ] && [ "$i" != " " ]; then
+ search_array_true+=("$i")
+ #echo "inside i = \"$i\" "
+ fi
+ done
+ unset IFS
+
+ #echo "arg1 = ${search_array_true[0]}"
+ #echo " arg2 = ${search_array_true[1]}"
+ if [ "$class" == "compilation" ]; then
+ test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags"
+ elif [ "$class" == "execution" ]; then
+ test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags"
+ else
+ echo "Unexpected class of test case...Exiting...."
+ fi
+
+ done
+
+
+
+}
+
+main "$@"
xUnit_write "$results_file"
echo "Test Results are written to $results_file"
+exit
+
+
+
diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml
new file mode 100644
index 0000000000..1425eb56a9
--- /dev/null
+++ b/cmake_targets/autotests/test_case_list.xml
@@ -0,0 +1,814 @@
+
+
+mozart stevens calisson nano amerique
+ /mnt/sradio/TEST_RESULTS
+ https://gitlab.eurecom.fr/oai/openairinterface5g.git
+ https://gitlab.eurecom.fr/oai/openair-cn.git
+ feature-34-test_framework
+ develop
+ oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox*
+
+
+ compilation
+ Build oaisim.Rel8
+
+ oaisim_nos1
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build oaisim.Rel8 + network device driver(nasmesh_fix)
+
+ oaisim_nos1
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build lte-softmodem EXMIMO.Rel8 + EXMIMO.Rel10 + USRP.Rel10
+ cp -vf ../CMakeLists.txt.Rel8 ../CMakeLists.txt
+ cp -vf ../CMakeLists.txt.Rel10 ../CMakeLists.txt
+ cp -vf ../CMakeLists.txt.USRP ../CMakeLists.txt
+ lte-softmodem
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build phy unitary simulators + secuirity unitary tests
+
+ dlsim ulsim pucchsim prachsim pdcchsim pbchsim mbmssim test_secu_knas_encrypt_eia1 test_secu_kenb test_aes128_ctr_encrypt test_aes128_ctr_decrypt test_secu_knas_encrypt_eea2 test_secu_knas test_secu_knas_encrypt_eea1 test_kdf test_aes128_cmac_encrypt test_secu_knas_encrypt_eia2
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build oaisim.Rel8 + ITTI
+
+ oaisim
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build oaisim_nos1.Rel10
+
+ oaisim_nos1
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build oaisim.Rel10 + ITTI
+
+ oaisim
+
+
+
+
+
+
+
+ 1
+
+
+
+ compilation
+ Build Nasmesh
+
+ nasmesh
+
+ CMakeFiles/nasmesh/nasmesh.ko
+
+
+
+
+
+
+ 1
+
+
+
+
+ compilation
+ Build RRH Gateway
+
+ rrh_gw
+
+
+
+
+
+
+
+ 1
+
+
+
+
+ execution
+ Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6
+ tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -a
+ tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6
+ tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -a
+ tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26
+ tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6
+ "DL and UL loss rate below 10"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -c26 -a
+ tdd.5MHz.TM1 tdd.10MHz.TM1 tdd.20MHz.TM1 tdd.5MHz.TM2 tdd.10MHz.TM2 tdd.20MHz.TM2 tdd.5MHz.TM5 tdd.10MHz.TM5 tdd.20MHz.TM5 tdd.5MHz.TM6 tdd.10MHz.TM6 tdd.20MHz.TM6
+ "DL and UL loss rate below 10"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F
+ FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -a
+ FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) and search for errors, segmentation fault or exit
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F
+ FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode and search for errors
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 1 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 1 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 1 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 2 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 2 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 2 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 5 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 5 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 5 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -x 6 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -x 6 -F -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -x 6 -F -a
+ FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6
+ "Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26
+ FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6
+ "DL and UL loss rate below 10"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2,5,6) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 1 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 1 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 1 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 2 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 2 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 2 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 5 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 5 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 5 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -x 6 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -x 6 -F -c26 -a
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -x 6 -F -c26 -a
+ FDD.5MHz.TM1 FDD.10MHz.TM1 FDD.20MHz.TM1 FDD.5MHz.TM2 FDD.10MHz.TM2 FDD.20MHz.TM2 FDD.5MHz.TM5 FDD.10MHz.TM5 FDD.20MHz.TM5 FDD.5MHz.TM6 FDD.10MHz.TM6 FDD.20MHz.TM6
+ "DL and UL loss rate below 10"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -Q3 -n 100 -b1 -u1
+ "Found MBSFNAreaConfiguration from eNB 0"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -x 1 -T mscbr -Q3 -n 100 -b1 -u1
+ "Received a multicast packet"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -F -T mscbr -x 1 -Q3 -n 100 -b1 -u1
+ "Received a multicast packet"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs
+
+ oaisim_nos1
+
+ $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1
+
+ oaisim_nos1
+ -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -l7 -c43 -F -T mbvbr -Q4 -j1 -n120
+ "MTCH for sync area 1"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_aes128_cmac_encrypt
+
+ test_aes128_cmac_encrypt
+
+
+
+ test_aes128_cmac_encrypt
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_aes128_ctr_decrypt
+
+ test_aes128_ctr_decrypt
+
+
+
+ test_aes128_ctr_decrypt
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_aes128_ctr_encrypt
+
+ test_aes128_ctr_encrypt
+
+
+
+ test_aes128_ctr_encrypt
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_secu_kenb
+
+ test_secu_kenb
+
+
+
+ test_secu_kenb
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_secu_knas
+
+ test_secu_knas
+
+
+
+ test_secu_knas
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_secu_knas_encrypt_eea1
+
+ test_secu_knas_encrypt_eea1
+
+
+
+ test_secu_knas_encrypt_eea1
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_secu_knas_encrypt_eea2
+
+ test_secu_knas_encrypt_eea2
+
+
+
+ test_secu_knas_encrypt_eea2
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_secu_knas_encrypt_eia1
+
+ test_secu_knas_encrypt_eia1
+
+
+
+ test_secu_knas_encrypt_eia1
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_secu_knas_encrypt_eia2
+
+ test_secu_knas_encrypt_eia2
+
+
+
+ test_secu_knas_encrypt_eia2
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ test_kdf
+
+ test_kdf
+
+
+
+ test_kdf
+ --verbose
+ "finished with 0 errors"
+ segmentation fault|assertion|exiting|fatal
+ 3
+
+
+
+ execution
+ dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB),
+ (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)),
+ (Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)),
+ (Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)),
+ (Test 7, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)),
+ (Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)),
+ (Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)),
+ (Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)),
+ (Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%))
+ (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)),
+ (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)),
+
+
+ dlsim
+
+
+
+ dlsim
+ -m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L
+ -m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70
+ -m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L
+ -m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L
+ -m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30 -L
+ -m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L
+ -m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L
+ -m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L
+ -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L
+ -m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70 -L
+ -m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70 -L
+ test1 test5 test6 test6b test7 test7b test10 test10b test11 TM2_test1 TM2_test1b
+ "passed"
+ segmentation fault|assertion|exiting|fatal
+ 1
+
+
+
+ execution
+ ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB),
+ (Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)),
+ (Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)),
+ (Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)),
+ (Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)),
+ (Test 6, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%))
+
+ ulsim
+
+
+
+ ulsim
+ -B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L
+ -B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L
+ -B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L
+ -B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L
+ -B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L
+ -B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L
+ test1 test2 test3 test4 test5 test6
+ "passed"
+ segmentation fault|assertion|exiting|fatal
+ 1
+
+
+
+ lte-softmodem
+
+ calisson
+ stevens
+ nano
+ oaisim* oaisim_nos1* lte-softmodem* lte-softmodem-nos1* mme_gw* run_epc* run_hss* iperf* ltebox*
+ 300
+
+ /tmp
+ $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 1
+ $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 208
+ $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.local.conf tracking_area_code 95
+
+
+ $OPENAIR_DIR/cmake_targets/build_oai
+ --eNB -w USRP
+ iperf
+
+ $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem
+
+
+
+
+ /tmp
+
+
+ $OPENAIR_DIR/cmake_targets/build_oai
+ --eNB -w USRP
+ iperf
+
+ $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem
+
+
+
+
+ /tmp
+
+
+ $OPENAIR_DIR/cmake_targets/build_oai
+ --eNB -w USRP
+ iperf
+
+ $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem
+
+
+
+
+ /tmp
+
+
+ $OPENAIR_DIR/cmake_targets/build_oai
+ --eNB -w USRP
+ iperf
+
+ $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem
+
+
+
+ 2
+
+
+
+
+
+
+
diff --git a/cmake_targets/autotests/tools/remove_old_programs.bash b/cmake_targets/autotests/tools/remove_old_programs.bash
new file mode 100755
index 0000000000..772ba11f58
--- /dev/null
+++ b/cmake_targets/autotests/tools/remove_old_programs.bash
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+#$1 programs to be killed and checked
+var=`ps -A |grep -E -i $1`
+echo $var
+if [ -n "$var" ]; then echo 'Match found'; else echo 'Match not found' ;fi
+
diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index f9cd26cf86..af147d682a 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -47,8 +47,12 @@ PRINT_STATS="False"
VCD_TIMING="False"
REL="Rel10"
HW="EXMIMO"
+NOS1=0
EPC=0
VERBOSE_COMPILE=0
+CFLAGS_PROCESSOR_USER=""
+RUN_GROUP=0
+TEST_CASE_GROUP=""
function print_help() {
echo_info '
@@ -94,6 +98,8 @@ Options
Makes the core security features unitary simulators
-s | --check
runs a set of auto-tests based on simulators and several compilation tests
+--run-group
+ runs only specified test cases specified here. This flag is only valid with -s
-V | --vcd
Adds a debgging facility to the binary files: GUI with major internal synchronization events
-x | --xforms
@@ -105,6 +111,9 @@ Options
Compiles oaisim or lte-softmodem without S1 interface, using direct link to IP instead
--verbose-compile
Shows detailed compilation instructions in makefile
+--cflags_processor
+ Manually Add CFLAGS of processor if they are not detected correctly by script. Only add these flags if you know your processor supports them. Example flags: -msse3 -msse4.1 -msse4.2 -mavx2
+
Usage (first build):
oaisim (eNB + UE): ./build_oai -I -g --oaisim -x --install-system-files
Eurecom EXMIMO + COTS UE : ./build_oai -I -g --eNB --EPC -x --install-system-files
@@ -189,6 +198,11 @@ function main() {
OAI_TEST=1
echo_info "Will run auto-tests"
shift;;
+ --run-group)
+ RUN_GROUP=1
+ TEST_CASE_GROUP=$2
+ echo_info "executing test cases only in group: $TEST_CASE_GROUP"
+ shift 2;;
-V | --vcd)
echo_info "setting gtk-wave output"
VCD_TIMING=1
@@ -211,6 +225,10 @@ function main() {
VERBOSE_COMPILE=1
echo_info "Will compile with verbose instructions"
shift;;
+ --cflags_processor)
+ CFLAGS_PROCESSOR_USER=$2
+ echo_info "setting CPU FLAGS from USER to: $CFLAGS_PROCESSOR_USER"
+ shift 2;;
-h | --help)
print_help
exit 1;;
@@ -254,17 +272,14 @@ function main() {
if [ "$INSTALL_EXTERNAL" = "1" ] ; then
echo_info "Installing packages"
check_install_oai_software
- echo_info "Making X.509 certificates"
- make_certs eur
if [ "$HW" == "OAI_USRP" ] ; then
echo_info "installing packages for USRP support"
check_install_usrp_uhd_driver
- fi
+ fi
if [ "$HW" == "OAI_BLADERF" ] ; then
echo_info "installing packages for BALDERF support"
check_install_bladerf_driver
fi
-
fi
if [ "$INSTALL_OPTIONAL" = "1" ] ; then
@@ -304,6 +319,7 @@ function main() {
if [ "$NOS1" = "1" ] ; then
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
fi
+ echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
@@ -314,7 +330,7 @@ function main() {
cmake ..
fi
- if [ "$eNB" = "1" ] ; then
+ if [ "$eNB" = "1" -o "$UE" = "1" ] ; then
echo_info "Compiling $lte_exec"
compilations \
$lte_build_dir $lte_exec \
@@ -331,7 +347,7 @@ function main() {
fi
fi
- if [ "$UE" = 1 ] ; then
+ if [ "$UE" = 1 -a "$NOS1" = "0" ] ; then
# ue_ip driver compilation
echo_info "Compiling UE specific part"
compilations \
@@ -432,6 +448,7 @@ function main() {
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
cp $DIR/$oaisim_build_dir/CMakeLists.template $cmake_file
+ echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
echo "set ( XFORMS $XFORMS )" >> $cmake_file
echo "set ( PRINT_STATS $PRINT_STATS )" >> $cmake_file
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
@@ -568,8 +585,11 @@ function main() {
echo_info "10. Running OAI pre commit tests (pre-ci) ..."
rm -fr $OPENAIR_DIR/cmake_targets/autotests/log
mkdir -p $OPENAIR_DIR/cmake_targets/autotests/log
- $OPENAIR_DIR/cmake_targets/autotests/run_compilation_autotests.bash
- $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
+ if [ "$RUN_GROUP" -eq "1" ]; then
+ $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash -g "$TEST_CASE_GROUP"
+ else
+ $SUDO $OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash
+ fi
else
echo_info "10. Bypassing the Tests ..."
fi
diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper
index e77ded6142..46997c2773 100755
--- a/cmake_targets/tools/build_helper
+++ b/cmake_targets/tools/build_helper
@@ -254,15 +254,15 @@ check_install_oai_software() {
openssh-server \
openssl \
python \
- subversion
+ subversion \
+ xmlstarlet
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
if [ `lsb_release -rs` = '12.04' ] ; then
install_nettle_from_source
- install_gnutls_from_source
+ install_gnutls_from_source
else
$SUDO apt-get install -y libgnutls-dev nettle-dev nettle-bin
fi
- install_freediameter_from_source
install_asn1c_from_source
}
@@ -311,13 +311,11 @@ set_openair_env(){
[ -f "/.$fullpath" ] || fullpath=`readlink -f $PWD/$fullpath`
openair_path=${fullpath%/cmake_targets/*}
openair_path=${openair_path%/targets/*}
- openair_path=${openair_path%/openair3/*}
openair_path=${openair_path%/openair[123]/*}
export OPENAIR_DIR=$openair_path
export OPENAIR1_DIR=$openair_path/openair1
export OPENAIR2_DIR=$openair_path/openair2
export OPENAIR3_DIR=$openair_path/openair3
- export OPENAIR3_DIR=$openair_path/openair3
export OPENAIR_TARGETS=$openair_path/targets
}
diff --git a/cmake_targets/tools/test_helper b/cmake_targets/tools/test_helper
index 59ab9bc840..35752e9d20 100644
--- a/cmake_targets/tools/test_helper
+++ b/cmake_targets/tools/test_helper
@@ -38,7 +38,7 @@ xUnit_fail() {
}
## Call this after the testcase finished successfully.
-# \sa xUnit_fail()
+# \sa xUnit_success()
# \pre xUnit_start() must have been called before
# \param $1 classname
# \param $2 testcase name
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
index 3dc325861c..de9acefb6e 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
@@ -45,7 +45,6 @@
#include "PHY/sse_intrin.h"
-
#ifndef USER_MODE
#define NOCYGWIN_STATIC static
#else
@@ -53,9 +52,9 @@
#endif
//#define DEBUG_PHY 1
-//#define DEBUG_DLSCH_MOD 1
+//#define DEBUG_DLSCH_DEMOD 1
-int avg[4];
+int avg[4];
// [MCS][i_mod (0,1,2) = (2,4,6)]
unsigned char offset_mumimo_llr_drange_fix=0;
@@ -3091,19 +3090,21 @@ void dlsch_alamouti(LTE_DL_FRAME_PARMS *frame_parms,
ch_mag1 = (__m128i *)&dl_ch_mag[2][jj];
ch_mag0b = (__m128i *)&dl_ch_magb[0][jj];
ch_mag1b = (__m128i *)&dl_ch_magb[2][jj];
-
+
for (rb=0; rbN_RB_DL>>1)) {
rxF = &rxdataF[aarx][(1 + (symbol*(frame_parms->ofdm_symbol_size)))];
//dl_ch0++;
}
+ // PBCH
+ if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=nsymb>>1) && (l<((nsymb>>1) + 4))) {
+ rb_alloc_ind = 0;
+ }
+
+ //SSS
+ if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==sss_symb) ) {
+ rb_alloc_ind = 0;
+ }
+
+
+ if (frame_parms->frame_type == FDD) {
+ //PSS
+ if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
+ rb_alloc_ind = 0;
+ }
+ }
+
+ if ((frame_parms->frame_type == TDD) &&
+ (subframe==6)) { //TDD Subframe 6
+ if ((rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
+ rb_alloc_ind = 0;
+ }
+ }
+
if (rb_alloc_ind==1) {
*pmi_ext = (pmi>>((rb>>2)<<1))&3;
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
@@ -3272,7 +3301,7 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
rxF_ext+=10;
}
- nb_rb++;
+
}
dl_ch0+=12;
@@ -3281,7 +3310,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
}
else { // Odd number of RBs
for (rb=0; rbN_RB_DL>>1; rb++) {
- // printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
+#endif
skip_half=0;
if (rb < 32)
@@ -3295,6 +3326,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
else
rb_alloc_ind = 0;
+ if (rb_alloc_ind == 1)
+ nb_rb++;
// PBCH
if ((subframe==0) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) {
@@ -3328,7 +3361,10 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
//PSS in subframe 0/5 if FDD
if (frame_parms->frame_type == FDD) { //FDD
- if (((subframe==0)||(subframe==5)) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
+ if (((subframe==0)||(subframe==5)) &&
+ (rb>((frame_parms->N_RB_DL>>1)-3)) &&
+ (rb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==pss_symb) ) {
rb_alloc_ind = 0;
}
@@ -3352,55 +3388,68 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
if (rb_alloc_ind==1) {
- // printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
+#endif
if (pilots==0) {
- // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
+ // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
if (skip_half==1) {
memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int));
- for (i=0; i<6; i++)
- rxF_ext[i]=rxF[i];
-
+ for (i=0; i<6; i++) {
+ rxF_ext[i]=rxF[i];
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
+ }
dl_ch0_ext+=6;
rxF_ext+=6;
} else if (skip_half==2) {
memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int));
- for (i=0; i<6; i++)
+ for (i=0; i<6; i++) {
rxF_ext[i]=rxF[(i+6)];
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
+ }
dl_ch0_ext+=6;
rxF_ext+=6;
} else {
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
- for (i=0; i<12; i++)
+ for (i=0; i<12; i++) {
rxF_ext[i]=rxF[i];
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
+ }
dl_ch0_ext+=12;
rxF_ext+=12;
}
} else {
- // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
+ // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
j=0;
if (skip_half==1) {
for (i=0; i<6; i++) {
if (i!=((frame_parms->nushift+poffset)%6)) {
rxF_ext[j]=rxF[i];
- // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j++]=dl_ch0[i];
}
}
-
+ rxF_ext+=5;
dl_ch0_ext+=5;
- rxF_ext+=5;
} else if (skip_half==2) {
for (i=0; i<6; i++) {
if (i!=((frame_parms->nushift+poffset)%6)) {
rxF_ext[j]=rxF[(i+6)];
- // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j++]=dl_ch0[i+6];
}
}
@@ -3412,7 +3461,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
if ((i!=(frame_parms->nushift+poffset)) &&
(i!=((frame_parms->nushift+poffset+6)%12))) {
rxF_ext[j]=rxF[i];
- // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j++]=dl_ch0[i];
}
@@ -3422,8 +3473,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
rxF_ext+=10;
}
}
-
- nb_rb++;
}
dl_ch0+=12;
@@ -3444,36 +3493,42 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
rb_alloc_ind = 0;
+ if (rb_alloc_ind == 1)
+ nb_rb++;
// PBCH
- if ((subframe==0) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=(nsymb>>1)) && (l<((nsymb>>1) + 4))) {
+ if ((subframe==0) &&
+ (l>=(nsymb>>1)) &&
+ (l<((nsymb>>1) + 4))) {
rb_alloc_ind = 0;
}
//SSS
- if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==sss_symb) ) {
+ if (((subframe==0)||(subframe==5)) && (l==sss_symb) ) {
rb_alloc_ind = 0;
}
if (frame_parms->frame_type == FDD) {
//PSS
- if (((subframe==0)||(subframe==5)) && (rb>=((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
+ if (((subframe==0)||(subframe==5)) && (l==pss_symb) ) {
rb_alloc_ind = 0;
}
}
+ //PSS
if ((frame_parms->frame_type == TDD) &&
- (subframe==6)) {
- //PSS
- if ((rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l==pss_symb) ) {
- rb_alloc_ind = 0;
- }
+ (subframe==6) &&
+ (l==pss_symb) ) {
+ rb_alloc_ind = 0;
}
+
// printf("dlch_ext %d\n",dl_ch0_ext-&dl_ch_estimates_ext[aarx][0]);
// printf("DC rb %d (%p)\n",rb,rxF);
if (rb_alloc_ind==1) {
- // printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
+#endif
if (pilots==0) {
for (i=0; i<6; i++) {
dl_ch0_ext[i]=dl_ch0[i];
@@ -3496,7 +3551,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
if (i!=((frame_parms->nushift+poffset)%6)) {
dl_ch0_ext[j]=dl_ch0[i];
rxF_ext[j++]=rxF[i];
- // printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
+#endif
}
}
@@ -3506,7 +3563,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
if (i!=((frame_parms->nushift+6+poffset)%12)) {
dl_ch0_ext[j]=dl_ch0[i];
rxF_ext[j++]=rxF[(1+i-6)];
- // printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("**extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j-1],*(1+(short*)&rxF_ext[j-1]));
+#endif
}
}
@@ -3514,7 +3573,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
rxF_ext+=10;
} // symbol_mod==0
- nb_rb++;
} // rballoc==1
else {
rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];
@@ -3540,7 +3598,8 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
else
rb_alloc_ind = 0;
-
+ if (rb_alloc_ind == 1)
+ nb_rb++;
// PBCH
if ((subframe==0) && (rb>((frame_parms->N_RB_DL>>1)-3)) && (rb<((frame_parms->N_RB_DL>>1)+3)) && (l>=nsymb>>1) && (l<((nsymb>>1) + 4))) {
@@ -3590,7 +3649,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
}
if (rb_alloc_ind==1) {
- // printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("rb %d/symbol %d (skip_half %d)\n",rb,l,skip_half);
+#endif
/*
printf("rb %d\n",rb);
for (i=0;i<12;i++)
@@ -3598,43 +3659,54 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
printf("\n");
*/
if (pilots==0) {
- // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
+ // printf("Extracting w/o pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
if (skip_half==1) {
memcpy(dl_ch0_ext,dl_ch0,6*sizeof(int));
- for (i=0; i<6; i++)
+ for (i=0; i<6; i++) {
rxF_ext[i]=rxF[i];
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
+ }
dl_ch0_ext+=6;
rxF_ext+=6;
} else if (skip_half==2) {
memcpy(dl_ch0_ext,dl_ch0+6,6*sizeof(int));
- for (i=0; i<6; i++)
+ for (i=0; i<6; i++) {
rxF_ext[i]=rxF[(i+6)];
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
+ }
dl_ch0_ext+=6;
rxF_ext+=6;
} else {
memcpy(dl_ch0_ext,dl_ch0,12*sizeof(int));
- for (i=0; i<12; i++)
+ for (i=0; i<12; i++) {
rxF_ext[i]=rxF[i];
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
+ }
dl_ch0_ext+=12;
rxF_ext+=12;
}
} else {
- // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
+ // printf("Extracting with pilots (symbol %d, rb %d, skip_half %d)\n",l,rb,skip_half);
j=0;
if (skip_half==1) {
for (i=0; i<6; i++) {
if (i!=((frame_parms->nushift+poffset)%6)) {
rxF_ext[j]=rxF[i];
- // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j++]=dl_ch0[i];
}
}
@@ -3645,7 +3717,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
for (i=0; i<6; i++) {
if (i!=((frame_parms->nushift+poffset)%6)) {
rxF_ext[j]=rxF[(i+6)];
- // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j++]=dl_ch0[i+6];
}
}
@@ -3657,7 +3731,9 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
if ((i!=(frame_parms->nushift+poffset)) &&
(i!=((frame_parms->nushift+poffset+6)%12))) {
rxF_ext[j]=rxF[i];
- // printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("extract rb %d, re %d => (%d,%d)\n",rb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j++]=dl_ch0[i];
}
}
@@ -3666,8 +3742,6 @@ unsigned short dlsch_extract_rbs_single(int **rxdataF,
rxF_ext+=10;
}
} // pilots=0
-
- nb_rb++;
}
dl_ch0+=12;
@@ -3749,52 +3823,58 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
rb_alloc_ind = (rb_alloc[3]>>(prb-96)) & 1;
else
rb_alloc_ind = 0;
-
- // PBCH
- if ((subframe==0) &&
- (prb>((frame_parms->N_RB_DL>>1)-3)) &&
- (prb<((frame_parms->N_RB_DL>>1)+3)) &&
- (l>=(nsymb>>1)) &&
- (l<((nsymb>>1) + 4))) {
- rb_alloc_ind = 0;
- // printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb);
- }
-
- //SSS
-
- if (((subframe==0)||(subframe==5)) &&
- (prb>((frame_parms->N_RB_DL>>1)-3)) &&
- (prb<((frame_parms->N_RB_DL>>1)+3)) &&
- (l==sss_symb) ) {
- rb_alloc_ind = 0;
- // printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb);
- }
-
-
-
- //PSS in subframe 0/5 if FDD
- if (frame_parms->frame_type == FDD) { //FDD
- if (((subframe==0)||(subframe==5)) &&
- (prb>((frame_parms->N_RB_DL>>1)-3)) &&
- (prb<((frame_parms->N_RB_DL>>1)+3)) &&
- (l==pss_symb) ) {
- rb_alloc_ind = 0;
- // printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb);
- }
- }
-
- if ((frame_parms->frame_type == TDD) &&
- (subframe==6)) { //TDD Subframe 6
- if ((prb>=((frame_parms->N_RB_DL>>1)-3)) &&
- (prb<=((frame_parms->N_RB_DL>>1)+3)) &&
- (l==pss_symb) ) {
- rb_alloc_ind = 0;
- }
- }
-
- if (rb_alloc_ind==1) { // PRB is allocated
- if ((frame_parms->N_RB_DL&1) == 0) { // even number of RBs
+ if (rb_alloc_ind == 1)
+ nb_rb++;
+
+
+ if ((frame_parms->N_RB_DL&1) == 0) { // even number of RBs
+
+ // PBCH
+ if ((subframe==0) &&
+ (prb>=((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l>=(nsymb>>1)) &&
+ (l<((nsymb>>1) + 4))) {
+ rb_alloc_ind = 0;
+ // printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb);
+ }
+
+ //SSS
+
+ if (((subframe==0)||(subframe==5)) &&
+ (prb>=((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==sss_symb) ) {
+ rb_alloc_ind = 0;
+ // printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb);
+ }
+
+
+
+ //PSS in subframe 0/5 if FDD
+ if (frame_parms->frame_type == FDD) { //FDD
+ if (((subframe==0)||(subframe==5)) &&
+ (prb>=((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==pss_symb) ) {
+ rb_alloc_ind = 0;
+ // printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb);
+ }
+ }
+
+ if ((frame_parms->frame_type == TDD) &&
+ (subframe==6)) { //TDD Subframe 6
+ if ((prb>=((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==pss_symb) ) {
+ rb_alloc_ind = 0;
+ }
+ }
+
+ if (rb_alloc_ind==1) { // PRB is allocated
+
+
prb_off = 12*prb;
prb_off2 = 1+(12*(prb-(frame_parms->N_RB_DL>>1)));
@@ -3839,12 +3919,55 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
rxF_ext+=8;
} // pilots==1
- nb_rb++;
+ }
+ } else { // Odd number of RBs
- } else { // Odd number of RBs
+ // PBCH
+ if ((subframe==0) &&
+ (prb>((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l>=(nsymb>>1)) &&
+ (l<((nsymb>>1) + 4))) {
+ rb_alloc_ind = 0;
+ // printf("symbol %d / rb %d: skipping PBCH REs\n",symbol,prb);
+ }
+
+ //SSS
+
+ if (((subframe==0)||(subframe==5)) &&
+ (prb>((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==sss_symb) ) {
+ rb_alloc_ind = 0;
+ // printf("symbol %d / rb %d: skipping SSS REs\n",symbol,prb);
+ }
+
+
+
+ //PSS in subframe 0/5 if FDD
+ if (frame_parms->frame_type == FDD) { //FDD
+ if (((subframe==0)||(subframe==5)) &&
+ (prb>((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==pss_symb) ) {
+ rb_alloc_ind = 0;
+ // printf("symbol %d / rb %d: skipping PSS REs\n",symbol,prb);
+ }
+ }
+
+ if ((frame_parms->frame_type == TDD) &&
+ ((subframe==1) || (subframe==6))) { //TDD Subframe 1-6
+ if ((prb>((frame_parms->N_RB_DL>>1)-3)) &&
+ (prb<((frame_parms->N_RB_DL>>1)+3)) &&
+ (l==pss_symb) ) {
+ rb_alloc_ind = 0;
+ }
+ }
+
+ if (rb_alloc_ind == 1) {
skip_half=0;
-
+
//Check if we have to drop half a PRB due to PSS/SSS/PBCH
// skip_half == 0 means full PRB
// skip_half == 1 means first half is used (leftmost half-PRB from PSS/SSS/PBCH)
@@ -3875,13 +3998,12 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
if (((frame_parms->frame_type == FDD) &&
(((subframe==0)||(subframe==5)))) || //FDD Subframes 0,5
((frame_parms->frame_type == TDD) &&
- (((subframe==2) || (subframe==6))))) { //TDD Subframes 2,6
+ (((subframe==1) || (subframe==6))))) { //TDD Subframes 1,6
if ((prb==((frame_parms->N_RB_DL>>1)-3)) &&
(l==pss_symb))
skip_half=1;
- else if (((subframe==0)||(subframe==5)) &&
- (prb==((frame_parms->N_RB_DL>>1)+3)) &&
+ else if ((prb==((frame_parms->N_RB_DL>>1)+3)) &&
(l==pss_symb))
skip_half=2;
}
@@ -3901,9 +4023,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
rxF = &rxdataF[aarx][prb_off2+
(symbol*(frame_parms->ofdm_symbol_size))];
}
-
- // printf("symbol %d / rb %d: alloc %d skip_half %d (rxF %p, rxF_ext %p) prb_off (%d,%d)\n",symbol,prb,rb_alloc_ind,skip_half,rxF,rxF_ext,prb_off,prb_off2);
-
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("symbol %d / rb %d: alloc %d skip_half %d (rxF %p, rxF_ext %p) prb_off (%d,%d)\n",symbol,prb,rb_alloc_ind,skip_half,rxF,rxF_ext,prb_off,prb_off2);
+#endif
*pmi_loc = (pmi>>((prb>>2)<<1))&3;
// printf("symbol_mod %d (pilots %d) rb %d, sb %d, pmi %d (pmi_loc %p,rxF %p, ch00 %p, ch01 %p, rxF_ext %p dl_ch0_ext %p dl_ch1_ext %p)\n",symbol_mod,pilots,rb,rb>>2,*pmi_loc,pmi_loc,rxF,dl_ch0, dl_ch1, rxF_ext,dl_ch0_ext,dl_ch1_ext);
@@ -3915,6 +4037,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
+#ifdef DEBUG_DLSCH_DEMOD
+ for (i=0;i<6;i++)
+ printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
dl_ch0_ext+=6;
dl_ch1_ext+=6;
rxF_ext+=6;
@@ -3922,6 +4048,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
memcpy(dl_ch0_ext,dl_ch0p+6,6*sizeof(int32_t));
memcpy(dl_ch1_ext,dl_ch1p+6,6*sizeof(int32_t));
memcpy(rxF_ext,rxF+6,6*sizeof(int32_t));
+#ifdef DEBUG_DLSCH_DEMOD
+ for (i=0;i<6;i++)
+ printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
dl_ch0_ext+=6;
dl_ch1_ext+=6;
rxF_ext+=6;
@@ -3929,8 +4059,10 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
memcpy(dl_ch0_ext,dl_ch0p,12*sizeof(int32_t));
memcpy(dl_ch1_ext,dl_ch1p,12*sizeof(int32_t));
memcpy(rxF_ext,rxF,12*sizeof(int32_t));
+#ifdef DEBUG_DLSCH_DEMOD
for (i=0;i<12;i++)
- // printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+ printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
+#endif
dl_ch0_ext+=12;
dl_ch1_ext+=12;
rxF_ext+=12;
@@ -3943,7 +4075,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
if ((i!=frame_parms->nushift) &&
(i!=((frame_parms->nushift+3)%6))) {
rxF_ext[j]=rxF[i];
- // printf("(pilots,skip1)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("(pilots,skip1)extract rb %d, re %d (%d)=> (%d,%d)\n",prb,i,j,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j]=dl_ch0p[i];
dl_ch1_ext[j++]=dl_ch1p[i];
}
@@ -3956,15 +4090,17 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
if ((i!=frame_parms->nushift) &&
(i!=((frame_parms->nushift+3)%6))) {
rxF_ext[j]=rxF[(i+6)];
- // printf("(pilots,skip2)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("(pilots,skip2)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j]=dl_ch0p[i+6];
dl_ch1_ext[j++]=dl_ch1p[i+6];
}
-
- dl_ch0_ext+=4;
- dl_ch1_ext+=4;
- rxF_ext+=4;
}
+ dl_ch0_ext+=4;
+ dl_ch1_ext+=4;
+ rxF_ext+=4;
+
} else { //skip_half==0
for (i=0; i<12; i++) {
if ((i!=frame_parms->nushift) &&
@@ -3972,7 +4108,9 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
(i!=frame_parms->nushift+6) &&
(i!=((frame_parms->nushift+9)%12))) {
rxF_ext[j]=rxF[i];
- // printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[j],*(1+(short*)&rxF_ext[j]));
+#endif
dl_ch0_ext[j] =dl_ch0p[i];
dl_ch1_ext[j++]=dl_ch1p[i];
}
@@ -3982,31 +4120,33 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
rxF_ext+=8;
} //skip_half==0
} //pilots==1
- nb_rb++;
} else { // Do middle RB (around DC)
if (pilots==0) {
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
- /*
+#ifdef DEBUG_DLSCH_DEMOD
for (i=0; i<6; i++) {
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
- }*/
+ }
+#endif
rxF_ext+=6;
dl_ch0_ext+=6;
dl_ch1_ext+=6;
dl_ch0p+=6;
dl_ch1p+=6;
- rxF = &rxdataF[aarx][((symbol*(frame_parms->ofdm_symbol_size)))];
+ rxF = &rxdataF[aarx][1+((symbol*(frame_parms->ofdm_symbol_size)))];
memcpy(dl_ch0_ext,dl_ch0p,6*sizeof(int32_t));
memcpy(dl_ch1_ext,dl_ch1p,6*sizeof(int32_t));
memcpy(rxF_ext,rxF,6*sizeof(int32_t));
- /*for (i=0; i<6; i++) {
+#ifdef DEBUG_DLSCH_DEMOD
+ for (i=0; i<6; i++) {
printf("extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF_ext[i],*(1+(short*)&rxF_ext[i]));
- }*/
+ }
+#endif
rxF_ext+=6;
dl_ch0_ext+=6;
dl_ch1_ext+=6;
@@ -4019,18 +4159,22 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
dl_ch0_ext[j]=dl_ch0p[i];
dl_ch1_ext[j]=dl_ch1p[i];
rxF_ext[j++]=rxF[i];
- //printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[i],*(1+(short*)&rxF[i]));
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("(pilots)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF[i],*(1+(short*)&rxF[i]));
+#endif
}
}
- rxF = &rxdataF[aarx][symbol*(frame_parms->ofdm_symbol_size)];
+ rxF = &rxdataF[aarx][1+symbol*(frame_parms->ofdm_symbol_size)];
for (; i<12; i++) {
if ((i!=((frame_parms->nushift+6)%12)) &&
(i!=((frame_parms->nushift+9)%12))) {
dl_ch0_ext[j]=dl_ch0p[i];
dl_ch1_ext[j]=dl_ch1p[i];
- rxF_ext[j++]=rxF[(1+i-6)];
- //printf("(pilots)extract rb %d, re %d => (%d,%d)\n",prb,i,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6]));
+ rxF_ext[j++]=rxF[i-6];
+#ifdef DEBUG_DLSCH_DEMOD
+ printf("(pilots)extract rb %d, re %d (%d) => (%d,%d)\n",prb,i,j,*(short *)&rxF[1+i-6],*(1+(short*)&rxF[1+i-6]));
+#endif
}
}
@@ -4038,7 +4182,6 @@ unsigned short dlsch_extract_rbs_dual(int **rxdataF,
dl_ch1_ext+=8;
rxF_ext+=8;
} //pilots==1
- nb_rb++;
} // if Middle PRB
} // if odd PRB
} // if rballoc==1
@@ -4126,7 +4269,7 @@ void dump_dlsch2(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint16_t coded_bits_per
#endif
#ifdef DEBUG_DLSCH_DEMOD
-
+/*
void print_bytes(char *s,__m128i *x)
{
@@ -4164,5 +4307,5 @@ void print_ints(char *s,__m128i *x)
printf("%s : %d,%d,%d,%d\n",s,
tempb[0],tempb[1],tempb[2],tempb[3]);
-}
+}*/
#endif
diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
index 7425a4ed65..a35f89b851 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
@@ -662,16 +662,17 @@ int dlsch_qpsk_llr(LTE_DL_FRAME_PARMS *frame_parms,
if ((symbol_mod==0) || (symbol_mod==(4-frame_parms->Ncp))) {
if (frame_parms->mode1_flag==0)
- len = (nb_rb*8);// - (2*pbch_pss_sss_adjust/3);
+ len = (nb_rb*8)- (2*pbch_pss_sss_adjust/3);
else
- len = (nb_rb*10);// - (5*pbch_pss_sss_adjust/6);
+ len = (nb_rb*10) - (5*pbch_pss_sss_adjust/6);
} else {
- len = (nb_rb*12);// - pbch_pss_sss_adjust;
+ len = (nb_rb*12) - pbch_pss_sss_adjust;
}
-// printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust);
+ // printf("dlsch_qpsk_llr: symbol %d,nb_rb %d, len %d,pbch_pss_sss_adjust %d\n",symbol,nb_rb,len,pbch_pss_sss_adjust);
for (i=0; iulsch_eNB[0]->cyclicShift = cyclic_shift;// cyclic shift for DMRS
+ /*
if(abstx) {
namepointer_log2 = &flogeren_name;
namepointer_chMag = &fmageren_name;
//namepointer_txlev = &ftxlev;
}
+ */
start_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
rx_ulsch(PHY_vars_eNB,
@@ -1285,6 +1295,7 @@ int main(int argc, char **argv)
cooperation_flag);
stop_meas(&PHY_vars_eNB->ulsch_demodulation_stats);
+ /*
if(abstx) {
namepointer_chMag = NULL;
@@ -1296,8 +1307,7 @@ int main(int argc, char **argv)
// flagMag = 1;
}
}
-
- ///////
+ */
start_meas(&PHY_vars_eNB->ulsch_decoding_stats);
ret= ulsch_decoding(PHY_vars_eNB,
@@ -1816,6 +1826,7 @@ int main(int argc, char **argv)
}//ch realization
+ /*
if(abstx) {
fperen = fopen(fperen_name,"a+");
fprintf(fperen,"];\n");
@@ -1829,6 +1840,7 @@ int main(int argc, char **argv)
fprintf(flogeren,"];\n");
fclose(flogeren);
}
+ */
// ftxlev = fopen(ftxlev_name,"a+");
//fprintf(ftxlev,"];\n");
diff --git a/openair3/TEST/test_kdf.c b/openair3/TEST/test_kdf.c
index 2a66527773..121efcb953 100644
--- a/openair3/TEST/test_kdf.c
+++ b/openair3/TEST/test_kdf.c
@@ -42,9 +42,9 @@ static
void do_kdf(uint8_t *key, unsigned key_length, uint8_t *data, unsigned data_length,
uint8_t *exp, unsigned exp_length)
{
- uint8_t *result;
+ uint8_t result[32];
- kdf(key, key_length, data, data_length, &result, 32);
+ kdf(key, key_length, data, data_length, result, 32);
if (compare_buffer(result, exp_length, exp, exp_length) != 0) {
fail("Fail: kdf\n");
diff --git a/openair3/TEST/test_secu_kenb.c b/openair3/TEST/test_secu_kenb.c
index 16f6a8eadc..967e457229 100644
--- a/openair3/TEST/test_secu_kenb.c
+++ b/openair3/TEST/test_secu_kenb.c
@@ -39,15 +39,15 @@ static
void do_derive_kenb(uint32_t nas_count, const uint8_t *kasme, const unsigned length,
const uint8_t *kenb_exp)
{
- uint8_t *kenb;
+ uint8_t kenb[32];
- derive_keNB(kasme, nas_count, &kenb);
+ memset(kenb, 0, sizeof(kenb));
+ derive_keNB(kasme, nas_count, kenb);
if (compare_buffer(kenb_exp, length, kenb, length) != 0) {
fail("Fail: kenb derivation\n");
}
- free(kenb);
}
void doit (void)
diff --git a/openair3/TEST/test_secu_knas.c b/openair3/TEST/test_secu_knas.c
index ecf213f7b3..9b9cdc415a 100644
--- a/openair3/TEST/test_secu_knas.c
+++ b/openair3/TEST/test_secu_knas.c
@@ -39,21 +39,23 @@ static
void derive_knas_keys(algorithm_type_dist_t atd, uint8_t *kasme, unsigned length,
uint8_t *knas_enc_exp, uint8_t *knas_int_exp)
{
- uint8_t *knas_enc;
- uint8_t *knas_int;
+ uint8_t *knas_enc = NULL;
+ uint8_t *knas_int = NULL;
- derive_key_nas_enc(atd, kasme, &knas_enc);
- derive_key_nas_int(atd, kasme, &knas_int);
+ knas_enc = calloc(1, 32);
+ knas_int = calloc(1, 32);
+
+ derive_key_nas_enc(atd, kasme, knas_enc);
+ derive_key_nas_int(atd, kasme, knas_int);
/* Compare both keys with expected */
- if (compare_buffer(knas_enc, 32, knas_enc_exp, 32) != 0) {
+ if (compare_buffer(knas_enc, 16, &knas_enc_exp[16], 16) != 0) {
fail("Fail: knas_enc derivation\n");
}
- if (compare_buffer(knas_int, 32, knas_int_exp, 32) != 0) {
+ if (compare_buffer(knas_int, 16, &knas_int_exp[16], 16) != 0) {
fail("Fail: knas_int derivation\n");
}
-
free(knas_enc);
free(knas_int);
}
diff --git a/openair3/TEST/test_secu_knas_encrypt_eea1.c b/openair3/TEST/test_secu_knas_encrypt_eea1.c
index 9c54828ff4..83a4077d89 100755
--- a/openair3/TEST/test_secu_knas_encrypt_eea1.c
+++ b/openair3/TEST/test_secu_knas_encrypt_eea1.c
@@ -40,14 +40,15 @@ void eea1_encrypt(uint8_t direction, uint32_t count,
uint8_t bearer, uint8_t *key, uint32_t key_length, uint8_t *message,
uint32_t length, uint8_t *expected)
{
- nas_stream_cipher_t *nas_cipher;
- uint8_t *result;
- uint32_t zero_bits = length & 7;
- uint32_t byte_length = length >> 3;
+ nas_stream_cipher_t *nas_cipher = NULL;
+ uint8_t *result = NULL;
+ uint32_t zero_bits = length & 7;
+ uint32_t byte_length = length >> 3;
if (zero_bits > 0)
byte_length += 1;
+ result = calloc(1, byte_length);
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
nas_cipher->direction = direction;
@@ -58,7 +59,7 @@ void eea1_encrypt(uint8_t direction, uint32_t count,
nas_cipher->blength = length;
nas_cipher->message = message;
- if (nas_stream_encrypt_eea1(nas_cipher, &result) != 0)
+ if (nas_stream_encrypt_eea1(nas_cipher, result) != 0)
fail("Fail: nas_stream_encrypt_eea1\n");
if (compare_buffer(result, byte_length, expected, byte_length) != 0) {
diff --git a/openair3/TEST/test_secu_knas_encrypt_eea2.c b/openair3/TEST/test_secu_knas_encrypt_eea2.c
index 712da6d947..d0ff01c1e6 100644
--- a/openair3/TEST/test_secu_knas_encrypt_eea2.c
+++ b/openair3/TEST/test_secu_knas_encrypt_eea2.c
@@ -40,14 +40,15 @@ void eea2_encrypt(uint8_t direction, uint32_t count,
uint8_t bearer, uint8_t *key, uint32_t key_length, uint8_t *message,
uint32_t length, uint8_t *expected)
{
- nas_stream_cipher_t *nas_cipher;
- uint8_t *result;
- uint32_t zero_bits = length & 7;
- uint32_t byte_length = length >> 3;
+ nas_stream_cipher_t *nas_cipher = NULL;
+ uint8_t *result = NULL;
+ uint32_t zero_bits = length & 7;
+ uint32_t byte_length = length >> 3;
if (zero_bits > 0)
byte_length += 1;
+ result = calloc(1, byte_length);
nas_cipher = calloc(1, sizeof(nas_stream_cipher_t));
nas_cipher->direction = direction;
@@ -58,7 +59,7 @@ void eea2_encrypt(uint8_t direction, uint32_t count,
nas_cipher->blength = length;
nas_cipher->message = message;
- if (nas_stream_encrypt_eea2(nas_cipher, &result) != 0)
+ if (nas_stream_encrypt_eea2(nas_cipher, result) != 0)
fail("Fail: nas_stream_encrypt_eea2\n");
if (compare_buffer(result, byte_length, expected, byte_length) != 0) {