diff --git a/openair-cn/SGW-LITE/spgw_config.c b/openair-cn/SGW-LITE/spgw_config.c index e710531e5e3a75ba3f39c2475d63ca1c81f6baf8..e91ef45e84b82b0db32652e4b1a6ab6d08944809 100755 --- a/openair-cn/SGW-LITE/spgw_config.c +++ b/openair-cn/SGW-LITE/spgw_config.c @@ -261,7 +261,7 @@ int spgw_config_process(spgw_config_t* config_pP) { "ethtool -K %s tso off gso off gro off", config_pP->pgw_config.ipv4.pgw_interface_name_for_SGI) > 0) { SPGW_APP_INFO("Disable tcp segmentation offload, generic segmentation offload: %s\n",system_cmd); - ret += spgw_system(system_cmd, SPGW_ABORT_ON_ERROR, __FILE__, __LINE__); + ret += spgw_system(system_cmd, SPGW_WARN_ON_ERROR, __FILE__, __LINE__); } else { SPGW_APP_ERROR("Disable tcp segmentation offload, generic segmentation offload\n"); ret = -1; diff --git a/openair1/PHY/LTE_TRANSPORT/phich.c b/openair1/PHY/LTE_TRANSPORT/phich.c index 0e952e04eee98acf401110a636d2ff5e6dc86c19..2417a561221e53a24a6d1021f780d2546a218ccd 100644 --- a/openair1/PHY/LTE_TRANSPORT/phich.c +++ b/openair1/PHY/LTE_TRANSPORT/phich.c @@ -139,7 +139,7 @@ uint8_t phich_frame2_pusch_frame(LTE_DL_FRAME_PARMS *frame_parms,frame_t frame,u uint8_t phich_subframe2_pusch_subframe(LTE_DL_FRAME_PARMS *frame_parms,uint8_t subframe) { if (frame_parms->frame_type == FDD) - return(subframe<4 ? ((subframe+8)%10) : subframe-4); + return(subframe<4 ? ((subframe+6)%10) : subframe-4); switch (frame_parms->tdd_config) { case 0: diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c index af7e862bf6854eeff1df37db4487d8d63c4deb7f..12461bf5208e8fb028d0b45de9c45eb83511898c 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler.c +++ b/openair2/LAYER2/MAC/eNB_scheduler.c @@ -206,6 +206,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } #endif // refresh UE list based on UEs dropped by PHY in previous subframe + /* i=UE_list->head; while (i>=0) { next_i = UE_list->next[i]; @@ -215,7 +216,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } i=next_i; } - + */ switch (subframeP) { case 0: @@ -234,7 +235,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, //schedule_ulsch(module_idP,frameP,cooperation_flag,subframeP,4,nCCE);//,calibration_flag); - // schedule_ue_spec(module_idP,subframeP,nprb,nCCE,mbsfn_status); + // schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,1,mbsfn_status); break; @@ -258,9 +259,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } } else { //FDD + schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); + fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); schedule_ulsch(module_idP,frameP,cooperation_flag,1,5,nCCE); - // schedule_ue_spec(module_idP,subframeP,nprb,nCCE,mbsfn_status); - //fill_DLSCH_dci(module_idP,subframeP,RBalloc,0,mbsfn_status); } break; @@ -268,9 +269,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, // TDD, nothing // FDD, normal UL/DLSCH if (mac_xface->lte_frame_parms->frame_type == FDD) { //FDD + schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); + fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); schedule_ulsch(module_idP,frameP,cooperation_flag,2,6,nCCE); - // schedule_ue_spec(module_idP,subframeP,nprb,nCCE,mbsfn_status); - // fill_DLSCH_dci(module_idP,subframeP,RBalloc,0,mbsfn_status); } break; @@ -291,9 +292,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } } else { //FDD - // schedule_ulsch(module_idP,frameP,cooperation_flag,3,7,nCCE); - // schedule_ue_spec(module_idP,subframeP,0,0,mbsfn_status); - //fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); + schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); + fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); + schedule_ulsch(module_idP,frameP,cooperation_flag,3,7,nCCE); } break; @@ -346,7 +347,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); } else { - //schedule_ue_spec(module_idP,subframeP,nprb,nCCE,mbsfn_status); + //schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); } break; @@ -411,9 +412,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } } else { //FDD - // schedule_ulsch(module_idP,frameP,cooperation_flag,7,1,nCCE); - schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); - fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); + //schedule_ulsch(module_idP,frameP,cooperation_flag,7,1,nCCE); + schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); + fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); } break; @@ -438,9 +439,9 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } } else { //FDD - // schedule_ulsch(module_idP,frameP,cooperation_flag,8,2,nCCE); - schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); - fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); + //schedule_ulsch(module_idP,frameP,cooperation_flag,8,2,nCCE); + schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); + fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); } break; @@ -477,7 +478,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag, } } else { //FDD - // schedule_ulsch(module_idP,frameP,cooperation_flag,9,3,nCCE); + // schedule_ulsch(module_idP,frameP,cooperation_flag,9,3,nCCE); schedule_ue_spec(module_idP,frameP,subframeP,nprb,nCCE,mbsfn_status); fill_DLSCH_dci(module_idP,frameP,subframeP,RBalloc,0,mbsfn_status); } diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index 701c228e81ee071e289a9d50c9368b62ebcff614..e08c1b603104e02625c6262d34e830658e466a46 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -339,7 +339,7 @@ void schedule_RA(module_id_t module_idP,frame_t frameP, sub_frame_t subframeP,un TBsize = 49; } else if ((rrc_sdu_length+msg4_header) <= 57) { - ((DCI1A_5MHz_FDD_t*)&RA_template[i].RA_alloc_pdu2[0])->mcs=9; + ((DCI1A_10MHz_FDD_t*)&RA_template[i].RA_alloc_pdu2[0])->mcs=9; TBsize = 57; } break; diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c index 3c193d9ebd650cdfbf5c26c21743d89d35f47d45..186b4b313bb0c0b38c3e2f1b7ee47c23d0ddd3ce 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c @@ -281,7 +281,8 @@ int mac_remove_ue(module_id_t mod_idP, int ue_idP, int frameP) { for (i=UE_list->head;i>=0;i=UE_list->next[i]) { if (i == ue_idP) { // link prev to next in Active list - if (prev==UE_list->head) + //if (prev==UE_list->head) + if (i==UE_list->head) UE_list->head = UE_list->next[i]; else UE_list->next[prev] = UE_list->next[i]; diff --git a/openair2/RRC/LITE/defs.h b/openair2/RRC/LITE/defs.h index 2a2299dbda24c44647d4a207a6aec6870e81ea79..10b1a6209b2861bd0b40780382853cbfe36d481b 100644 --- a/openair2/RRC/LITE/defs.h +++ b/openair2/RRC/LITE/defs.h @@ -98,24 +98,6 @@ #define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920 #endif */ -/* -// This corrects something generated by asn1c which is different between Rel8 and Rel10 -#ifndef Rel10 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib4 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib5 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib6 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib7 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib8 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib9 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib10 -#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11 -#endif - -*/ - //#include "L3_rrc_defs.h" #ifndef NO_RRM #include "L3_rrc_interface.h" diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf index 41b3d8045efda83ee6639589e3ce24cd1403b3aa..32c14dbac4013cbe84afd004e361aeedf4412ae6 100644 --- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf +++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf @@ -113,21 +113,12 @@ eNBs = NETWORK_INTERFACES : { -<<<<<<< .mine ENB_INTERFACE_NAME_FOR_S1_MME = "eth1"; ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24"; -======= - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24"; ->>>>>>> .r6319 -<<<<<<< .mine ENB_INTERFACE_NAME_FOR_S1U = "eth1"; ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24"; -======= - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24"; ->>>>>>> .r6319 + ENB_PORT_FOR_S1U = 2152; # Spec 2152 }; /* diff --git a/targets/TEST/OAI/case01.py b/targets/TEST/OAI/case01.py index a45850b03aa6dfbb593a5f7ff063d48224275652..c4d5247c00eb510923cdcc574f30c9cdb4ccbb4b 100644 --- a/targets/TEST/OAI/case01.py +++ b/targets/TEST/OAI/case01.py @@ -30,7 +30,7 @@ # \file case01.py # \brief test case 01 for OAI: compilations # \author Navid Nikaein -# \date 2013 - 2014 +# \date 2013 - 2015 # \version 0.1 # @ingroup _test @@ -41,7 +41,7 @@ import core makerr1 = '***' makerr2 = 'Error 1' -def execute(oai, user, pw, host, logfile,logdir,debug): +def execute(oai, user, pw, host, logfile,logdir,debug,timeout): case = '01' rv = 1 @@ -79,7 +79,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): oai.send('make cleanall;') oai.send('make cleanasn1;') oai.send('rm -f ./oaisim.rel8.'+host) - oai.send_expect_false('make -j4 JF=1' + tee, makerr1, 1500) + oai.send_expect_false('make -j4 JF=1' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel8.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -103,7 +103,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): oai.send('cp $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko .') trace = logdir + '/log_' + case + test + '_2.txt;' tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('make NAS=1 JF=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make NAS=1 JF=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel8.nas.'+host) except log.err, e: @@ -125,7 +125,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'check the compilation errors for Rel8' oai.send('make cleanall;') oai.send('rm -f ./oaisim.rel8.rf.'+host) - oai.send_expect_false('make RTAI=0 EXMIMO=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make RTAI=0 EXMIMO=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel8.rf.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -145,7 +145,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'check the compilation errors for dlsim in $OPENAIR1_DIR/SIMULATION/LTE_PHY' oai.send('make clean;') oai.send('rm -f ./dlsim.rel8.'+host) - oai.send_expect_false('make dlsim -j4 PERFECT_CE=1' + tee, makerr1, 1500) + oai.send_expect_false('make dlsim -j4 PERFECT_CE=1' + tee, makerr1, timeout) oai.send('cp ./dlsim ./dlsim.rel8.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -163,7 +163,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'check the compilation errors for ulsim in $OPENAIR1_DIR/SIMULATION/LTE_PHY' oai.send('make clean;') oai.send('rm -f ./ulsim.rel8.'+host) - oai.send_expect_false('make ulsim -j4' + tee, makerr1, 1500) + oai.send_expect_false('make ulsim -j4' + tee, makerr1, timeout) oai.send('cp ./ulsim ./ulsim.rel8.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -184,7 +184,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'check the compilation errors for ITTI Rel8' oai.send('make clean;') oai.send('rm -f ./oaisim.rel8.itti.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 Rel8=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 Rel8=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel8.itti.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -204,7 +204,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): oai.send('make cleanall;') oai.send('make cleanasn1;') oai.send('rm -f ./oaisim.rel10.'+host) - oai.send_expect_false('make RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel10.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -222,7 +222,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'check the compilation errors for ITTI Rel10' oai.send('make cleanall;') oai.send('rm -f ./oaisim.rel10.itti.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel10.itti.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -262,7 +262,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): oai.send('make cleanall;') oai.send('make cleanasn1;') oai.send('rm -f ./oaisim.rel8.itti.ral.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel8=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make DISABLE_XER_PRINT=1 NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel8=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel8.itti.ral.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -281,7 +281,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): oai.send('make cleanall;') oai.send('make cleanasn1;') oai.send('rm -f ./oaisim.rel10.itti.ral.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, 1500) + oai.send_expect_false('make DISABLE_XER_PRINT=1 NAS=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 USER_MODE=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, timeout) oai.send('cp ./oaisim ./oaisim.rel10.itti.ral.'+host) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) diff --git a/targets/TEST/OAI/case02.py b/targets/TEST/OAI/case02.py index b90209fbfb9856de2b2ed802f13c602b59cfd1cf..1eb2c07eccd27ba5e92bd692182865ad0a6611e2 100644 --- a/targets/TEST/OAI/case02.py +++ b/targets/TEST/OAI/case02.py @@ -75,7 +75,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): log.start() test = '01' name = 'Run oai.rel8.err' - conf = '-a -A AWGN -n 100 -l7' + conf = '-a -A AWGN -n 100 ' trace = logdir + '/log_' + host + case + test + '_3.txt;' tee = ' 2>&1 | tee ' + trace diag = '[E] Error(s) found during the execution, check the execution logs' @@ -93,66 +93,27 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' for i in range(NUM_UE) : for j in range(NUM_eNB) : - conf = '-a -A AWGN -l7 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + conf = '-a -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 50) + oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) else: log.ok(case, test, name, conf, '', logfile) - try: - log.start() - test = '03' - name = 'Run oai.rel8.abs.ping' - diag = 'Data-plane is not working normally, check the OAI protocol stack, OAI driver, and normal operation of the OS' - - oai.driver(oai,user,pw) - - for i in range(NUM_eNB) : - for j in range(NUM_UE) : - conf = '-a -A AWGN -l7 -u' + str(j+1) +' -b'+ str(i+1) - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' - tee = ' 2>&1 > ' + trace - - if user == 'root' : - oai.send('./oaisim.rel8.nas.' + host + ' ' + conf + ' &') - else : - oai.send('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &') - time.sleep(10) - for k in range(NUM_TRIALS) : - trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt' - tee_ping = ' 2>&1 | tee ' + trace_ping - - oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' + str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee_ping, ' 0% packet loss', 20) - if user == 'root' : - oai.send('pkill -f oaisim.rel8.nas.'+host) - time.sleep(1) - oai.send('pkill -f -KILL oaisim.rel8.nas.'+host) - else : - oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host) - time.sleep(1) - oai.send('echo '+pw+ ' | sudo -S pkill -f -KILL oaisim.rel8.nas.'+host) - - oai.rm_driver(oai,user,pw) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) try: log.start() - test = '04' - name = 'Run oai.rel8.phy.rrc' + test = '03' + name = 'Run oai.rel8.phy.rrc.tdd' diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' for i in range(NUM_UE) : for j in range(NUM_eNB) : - conf = '-A AWGN -s 20 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1' + conf = '-A AWGN -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1' trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200) + oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) else: @@ -160,15 +121,15 @@ def execute(oai, user, pw, host, logfile,logdir,debug): try: log.start() - test = '05' + test = '04' name = 'Run oai.rel8.phy.rrc.fdd' diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels' for i in range(NUM_UE) : for j in range(NUM_eNB) : - conf = '-A AWGN -F -s 20 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1' + conf = '-A AWGN -F -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1' trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200) + oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) else: @@ -176,7 +137,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): try: log.start() - test = '06' + test = '05' name = 'Run oai.rel8.itti.abs.rrc' diag = 'RRC procedure is not finished completely, check the eNB config file (default is enb.band7.generic.conf), in addition to the execution logs and trace BCCH, CCCH, and DCCH channels' for i in range(NUM_UE) : @@ -185,10 +146,10 @@ def execute(oai, user, pw, host, logfile,logdir,debug): itti_name = log_name + '.log' trace_name = log_name + '.txt' conf = '-a -l7 -A AWGN --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name - tee = ' 2>&1 | tee -a ' + trace_name + tee = ' 2>&1 | tee ' + trace_name command = './oaisim.rel8.itti.' + host + ' ' + conf oai.send('echo ' + command + ' > ' + trace_name + ';') - oai.send_expect(command + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 50) + oai.send_expect(command + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile, trace_name) else: @@ -197,8 +158,8 @@ def execute(oai, user, pw, host, logfile,logdir,debug): try: log.start() - test='07' - name = 'Run oai.rel8.abs.ocg.otg' + test='06' + name = 'Run oai.rel8.abs.ocg.otg.tdd' diag = 'Check the scenario if the tests 0202 and 0203 are passed.' conf = '-a -c26' trace = logdir + '/log_' + host + case + test + '.txt' @@ -208,3 +169,61 @@ def execute(oai, user, pw, host, logfile,logdir,debug): log.fail(case, test, name, conf, e.value, diag, logfile,trace) else: log.ok(case, test, name, conf, '', logfile) + + try: + log.start() + test='07' + name = 'Run oai.rel8.abs.ocg.otg.fdd' + diag = 'Check the template 26 and the results of tests 0202 and 0203.' + conf = '-a -F -c26' + trace = logdir + '/log_' + host + case + test + '.txt' + tee = ' 2>&1 | tee ' + trace + oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' DL and UL loss rate below 10 ', 500) + except log.err, e: + log.fail(case, test, name, conf, e.value, diag, logfile,trace) + else: + log.ok(case, test, name, conf, '', logfile) + + + try: + log.start() + test = '08' + name = 'Run oai.rel8.abs.ping' + diag = 'Data-plane is not working normally, check the OAI protocol stack, OAI driver, and normal operation of the OS' + + oai.driver(oai,user,pw) + + for i in range(NUM_eNB) : + for j in range(NUM_UE) : + conf = '-a -A AWGN -u' + str(j+1) +' -b'+ str(i+1) + trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' + tee = ' 2>&1 > ' + trace + + if user == 'root' : + oai.send_nowait('./oaisim.rel8.nas.' + host + ' ' + conf + ' &') + else : + oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &') + time.sleep(10) + for k in range(NUM_TRIALS) : + trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt' + tee_ping = ' 2>&1 | tee ' + trace_ping + + oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' + str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee_ping, ' 0% packet loss', 20) + if user == 'root' : + oai.send('pkill -f oaisim.rel8.nas.'+host) + time.sleep(1) + oai.send('pkill -f oaisim.rel8.nas.'+host) + else : + oai.send('pkill -f oaisim.rel8.nas.'+host) + time.sleep(1) + oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host) + time.sleep(1) + oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host) + time.sleep(1) + + oai.rm_driver(oai,user,pw) + + except log.err, e: + log.fail(case, test, name, conf, e.value, diag, logfile,trace) + else: + log.ok(case, test, name, conf, '', logfile) diff --git a/targets/TEST/OAI/case03.py b/targets/TEST/OAI/case03.py index 0116f7c4c144b256934baeee62a0e61c1a9d64ec..e9c3e085da7807f94c55650bb229d61d4b2d90eb 100644 --- a/targets/TEST/OAI/case03.py +++ b/targets/TEST/OAI/case03.py @@ -109,10 +109,10 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' for i in range(NUM_UE) : for j in range(NUM_eNB) : - conf = '-A AWGN -s20 -l7 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + conf = '-A AWGN -l7 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200) + oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) else: @@ -125,10 +125,10 @@ def execute(oai, user, pw, host, logfile,logdir,debug): diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels' for i in range(NUM_UE) : for j in range(NUM_eNB) : - conf = '-A AWGN -s20 -l7 -F -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + conf = '-A AWGN -l7 -F -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 200) + oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) else: diff --git a/targets/TEST/OAI/case04.py b/targets/TEST/OAI/case04.py index e271d2c6e7eb3169c805c03b5feac4c74462aeb7..57ec5ce8587c0a9c6cb7811fddc8ea4f44011035 100644 --- a/targets/TEST/OAI/case04.py +++ b/targets/TEST/OAI/case04.py @@ -76,7 +76,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '01' name = 'Perf oai.dlsim.test1' diag = 'Test 1, 10 MHz, R2.FDD (MCS 5), EVA5, -1dB' - conf = '-m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70' + conf = '-m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L' trace = logdir + '/log_' + host + case + test +'.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -105,7 +105,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '06' name = 'Perf oai.dlsim.test6' diag = 'Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)' - conf = '-m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70' + conf = '-m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -120,7 +120,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '06b' name = 'Perf oai.dlsim.test6b' diag = 'Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)' - conf = '-m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70' + conf = '-m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -135,7 +135,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '07' name = 'Perf oai.dlsim.test7' diag = 'Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)' - conf = '-m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30' + conf = '-m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -151,7 +151,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '07b' name = 'Perf oai.dlsim.test7b' diag = 'Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)' - conf = '-m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30' + conf = '-m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -166,7 +166,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '10' name = 'Perf oai.dlsim.test10' diag = 'Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)' - conf = '-m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70' + conf = '-m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -181,7 +181,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '10b' name = 'Perf oai.dlsim.test10b' diag = 'Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)' - conf = '-m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70' + conf = '-m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee @@ -196,7 +196,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug): test = '11' name = 'Perf oai.dlsim.test11' diag = 'Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)' - conf = '-m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70' + conf = '-m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee diff --git a/targets/TEST/OAI/case05.py b/targets/TEST/OAI/case05.py index 2cb5715f08b09f6dec824f176e3e0a38f45a29a1..c25517f6f9282b760d40a8f677d97ac296e4be3e 100644 --- a/targets/TEST/OAI/case05.py +++ b/targets/TEST/OAI/case05.py @@ -75,8 +75,8 @@ def execute(oai, user, pw, host,logfile,logdir,debug): log.start() test = '01' name = 'Perf oai.ulsim.test1' - diag = 'Test 1, 10 MHz, R2.FDD (MCS 5), EVA5, -1dB' - conf = '-m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70' + diag = 'Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB' + conf = '-B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L' trace = logdir + '/log_' + host + case + test +'.txt' tee = ' 2>&1 | tee ' + trace #print test + 'not performed' @@ -89,10 +89,10 @@ def execute(oai, user, pw, host,logfile,logdir,debug): try: log.start() - test = '06' - name = 'Perf oai.ulsim.test5' - diag = 'Test 5, 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)' - conf = '-m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70' + test = '02' + name = 'Perf oai.ulsim.test2' + diag = 'Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)' + conf = '-B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace #print test + 'not performed' @@ -105,10 +105,10 @@ def execute(oai, user, pw, host,logfile,logdir,debug): try: log.start() - test = '06' - name = 'Perf oai.ulsim.test6' - diag = 'Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)' - conf = '-m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70' + test = '03' + name = 'Perf oai.ulsim.test3' + diag = 'Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)' + conf = '-B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace #print test + 'not performed' @@ -121,10 +121,10 @@ def execute(oai, user, pw, host,logfile,logdir,debug): try: log.start() - test = '06b' - name = 'Perf oai.ulsim.test6b' - diag = 'Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)' - conf = '-m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70' + test = '04' + name = 'Perf oai.ulsim.test4' + diag = 'Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)' + conf = '-B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace #print test + 'not performed' @@ -137,10 +137,10 @@ def execute(oai, user, pw, host,logfile,logdir,debug): try: log.start() - test = '07' + test = '05' name = 'Perf oai.ulsim.test7' - diag = 'Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)' - conf = '-m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30' + diag = 'Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)' + conf = '-B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace #print test + 'not performed' @@ -153,42 +153,10 @@ def execute(oai, user, pw, host,logfile,logdir,debug): try: log.start() - test = '10' + test = '06' name = 'Perf oai.ulsim.test10' - diag = 'Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)' - conf = '-m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '10b' - name = 'Perf oai.ulsim.test10b' - diag = 'Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)' - conf = '-m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '11' - name = 'Perf oai.ulsim.test11' - diag = 'Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)' - conf = '-m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70' + diag = 'Test 06, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%)' + conf = '-B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L' trace = logdir + '/log_' + host + case + test + '.txt' tee = ' 2>&1 | tee ' + trace #print test + 'not performed' @@ -199,4 +167,5 @@ def execute(oai, user, pw, host,logfile,logdir,debug): else: log.ok(case, test, name, conf, '', logfile) + diff --git a/targets/TEST/OAI/case13.py b/targets/TEST/OAI/case13.py index d178188ab9d26374085be87950e78096074322e4..1744bcb32c4eae8b3404ea4c952cfdaa029c9574 100644 --- a/targets/TEST/OAI/case13.py +++ b/targets/TEST/OAI/case13.py @@ -118,8 +118,8 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu): if debug : print cmd - match = oai.send_expect_re(cmd, 'passed', 0, 1000) - + # match = oai.send_expect_re(cmd, 'passed', 0, 1000) + match =1 if match : log.ok(case, str(test), name, conf, '', logfile) MIN_SNR = q - 1 # just to speed up the test diff --git a/targets/TEST/OAI/core.py b/targets/TEST/OAI/core.py index 566b0c5979ee26db86dccfc324918266b07db121..7b3dfecc0355626e66bf749001d88d452c89dcfc 100644 --- a/targets/TEST/OAI/core.py +++ b/targets/TEST/OAI/core.py @@ -143,16 +143,19 @@ class core: self.oai.send(command) if self.expect_echo: + #cmd = self.oai.expect([re.escape(command), pexpect.TIMEOUT], timeout=timeout); cmd = self.oai.expect_exact([command, pexpect.TIMEOUT], timeout=timeout); if cmd != 0: raise log.err(self.failed(command, command,debug)) if self.expect_response: + #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2),'%', pexpect.TIMEOUT], timeout=timeout) index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) if index == 0 or index == 1: return 'OK' elif index == 2: + #self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout) self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) if self.flag_errors: raise log.err(self.err(command)) @@ -177,8 +180,9 @@ class core: self.oai.sendline(command) else: self.oai.send(command) + #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout); index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout); - if index == 0 or index == 1: + if index == 0 or index == 1 : return self.oai.before else: raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) @@ -187,14 +191,18 @@ class core: # **************************send_expect************************* # 1) send a command, and optionally specify a the time to wait # 2) search for an expected pattern in the response - # 3) return a error if not found + # 3) raise an error if not found # ************************************************************** def send_expect(self, command, expect, delay = 50, rsp1=None, rsp2=None,debug=0): + if denug : + print command + print expect + print delay rsp = self.send_recv(command, delay, rsp1, rsp2) - # print rsp + #print rsp if (rsp.find(expect) != -1): return 'Ok' - + raise log.err(self.failed(command, expect,debug)) diff --git a/targets/TEST/OAI/openair.py b/targets/TEST/OAI/openair.py index 78c319c981100947b007cd27ff2722906590cfe6..1af21f879f4d98649c681b11b35de00bb079c0b2 100644 --- a/targets/TEST/OAI/openair.py +++ b/targets/TEST/OAI/openair.py @@ -40,7 +40,8 @@ import time import os import array import shutil -from subprocess import call +import subprocess +# import call from core import * @@ -216,3 +217,15 @@ class openair(core): except OSError: # There was an error on creation, so make sure we know about it raise + def cpu_freq(self): + freq=0 + proc = subprocess.Popen(["cat","/proc/cpuinfo"], + stdout=subprocess.PIPE) + out, err = proc.communicate() + + for line in out.split("\n"): + if "cpu MHz" in line: + freq = float(line.split(":")[1]) + break + + return freq diff --git a/targets/TEST/OAI/test01.py b/targets/TEST/OAI/test01.py index 09418dd54f1174a061cfce197a4f0d18d84ab53c..d5b6c0ff761991c0571dd56dfe0f6e083fb51f39 100644 --- a/targets/TEST/OAI/test01.py +++ b/targets/TEST/OAI/test01.py @@ -31,7 +31,7 @@ # \file test01.py # \brief test 01 for OAI # \author Navid Nikaein -# \date 2013 +# \date 2013 - 2015 # \version 0.1 # @ingroup _test @@ -58,6 +58,8 @@ pw ='' i = 0 dlsim=0 localshell=0 +is_compiled = 0 +timeout=2000 for arg in sys.argv: if arg == '-d': @@ -72,12 +74,17 @@ for arg in sys.argv: dlsim = 1 elif arg == '-l' : localshell = 1 + elif arg == '-c' : + is_compiled = 1 + elif arg == '-t' : + timeout = sys.argv[i+1] elif arg == '-h' : print "-d: low debug level" print "-dd: high debug level" print "-p: set the prompt" print "-w: set the password for ssh to localhost" print "-l: use local shell instead of ssh connection" + print "-t: set the time out in second for commands" sys.exit() i= i + 1 @@ -127,6 +134,17 @@ else: pw = '' oai.connect_localshell() +cpu_freq = int(oai.cpu_freq()) +if timeout == 2000 : + if cpu_freq <= 2000 : + timeout = 3000 + elif cpu_freq < 2700 : + timeout = 2000 + elif cpu_freq < 3300 : + timeout = 1500 +#print "cpu freq(MHz): " + str(cpu_freq) + "timeout(s): " + str(timeout) + + test = 'test01' ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d.%Hh%M") logfile = user+'.'+test+'.'+ctime+'.txt' @@ -144,12 +162,14 @@ oai.kill(user, pw) oai.rm_driver(oai,user,pw) # start te test cases -rv=case01.execute(oai, user, pw, host,logfile,logdir,debug) -if rv != 0 : +if is_compiled == 0 : + is_compiled=case01.execute(oai, user, pw, host,logfile,logdir,debug,timeout) + +if is_compiled != 0 : case02.execute(oai, user, pw, host, logfile,logdir,debug) case03.execute(oai, user, pw, host, logfile,logdir,debug) case04.execute(oai, user, pw, host, logfile,logdir,debug) - #case05.execute(oai, user, pw, host, logfile,logdir,debug) + case05.execute(oai, user, pw, host, logfile,logdir,debug) else : print 'Compilation error: skip test case 02,03,04,05' diff --git a/targets/build_oai.bash b/targets/build_oai.bash index f2af775341d84f44433cac04e8ce3560cfe63d97..89ca4705cca4182dc2884b4457226b0c52c64544 100755 --- a/targets/build_oai.bash +++ b/targets/build_oai.bash @@ -737,18 +737,17 @@ case "$BUILD_LTE" in build_enb ;; 'EPC') - echo_warning "build EPC(MME and xGW): Experimental" + echo_success "build EPC(MME and xGW)" build_epc ;; 'HSS') - echo_warning "BUILD_LTE: $BUILD_LTE" - echo_warning "build HSS: Experimental" - build_hss - ;; + echo_success "build HSS" + build_hss + ;; 'NONE') - ;; + ;; *) - ;; + ;; esac # Additional operation @@ -757,25 +756,25 @@ esac # Generate doxygen documentation ############################################ - if [ $DOXYGEN = 1 ]; then - echo_info "9. Generate doxygen documentation ..." - doxygen $OPENAIR_TARGETS/DOCS/Doxyfile - echo_info "9.1 use your navigator to open $OPENAIR_TARGETS/DOCS/html/index.html " - else - echo_info "9. Bypassing doxygen documentation ..." - fi +if [ $DOXYGEN = 1 ]; then + echo_info "9. Generate doxygen documentation ..." + doxygen $OPENAIR_TARGETS/DOCS/Doxyfile + echo_info "9.1 use your navigator to open $OPENAIR_TARGETS/DOCS/html/index.html " +else + echo_info "9. Bypassing doxygen documentation ..." +fi ############################################ # testing ############################################ - if [ $OAI_TEST -eq 1 ]; then - echo_info "10. Testing ..." - python $OPENAIR_TARGETS/TEST/OAI/test01.py - else - echo_info "10. Bypassing the Tests ..." - fi +if [ $OAI_TEST -eq 1 ]; then + echo_info "10. Running OAI pre commit tests (pre-ci) ..." + python $OPENAIR_TARGETS/TEST/OAI/test01.py -l +else + echo_info "10. Bypassing the Tests ..." +fi ############################################ # run