Commit bb52f714 authored by Cedric Roux's avatar Cedric Roux

- Force logs level to 7 in pre-ci

- Output logs from ping/oaisim in two distincts files
- Fix some compiler warnings
- Put assertions in some switch default cases
- Create a wrapper for macphy_exit to display FILE and LINE of the caller
- Enabled -Werror=implicit-function-declaration

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4682 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 54ada88d
......@@ -137,12 +137,12 @@ void ue_rrc_measurements(PHY_VARS_UE *phy_vars_ue,
u8 slot,
u8 abstraction_flag) {
int aarx,i,rb;
int aarx,rb;
s16 *rxF;
u16 Nid_cell = phy_vars_ue->lte_frame_parms.Nid_cell;
u8 eNB_offset,nu,l,nushift,k;
u16 off,off2;
u16 off;
s16 rx_power_correction;
......@@ -196,13 +196,10 @@ void ue_rrc_measurements(PHY_VARS_UE *phy_vars_ue,
#ifndef NEW_FFT
rxF = (s16 *)&phy_vars_ue->lte_ue_common_vars.rxdataF[aarx][(l*phy_vars_ue->lte_frame_parms.ofdm_symbol_size)<<1];
off = (phy_vars_ue->lte_frame_parms.first_carrier_offset+k)<<2;
off2 = (phy_vars_ue->lte_frame_parms.first_carrier_offset)<<2;
#else
rxF = (s16 *)&phy_vars_ue->lte_ue_common_vars.rxdataF[aarx][(l*phy_vars_ue->lte_frame_parms.ofdm_symbol_size)];
off = (phy_vars_ue->lte_frame_parms.first_carrier_offset+k)<<1;
off2 = (phy_vars_ue->lte_frame_parms.first_carrier_offset)<<1;
#endif
#endif
if (l==(4-phy_vars_ue->lte_frame_parms.Ncp)) {
for (rb=0;rb<phy_vars_ue->lte_frame_parms.N_RB_DL;rb++) {
......
......@@ -52,6 +52,7 @@
#include <tmmintrin.h>
#endif
#include "assertions.h"
//#define DEBUG_DCI_ENCODING 1
//#define DEBUG_DCI_DECODING 1
......@@ -2484,7 +2485,7 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **lte_ue_pdcch_vars,int do_common,u8 s
u16 crc,CCEind,nCCE;
u32 *CCEmap=NULL,CCEmap_mask=0;
int L2=(1<<L);
unsigned int Yk,nb_candidates,i,m;
unsigned int Yk,nb_candidates = 0,i,m;
unsigned int CCEmap_cand;
nCCE = get_nCCE(lte_ue_pdcch_vars[eNB_id]->num_pdcch_symbols,frame_parms,mi);
......@@ -2517,6 +2518,9 @@ void dci_decoding_procedure0(LTE_UE_PDCCH **lte_ue_pdcch_vars,int do_common,u8 s
case 8:
nb_candidates = 2;
break;
default:
DevParam(L2, do_common, eNB_id);
break;
}
}
/* for (CCEind=0;
......@@ -2768,6 +2772,11 @@ u16 dci_decoding_procedure(PHY_VARS_UE *phy_vars_ue,
format1_size_bytes = sizeof(DCI1_20MHz_FDD_t);
}
break;
default:
format1_size_bits = 0;
format1_size_bytes = 0;
DevParam(frame_parms->N_RB_DL, frame_type, 0);
break;
}
if (do_common == 1) {
......
......@@ -47,6 +47,8 @@
#include "SCHED/defs.h"
#endif
#include "assertions.h"
extern uint16_t RIV2nb_rb_LUT6[32];
extern uint16_t RIV2first_rb_LUT6[32];
extern uint16_t RIV2nb_rb_LUT25[512];
......@@ -100,6 +102,9 @@ int generate_eNB_ulsch_params_from_rar(unsigned char *rar_pdu,
RIV2first_rb_LUT = &RIV2first_rb_LUT100[0];
RIV_max = RIV_max100;
break;
default:
DevParam(frame_parms->N_RB_DL, harq_pid, 0);
break;
}
ulsch->harq_processes[harq_pid]->TPC = (rar[3]>>2)&7;//rar->TPC;
......@@ -181,7 +186,7 @@ int generate_ue_ulsch_params_from_rar(PHY_VARS_UE *phy_vars_ue,
uint8_t cqireq;
double sinr_eff;
uint16_t *RIV2nb_rb_LUT, *RIV2first_rb_LUT;
uint16_t RIV_max;
uint16_t RIV_max = 0;
LOG_D(PHY,"[eNB][RAPROC] Frame %d: generate_ue_ulsch_params_from_rar: subframe %d (harq_pid %d)\n",phy_vars_ue->frame,subframe,harq_pid);
......@@ -206,6 +211,9 @@ int generate_ue_ulsch_params_from_rar(PHY_VARS_UE *phy_vars_ue,
RIV2first_rb_LUT = &RIV2first_rb_LUT100[0];
RIV_max = RIV_max100;
break;
default:
DevParam(frame_parms->N_RB_DL, eNB_id, harq_pid);
break;
}
......
......@@ -63,6 +63,8 @@
#include "UTIL/LOG/vcd_signal_dumper.h"
//#endif
#include "assertions.h"
//#define DIAG_PHY
#define NS_PER_SLOT 500000
......@@ -283,7 +285,7 @@ void init_nCCE_table(void) {
int get_nCCE_offset(unsigned char L, int nCCE, int common_dci, unsigned short rnti, unsigned char subframe) {
int search_space_free,m,nb_candidates,l,i;
int search_space_free,m,nb_candidates = 0,l,i;
unsigned int Yk;
/*
printf("CCE Allocation: ");
......@@ -331,6 +333,9 @@ int get_nCCE_offset(unsigned char L, int nCCE, int common_dci, unsigned short rn
case 8:
nb_candidates = 2;
break;
default:
DevParam(L, nCCE, rnti);
break;
}
// LOG_I(PHY,"rnti %x, Yk = %d, nCCE %d (nCCE/L %d),nb_cand %d\n",rnti,Yk,nCCE,nCCE/L,nb_candidates);
......@@ -918,8 +923,6 @@ void phy_procedures_eNB_TX(unsigned char next_slot,PHY_VARS_eNB *phy_vars_eNB,u8
// s16 amp;
u8 ul_subframe;
u32 ul_frame;
int re_offset;
uint32_t *txptr;
#ifdef Rel10
MCH_PDU *mch_pduP;
MCH_PDU mch_pdu;
......@@ -1488,7 +1491,7 @@ void phy_procedures_eNB_TX(unsigned char next_slot,PHY_VARS_eNB *phy_vars_eNB,u8
pdcch_alloc2ul_subframe(&phy_vars_eNB->lte_frame_parms,next_slot>>1));
if (harq_pid==255) {
LOG_E(PHY,"[eNB %d] Frame %d: Bad harq_pid for ULSCH allocation\n",phy_vars_eNB->Mod_id,phy_vars_eNB->frame);
mac_xface->macphy_exit("");
mac_exit_wrapper("Invalid harq_pid (255) detected");
}
#ifdef OPENAIR2
UE_id = find_ue((s16)DCI_pdu->dci_alloc[i].rnti,phy_vars_eNB);
......@@ -1497,7 +1500,7 @@ void phy_procedures_eNB_TX(unsigned char next_slot,PHY_VARS_eNB *phy_vars_eNB,u8
#endif
if (UE_id<0) {
LOG_E(PHY,"[eNB %d] Frame %d: Unknown UE_id for rnti %x\n",phy_vars_eNB->Mod_id,phy_vars_eNB->frame,(s16)DCI_pdu->dci_alloc[i].rnti);
mac_xface->macphy_exit("");
mac_exit_wrapper("Invalid UE id (< 0) detected");
}
#ifdef DEBUG_PHY_PROC
if (phy_vars_eNB->frame%100 == 0)
......@@ -2484,7 +2487,8 @@ void phy_procedures_eNB_RX(unsigned char last_slot,PHY_VARS_eNB *phy_vars_eNB,u8
u32 harq_pid, round;
u8 SR_payload,*pucch_payload=NULL,pucch_payload0[2]={0,0},pucch_payload1[2]={0,0};
s16 n1_pucch0,n1_pucch1,n1_pucch2,n1_pucch3;
u8 do_SR=0,pucch_sel;
u8 do_SR = 0;
u8 pucch_sel = 0;
s16 metric0=0,metric1=0;
ANFBmode_t bundling_flag;
PUCCH_FMT_t format;
......@@ -2870,7 +2874,7 @@ void phy_procedures_eNB_RX(unsigned char last_slot,PHY_VARS_eNB *phy_vars_eNB,u8
printf("%x.",phy_vars_eNB->ulsch_eNB[i]->harq_processes[harq_pid]->c[0][j]);
printf("\n");
dump_ulsch(phy_vars_eNB,last_slot>>1,i);
mac_xface->macphy_exit("");
mac_exit_wrapper("Msg3 error");
} // This is Msg3 error
else { //normal ULSCH
LOG_D(PHY,"[eNB %d][PUSCH %d] frame %d subframe %d UE %d Error receiving ULSCH, round %d/%d (ACK %d,%d)\n",
......
......@@ -12,6 +12,7 @@
#include "assertions.h"
#include "pgm_link.h"
#include "multicast_link.h"
#include "UTIL/OCG/OCG.h"
......
......@@ -3,6 +3,7 @@
/* Define prototypes only if enabled */
#if defined(ENABLE_PGM_TRANSPORT)
void bypass_tx_nack(unsigned int frame, unsigned int next_slot);
int pgm_oai_init(char *if_name);
......
......@@ -3,7 +3,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "PHY/TOOLS/defs.h"
#include "defs.h"
......@@ -192,10 +192,14 @@ double a[7];
void load_pbch_desc(FILE *pbch_file_fd) {
int i;
int i, ret;
char dummy[25];
fscanf(pbch_file_fd,"%d",&pbch_polynomial_degree);
ret = fscanf(pbch_file_fd,"%d",&pbch_polynomial_degree);
if (ret < 0) {
printf("fscanf failed: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
if (pbch_polynomial_degree>6) {
printf("Illegal degree for pbch interpolation polynomial %d\n",pbch_polynomial_degree);
exit(-1);
......@@ -204,7 +208,11 @@ void load_pbch_desc(FILE *pbch_file_fd) {
printf("PBCH polynomial : ");
for (i=0;i<=pbch_polynomial_degree;i++) {
fscanf(pbch_file_fd,"%s",dummy);
ret = fscanf(pbch_file_fd,"%s",dummy);
if (ret < 0) {
printf("fscanf failed: %s\n", strerror(errno));
exit(EXIT_FAILURE);
}
a[i] = strtod(dummy,NULL);
printf("%f ",a[i]);
}
......
......@@ -43,6 +43,7 @@
#include "UTIL/LOG/log.h"
#include "OCG.h"
#include "OCG_extern.h"
#include "UTIL/OPT/opt.h"
#define DEBUG_RAR
......@@ -62,9 +63,9 @@ unsigned short fill_rar(u8 Mod_id,
RA_HEADER_RAPID *rarh = (RA_HEADER_RAPID *)dlsch_buffer;
// RAR_PDU *rar = (RAR_PDU *)(dlsch_buffer+1);
uint8_t *rar = (uint8_t *)(dlsch_buffer+1);
int i,ra_idx;
int i,ra_idx = -1;
uint16_t rballoc;
uint8_t mcs,TPC,cqi_req,ULdelay,cqireq;
uint8_t mcs,TPC,ULdelay,cqireq;
for (i=0;i<NB_RA_PROC_MAX;i++) {
if (eNB_mac_inst[Mod_id].RA_template[i].generate_rar == 1) {
......
......@@ -141,10 +141,10 @@ int dump_eNB_l2_stats(char *buffer, int length){
}
}
}
len += sprintf(&buffer[len],"\0");
return len;
return len + 1 /* SR: for trailing \0 */;
}
#ifdef PROC
#ifndef USER_MODE
static int openair2_stats_read(char *buffer, char **my_buffer, off_t off, int length)
......
......@@ -51,8 +51,8 @@
#define DLSCH 1
#define ULSCH 2
#define mac_exit_wrapper(sTRING) \
mac_xface->macphy_exit(sTRING " in file " __FILE__ ", line ##__LINE__")
/*! \brief MACPHY Interface */
typedef struct
......@@ -60,7 +60,7 @@ typedef struct
/// Pointer function that initializes L2
int (*macphy_init)(int eMBMS_active, u8 CBA_active,u8 HO_active);
/// Pointer function that stops the low-level scheduler due an exit condition
/// Pointer function that stops the low-level scheduler due an exit condition
void (*macphy_exit)(const char *);
// eNB functions
......@@ -71,7 +71,7 @@ typedef struct
u16 (*fill_rar)(u8 Mod_id,u32 frame,u8 *dlsch_buffer,u16 N_RB_UL, u8 input_buffer_length);
/// Terminate the RA procedure upon reception of l3msg on ulsch
void (*terminate_ra_proc)(u8 Mod_id,u32 frame,u16 UE_id, u8 *l3msg,u16 l3msg_len);
void (*terminate_ra_proc)(u8 Mod_id,u32 frame,u16 UE_id, u8 *l3msg, u16 l3msg_len);
/// Initiate the RA procedure upon reception (hypothetical) of a valid preamble
void (*initiate_ra_proc)(u8 Mod_id,u32 frame,u16 preamble,s16 timing_offset,u8 sect_id,u8 subframe,u8 f_id);
......
......@@ -910,11 +910,11 @@ void characters(void *user_data, const xmlChar *xmlch, int xmllen) { // called o
} else if (beam_width_dB_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.beam_width_dB = atof(ch);
} else if (alpha_rad_1_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[1] = atof(ch);
oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[0] = atof(ch);
} else if (alpha_rad_2_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[2] = atof(ch);
oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[1] = atof(ch);
} else if (alpha_rad_3_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[3] = atof(ch);
oai_emulation.environment_system_config.antenna.eNB_antenna.alpha_rad[2] = atof(ch);
} else if (antenna_gain_dBi_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_gain_dBi = atof(ch);
} else if (tx_power_dBm_) {
......@@ -922,11 +922,11 @@ void characters(void *user_data, const xmlChar *xmlch, int xmllen) { // called o
} else if (rx_noise_level_dB_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.rx_noise_level_dB = atof(ch);
} else if (antenna_orientation_degree_1_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[1] = atof(ch);
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[0] = atof(ch);
} else if (antenna_orientation_degree_2_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[2] = atof(ch);
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[1] = atof(ch);
} else if (antenna_orientation_degree_3_) {
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[3] = atof(ch);
oai_emulation.environment_system_config.antenna.eNB_antenna.antenna_orientation_degree[2] = atof(ch);
}
} else if (UE_antenna_) {
if (antenna_gain_dBi_) {
......
......@@ -43,6 +43,7 @@
#include "../UTIL/MATH/oml.h"
#include <math.h>
#include "otg_form.h"
#include "otg_kpi.h"
#ifdef ENABLE_DB_STATS
#include <mysql.h>
......
......@@ -18,7 +18,8 @@ COMMON_CFLAGS = \
-D'FIRMWARE_VERSION="$(SVN_REV) - $(DATE_REV)"' \
-Wall \
-fno-strict-aliasing \
-O2
-O2 \
-Werror=implicit-function-declaration
ITTI_MESSAGES_H = messages_xml.h
ITTI_MESSAGES_XML = messages.xml
......
......@@ -73,7 +73,7 @@ def execute(oai, user, pw, logfile,logdir):
try:
test = '01'
name = 'Run oai.rel8.err'
conf = '-a -A AWGN -n 100'
conf = '-a -A AWGN -n 100 -l7'
trace = logdir + '/log_' + case + test + '_3.txt;'
tee = ' 2>&1 | tee ' + trace
diag = 'Error(s) found in the execution, check the execution logs'
......@@ -90,7 +90,7 @@ def execute(oai, user, pw, logfile,logdir):
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 -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-a -A AWGN -l7 -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 50)
......@@ -106,16 +106,18 @@ def execute(oai, user, pw, logfile,logdir):
oai.driver(oai,user,pw)
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-a -A AWGN -u' + str(i+1) +' -b'+ str(j+1)
conf = '-a -A AWGN -l7 -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
trace_ping = logdir + '/log_ping_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
tee_ping = ' 2>&1 | tee ' + trace_ping
if user == 'root' :
oai.send_nowait('./oaisim.rel8.nas ' + conf + ' > /dev/null &')
oai.send_nowait('./oaisim.rel8.nas ' + conf + tee + ' &')
else :
oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas ' + conf + ' > /dev/null &')
oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas ' + conf + tee + ' &')
time.sleep(2)
for k in range(NUM_TRIALS) :
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, ' 0% packet loss', 300)
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', 300)
if user == 'root' :
oai.send('pkill oaisim;')
oai.send('pkill oaisim.rel8.nas;')
......@@ -138,7 +140,7 @@ def execute(oai, user, pw, logfile,logdir):
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) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
conf = '-A AWGN -l7 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100)
......@@ -153,7 +155,7 @@ def execute(oai, user, pw, logfile,logdir):
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 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
conf = '-A AWGN -l7 -F -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -s15 -x1'
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel8 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100)
......@@ -171,7 +173,7 @@ def execute(oai, user, pw, logfile,logdir):
log_name = logdir + '/log_' + case + test + '_' + str(i) + str(j)
itti_name = log_name + '.log'
trace_name = log_name + '.txt'
conf = '-a -A AWGN -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
conf = '-a -l7 -A AWGN -n' + str((i+1+j) * 40) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
tee = ' 2>&1 | tee -a ' + trace_name
command = './oaisim.rel8.itti ' + conf
oai.send('echo ' + command + ' > ' + trace_name + ';')
......
......@@ -53,7 +53,7 @@ def execute(oai, user, pw, logfile,logdir):
try:
test = '00'
name = 'Run oai.rel10.sf'
conf = '-a -A AWGN -n 100'
conf = '-a -A AWGN -l7 -n 100'
diag = 'OAI is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed'
trace = logdir + '/log_' + case + test + '_1.txt'
tee = ' 2>&1 | tee ' + trace
......@@ -73,7 +73,7 @@ def execute(oai, user, pw, logfile,logdir):
try:
test = '01'
name = 'Run oai.rel10.err'
conf = '-a -A AWGN -n 100'
conf = '-a -A AWGN -l7 -n 100'
trace = logdir + '/log_' + case + test + '.txt'
tee = ' 2>&1 | tee ' + trace
diag = 'Error(s) found in the execution, check the execution logs'
......@@ -90,7 +90,7 @@ def execute(oai, user, pw, logfile,logdir):
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 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-a -l7 -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100)
......@@ -105,7 +105,7 @@ def execute(oai, user, pw, logfile,logdir):
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 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-A AWGN -l7 -s 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100)
......@@ -120,7 +120,7 @@ def execute(oai, user, pw, logfile,logdir):
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 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-A AWGN -l7 -F -s 15 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100)
......@@ -135,7 +135,7 @@ def execute(oai, user, pw, logfile,logdir):
diag = 'eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs'
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-A AWGN -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-A AWGN -l7 -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Found MBSFNAreaConfiguration from eNB ' + str(j), (i+1) * 100)
......@@ -150,7 +150,7 @@ def execute(oai, user, pw, logfile,logdir):
diag = 'eMBMS multicast/broadcast data is not received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs'
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-A AWGN -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-A AWGN -l7 -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received a multicast packet', (i+1) * 100)
......@@ -165,7 +165,7 @@ def execute(oai, user, pw, logfile,logdir):
diag = 'eMBMS multicast/broadcast data is not received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs'
for i in range(NUM_UE) :
for j in range(NUM_eNB) :
conf = '-A AWGN -F -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
conf = '-A AWGN -l7 -F -s 15 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1)
trace = logdir + '/log_' + case + test + '_' + str(i) + str(j) + '.txt'
tee = ' 2>&1 | tee ' + trace
oai.send_expect('./oaisim.rel10 ' + conf + tee, ' Received a multicast packet', (i+1) * 100)
......@@ -195,7 +195,7 @@ def execute(oai, user, pw, logfile,logdir):
log_name = logdir + '/log_' + case + test + '_' + str(i) + str(j)
itti_name = log_name + '.log'
trace_name = log_name + '.txt'
conf = '-A AWGN -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
conf = '-A AWGN -l7 -s 15 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name
tee = ' 2>&1 | tee -a ' + trace_name
command = './oaisim.rel10.itti ' + conf
oai.send('echo ' + command + ' > ' + trace_name + ';')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment