Project

General

Profile

Bug #3780

existing test suite doesn't catch wrong measurement processing

Added by laforge 10 months ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
02/01/2019
Due date:
% Done:

0%

Spec Reference:

Description

As we discovered in #3530 and particularly #2977, there appear to be plenty of bugs in the way how measurements are computed.

Despite us having TTCN-3 tests in BTS_Tests.ttcn that also cover measurement processing, those bugs have not been caught so far. This means there are significant (unexpected) gaps in our test coverage which should be fixed. Preferably we should have test coverage that fails before fixing any related issues.

History

#1 Updated by bican304 10 months ago

Stupid spam. Deleted. Please block this account.

#2 Updated by dexter 10 months ago

I am currently looking at what we already have. To check the measurement reporting we currently have the following tests in place:

BTS_Tests.TC_meas_res_sign_sdcch4
BTS_Tests.TC_meas_res_sign_sdcch8
BTS_Tests.TC_meas_res_sign_tchf
BTS_Tests.TC_meas_res_sign_tchh
BTS_Tests.TC_meas_res_sign_tchh_toa256

Unfortunately BTS_Tests.TC_meas_res_sign_tchf is the only one that is currently passing. I think we need to fix this first. The main reason why the tests are failing is because the measurement indications that comes back has unexpected values for rxq_f_u and rxq_s_u (see attached _expected.txt _got.txt files). The testsuite defines the tolerance range for both values as (0 .. 1), but the actual value that we get when the tests are running is 7. Technically this value may be even in the valid range but the testsuite narrows the valid range. The tests were passing before, probably the testsuite defines a correct test expectation here. We now should check how those values are computed and if this is correct.

When mp_tolerance_rxqual is set to 7, then the tests are more likely to pass, I could make them all pass instead of BTS_Tests.TC_meas_res_sign_sdcch8. However, there still seems to be a problem with other parts of the testsuite or of the iut itsself. Sometimes there is no new channel opened and the tests times out because it sees no measurement reports within a certain amount of time. From what I can see, it is not the case that there are just no measurement reports sent, there is not even a channel estabilshed. All whats there are CCCH LOAD INDications. For this see attacted trace: TC_meas_res_sign_sdcch8.pcapng.

#3 Updated by laforge 6 months ago

  • Assignee changed from dexter to Hoernchen

#4 Updated by Hoernchen 5 months ago

The issue is caused by an unexpected number of measurements (should be 3 for sddch/4) which in turn are apparently caused by lost frames, scheduler_trx.c:tx_data_fn will add a measurement with 100% BER for lost frames, and since the measurement processing code processes the newest 3 results the measurement results are impacted by one dummy report with 100% BER and fixed rx level, so the test fails.

#5 Updated by Hoernchen 5 months ago

I've removed the superfluous measurement report generation upon sdcch frame loss in https://gerrit.osmocom.org/c/osmo-bts/+/14762 - this fixes the sdcch tests, but does not explain why adding a lost report ends up with more reports, since one should be lost...
TCH/H is also broken due to 21/25 UL measurements right for the first measurement report, and only 13/25 for all following reports.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)