diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index bfac98919e..a6ff59f3c8 100644 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1026,6 +1026,22 @@ segmentation fault|assertion|exiting|fatal 3 + + + execution + polartest test cases. + + $OPENAIR_DIR/cmake_targets/build_oai + --phy_simulators -c + $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash + + $OPENAIR_DIR/targets/bin/polartest.Rel15 + -q -s-10 -f0 + ldpctest.test1 + BLER= 0.000000 + segmentation fault|assertion|exiting|fatal + 3 + execution diff --git a/openair1/PHY/CODING/TESTBENCH/polartest.c b/openair1/PHY/CODING/TESTBENCH/polartest.c index f412be1271..c04d469d8d 100644 --- a/openair1/PHY/CODING/TESTBENCH/polartest.c +++ b/openair1/PHY/CODING/TESTBENCH/polartest.c @@ -40,7 +40,7 @@ int main(int argc, char *argv[]) { double timeEncoderCumulative = 0, timeDecoderCumulative = 0; uint8_t aggregation_level = 8, decoderListSize = 8, pathMetricAppr = 0; - while ((arguments = getopt (argc, argv, "s:d:f:m:i:l:a:h:qg")) != -1) + while ((arguments = getopt (argc, argv, "s:d:f:m:i:l:a:hqg")) != -1) switch (arguments) { case 's': @@ -83,7 +83,7 @@ int main(int argc, char *argv[]) { decoder_int16=1; break; case 'h': - printf("./polartest -s SNRstart -d SNRinc -f SNRstop -m [0=PBCH|1=DCI|2=UCI] -i iterations -l decoderListSize -a pathMetricAppr\n"); + printf("./polartest -s SNRstart -d SNRinc -f SNRstop -m [0=PBCH|1=DCI|2=UCI] -i iterations -l decoderListSize -a pathMetricAppr -q (use fixed point decoder)\n"); exit(-1); default: @@ -411,6 +411,9 @@ int main(int argc, char *argv[]) { ((double)bitErrorCumulative / (iterations*testLength)), (timeEncoderCumulative/iterations),timeDecoderCumulative/iterations); + if (blockErrorCumulative==0 && bitErrorCumulative==0) + break; + blockErrorCumulative = 0; bitErrorCumulative = 0; timeEncoderCumulative = 0; timeDecoderCumulative = 0; }