mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
* few bug fixes in MAC and PHICH HARQ SF mapping
* update the pre-ci testes git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6496 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
};
|
||||
/*
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,43 @@ 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)
|
||||
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 -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 > ' + 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)
|
||||
|
||||
tee = ' 2>&1 | tee ' + trace
|
||||
oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500)
|
||||
except log.err, e:
|
||||
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
||||
else:
|
||||
log.ok(case, test, name, conf, '', logfile)
|
||||
|
||||
|
||||
try:
|
||||
log.start()
|
||||
test = '04'
|
||||
name = 'Run oai.rel8.phy.rrc'
|
||||
diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels'
|
||||
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 -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:
|
||||
@@ -161,22 +138,6 @@ def execute(oai, user, pw, host, logfile,logdir,debug):
|
||||
try:
|
||||
log.start()
|
||||
test = '05'
|
||||
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'
|
||||
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)
|
||||
except log.err, e:
|
||||
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
||||
else:
|
||||
log.ok(case, test, name, conf, '', logfile)
|
||||
|
||||
try:
|
||||
log.start()
|
||||
test = '06'
|
||||
name = 'Run oai.rel8.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)
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user