fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/41946?usp=email )
Change subject: fake_trx: reset settings on CMD POWEROFF ......................................................................
fake_trx: reset settings on CMD POWEROFF
When running ttcn3-bts-test, parameters such as SETTA, FAKE_RSSI, FAKE_TOA, and others may persist across testcases if not explicitly reset, leading to unintended cross-test interference.
Reset all transceiver settings on CMD POWEROFF to ensure proper test isolation and predictable behavior between testcases.
Change-Id: I5c58bc684acc7a58d7aa940bb2ae7597d4a282f2 (cherry picked from commit 754d5ebb1e120e661fd3b1e025abfc5b5216ac80) --- M src/target/trx_toolkit/fake_trx.py M src/target/trx_toolkit/transceiver.py 2 files changed, 14 insertions(+), 2 deletions(-)
Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved; Verified
diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py index 7dc80d1..1aba866 100755 --- a/src/target/trx_toolkit/fake_trx.py +++ b/src/target/trx_toolkit/fake_trx.py @@ -116,7 +116,12 @@ CI_NOISE_DEFAULT = -30
def __init__(self, *trx_args, **trx_kwargs): - Transceiver.__init__(self, *trx_args, **trx_kwargs) + super().__init__(*trx_args, **trx_kwargs) + self.reset_params() + + def reset_params(self): + """ Reset/initialize all parameters """ + super().reset_params()
# fake RSSI is disabled by default, only enabled through TRXC FAKE_RSSI. # When disabled, RSSI is calculated based on Tx power and Rx path loss diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py index ffd18ab..d0ff955 100644 --- a/src/target/trx_toolkit/transceiver.py +++ b/src/target/trx_toolkit/transceiver.py @@ -205,6 +205,13 @@ log.info("(%s) Frequency hopping disabled" % self) self.fh = None
+ def reset_params(self): + """ Reset/initialize all parameters """ + self.running = False + self._rx_freq = None + self._tx_freq = None + self.disable_fh() + # To be overwritten if required, # no custom command handlers by default def ctrl_cmd_handler(self, request): @@ -220,7 +227,7 @@ for trx in trx_list: trx.running = poweron if not poweron: - trx.disable_fh() + trx.reset_params()
# Trigger clock generator if required if self.clck_gen is not None: