diff --git a/targets/TEST/OAI/case13.py b/targets/TEST/OAI/case13.py index 1744bcb32c4eae8b3404ea4c952cfdaa029c9574..2148ddb52fe59f0246771081f9f21d1324b2cb29 100644 --- a/targets/TEST/OAI/case13.py +++ b/targets/TEST/OAI/case13.py @@ -49,15 +49,16 @@ NUM_eNB=1 NUM_TRIALS=3 PRB=[25,50,100] -MCS=[0,4,9,10,13,16,17,22,27] +MCS=[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28] +#MCS=[0,4,9,10,13,16,17,22,27] #PRB=[100] #MCS=[16] -ANT_TX=1 # 2 +ANT_TX=2 # 2 ANT_RX=2 # 2 CHANNEL=["N"] #CHANNEL=["C","E","F","G","H","I","L","M"] # A,B,C,D,E,F, TX_MODE=2 # 2, -MIN_SNR=0 +MIN_SNR=10 MAX_SNR=40 PERF=75 OPT="-L" @@ -69,9 +70,9 @@ FRAME=2000 def execute(oai, user, pw, host,logfile,logdir,debug,cpu): case = '10' - oai.send('cd $OPENAIR1_DIR;') - oai.send('cd SIMULATION/LTE_PHY;') - + oai.send('cd $OPENAIR_TARGETS;') + oai.send('cd bin;') + oai.send('cp ./ulsim.Rel10 ./ulsim.Rel10.'+host) try: log.start() test = '300' @@ -80,13 +81,13 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu): diag = 'ulsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' trace = logdir + '/log_' + host + case + test + '_1.txt;' tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.rel8.'+ host + ' ' + conf + tee, 'Segmentation fault', 30) + oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'Segmentation fault', 30) trace = logdir + '/log_' + host + case + test + '_2.txt;' tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.rel8.'+ host + ' ' + conf + tee, 'Exiting', 30) + oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'Exiting', 30) trace = logdir + '/log_' + host + case + test + '_3.txt;' tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.rel8.'+ host + ' ' + conf + tee, 'FATAL', 30) + oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'FATAL', 30) except log.err, e: log.fail(case, test, name, conf, e.value, diag, logfile,trace) @@ -100,42 +101,47 @@ def execute(oai, user, pw, host,logfile,logdir,debug,cpu): diag = 'no diagnostic is available, check the log file' for i in range(len(PRB)): for o in range(len(CHANNEL)): - MIN_SNR=0 + MIN_SNR=10 for j in range(len(MCS)): for m in range (1,ANT_RX): for p in range(1,TX_MODE): - for q in range(MIN_SNR,MAX_SNR): - #if if PRB[i] : - - conf = '-B' + str(PRB[i]) + ' -m'+str(MCS[j]) + ' -y'+str(m) + ' -g'+str(CHANNEL[o]) + ' -x'+str(p) + ' -s'+str(q) + ' -w1.0 -e.1 -P -n'+str(FRAME)+' -O'+str(PERF)+' '+ OPT - trace = logdir + '/time_meas' + '_prb'+str(PRB[i])+'_mcs'+ str(MCS[j])+ '_antrx' + str(m) + '_channel' +str(CHANNEL[o]) + '_tx' +str(p) + '_snr' +str(q)+'.'+case+str(test)+ '.log' - tee = ' 2>&1 | tee ' + trace - if cpu > -1 : - cmd = 'taskset -c ' + str(cpu) + ' ./ulsim.rel8.'+ host + ' ' + conf + tee - else : - cmd = './ulsim.rel8.'+ host + ' ' + conf + tee - - if debug : - print cmd + for r in range(5,PRB[i]): + for q in range(MIN_SNR,MAX_SNR): + + + if r ==7 or r ==11 or r ==14 or r == 17 or r==19 or r == 21 or r == 23 or r == 26 or r == 28 : + continue - # 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 - test+=1 - break # found the smallest snr - else : - if q == MAX_SNR -1 : - log.skip(case,str(test), name, conf,'','',logfile) + conf = '-B' + str(PRB[i]) + ' -r'+str(r) + ' -m'+str(MCS[j]) + ' -y'+str(m) + ' -g'+str(CHANNEL[o]) + ' -x'+str(p) + ' -s'+str(q) + ' -w1.0 -e.1 -P -n'+str(FRAME)+' -O'+str(PERF)+' '+ OPT + trace = logdir + '/time_meas' + '_prb'+str(PRB[i])+ '_rb'+str(r)+'_mcs'+ str(MCS[j])+ '_antrx' + str(m) + '_channel' +str(CHANNEL[o]) + '_tx' +str(p) + '_snr' +str(q)+'.'+case+str(test)+ '.log' + tee = ' 2>&1 | tee ' + trace + if cpu > -1 : + cmd = 'taskset -c ' + str(cpu) + ' ./ulsim.Rel10.'+ host + ' ' + conf + tee + else : + cmd = './ulsim.Rel10.'+ host + ' ' + conf + tee + + if debug : + print cmd + + 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 test+=1 - break - try: - if os.path.isfile(trace) : - os.remove(trace) - except OSError, e: ## if failed, report it back to the user ## - print ("Error: %s - %s." % (e.filename,e.strerror)) - + break # found the smallest snr + else : + if q == MAX_SNR -1 : + log.skip(case,str(test), name, conf,'','',logfile) + test+=1 + break + try: + if os.path.isfile(trace) : + os.remove(trace) + except OSError, e: ## if failed, report it back to the user ## + print ("Error: %s - %s." % (e.filename,e.strerror)) + except log.err, e: