From e592de80561377fdbf87b0822d2ff1f7098c0bf0 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Mon, 15 Jun 2020 17:01:16 +0200 Subject: [PATCH] srs: Convert additional_args attr to list to allow combining different params Change-Id: I4b371332cd6fbe11b98c85c79a6f8fdcc776a57b --- src/osmo_gsm_tester/obj/enb.py | 2 +- src/osmo_gsm_tester/obj/enb_srs.py | 4 +++- src/osmo_gsm_tester/obj/ms_srs.py | 5 ++++- sysmocom/scenarios/mod-enb-args@.conf | 3 ++- sysmocom/scenarios/mod-modem-args@.conf | 3 ++- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index b221cb9b..4a151d7d 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -34,7 +34,7 @@ def on_register_schemas(): 'rx_gain': schema.UINT, 'rf_dev_type': schema.STR, 'rf_dev_args': schema.STR, - 'additional_args': schema.STR, + 'additional_args[]': schema.STR, 'enable_measurements': schema.BOOL_STR, 'a1_report_type': schema.STR, 'a1_report_value': schema.INT, diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index 9dc81136..1b231726 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -176,7 +176,9 @@ class srsENB(enb.eNodeB): self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false')) config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap})) - self._additional_args = values['enb'].get('additional_args', '').split() + self._additional_args = [] + for add_args in values['enb'].get('additional_args', []): + self._additional_args += add_args.split() # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 3aa6b0a0..62416854 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -35,7 +35,7 @@ def on_register_schemas(): 'rf_dev_type': schema.STR, 'rf_dev_args': schema.STR, 'num_carriers': schema.UINT, - 'additional_args': schema.STR, + 'additional_args[]': schema.STR, 'airplane_t_on_ms': schema.INT, 'airplane_t_off_ms': schema.INT, 'tx_gain': schema.UINT, @@ -231,6 +231,9 @@ class srsUE(MS): config.overlay(values, dict(ue={'enable_pcap': self.enable_pcap})) self._additional_args = values['ue'].get('additional_args', '').split() + for add_args in values['ue'].get('additional_args', []): + self._additional_args += add_args.split() + self.num_carriers = int(values['ue'].get('num_carriers', 1)) diff --git a/sysmocom/scenarios/mod-enb-args@.conf b/sysmocom/scenarios/mod-enb-args@.conf index a758d011..3e09a998 100644 --- a/sysmocom/scenarios/mod-enb-args@.conf +++ b/sysmocom/scenarios/mod-enb-args@.conf @@ -1,3 +1,4 @@ modifiers: enb: - - additional_args: ${param1} + - additional_args: + - ${param1} diff --git a/sysmocom/scenarios/mod-modem-args@.conf b/sysmocom/scenarios/mod-modem-args@.conf index dde7796b..2ec08349 100644 --- a/sysmocom/scenarios/mod-modem-args@.conf +++ b/sysmocom/scenarios/mod-modem-args@.conf @@ -1,3 +1,4 @@ modifiers: modem: - - additional_args: ${param1} + - additional_args: + - ${param1}