This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Pau Espin Pedrol gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/2915 Use a subdir of run_dir for each test Processes created have the scope of the test, so we should store everything in a per-suite_run/per-test directory, otherwise everything is stored in the same trial run_dir directory and it's really messy. We pass a test object instead of a suite_run object to all the classes requiring to store something on disk. Change-Id: I06be2dd21710e14c1337d13b1fe6c2f68f037957 --- M src/osmo_gsm_tester/bts_osmotrx.py M src/osmo_gsm_tester/bts_sysmo.py M src/osmo_gsm_tester/osmo_bsc.py M src/osmo_gsm_tester/osmo_hlr.py M src/osmo_gsm_tester/osmo_mgcpgw.py M src/osmo_gsm_tester/osmo_msc.py M src/osmo_gsm_tester/osmo_nitb.py M src/osmo_gsm_tester/osmo_stp.py M src/osmo_gsm_tester/pcap_recorder.py M src/osmo_gsm_tester/suite.py 10 files changed, 90 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/15/2915/1 diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py index 7d12c85..7ebe6cc 100644 --- a/src/osmo_gsm_tester/bts_osmotrx.py +++ b/src/osmo_gsm_tester/bts_osmotrx.py @@ -22,7 +22,7 @@ from . import log, config, util, template, process, event_loop class OsmoBtsTrx(log.Origin): - suite_run = None + test = None bsc = None run_dir = None inst = None @@ -35,9 +35,9 @@ CONF_BTS_TRX = 'osmo-bts-trx.cfg' - def __init__(self, suite_run, conf): + def __init__(self, test, conf): super().__init__(log.C_RUN, OsmoBtsTrx.BIN_BTS_TRX) - self.suite_run = suite_run + self.test = test self.conf = conf self.env = {} @@ -48,13 +48,13 @@ def start(self): if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') - self.suite_run.poll() + self.test.suite_run.poll() self.log('Starting to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(OsmoBtsTrx.BIN_BTS_TRX))) + self.inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst(OsmoBtsTrx.BIN_BTS_TRX))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise RuntimeError('No lib/ in %r' % self.inst) @@ -68,7 +68,7 @@ '-c', os.path.abspath(self.config_file), '-i', self.bsc.addr()) #self.launch_process(OsmoBtsTrx.BIN_PCU, '-r', '1') - self.suite_run.poll() + self.test.suite_run.poll() def trx_ready(self): if not self.proc_trx or not self.proc_trx.is_running: @@ -83,7 +83,7 @@ proc = process.Process(binary_name, run_dir, (binary,) + args, env=self.env) - self.suite_run.remember_to_stop(proc) + self.test.suite_run.remember_to_stop(proc) proc.launch() return proc @@ -94,7 +94,7 @@ self.dbg(config_file=self.config_file) values = dict(osmo_bts_trx=config.get_defaults('osmo_bts_trx')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(osmo_bts_trx=dict(oml_remote_ip=self.bsc.addr()))) config.overlay(values, dict(osmo_bts_trx=self.conf)) diff --git a/src/osmo_gsm_tester/bts_sysmo.py b/src/osmo_gsm_tester/bts_sysmo.py index 30fff0e..b48fa09 100644 --- a/src/osmo_gsm_tester/bts_sysmo.py +++ b/src/osmo_gsm_tester/bts_sysmo.py @@ -22,7 +22,7 @@ from . import log, config, util, template, process class SysmoBts(log.Origin): - suite_run = None + test = None bsc = None run_dir = None inst = None @@ -34,9 +34,9 @@ BTS_SYSMO_BIN = 'osmo-bts-sysmo' BTS_SYSMO_CFG = 'osmo-bts-sysmo.cfg' - def __init__(self, suite_run, conf): + def __init__(self, test, conf): super().__init__(log.C_RUN, self.BTS_SYSMO_BIN) - self.suite_run = suite_run + self.test = test self.conf = conf self.remote_env = {} self.remote_user = 'root' @@ -45,10 +45,10 @@ if self.bsc is None: raise RuntimeError('BTS needs to be added to a BSC or NITB before it can be started') log.log('Starting sysmoBTS to connect to', self.bsc) - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() - self.inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst(SysmoBts.BTS_SYSMO_BIN))) + self.inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst(SysmoBts.BTS_SYSMO_BIN))) lib = self.inst.child('lib') if not os.path.isdir(lib): raise log.Error('No lib/ in', self.inst) @@ -95,7 +95,7 @@ def launch_remote(self, name, popen_args, remote_cwd=None): proc = self._process_remote(name, popen_args, remote_cwd) - self.suite_run.remember_to_stop(proc) + self.test.suite_run.remember_to_stop(proc) proc.launch() def run_local(self, name, popen_args): @@ -118,7 +118,7 @@ self.dbg(config_file=self.config_file) values = { 'osmo_bts_sysmo': config.get_defaults('osmo_bts_sysmo') } - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, { 'osmo_bts_sysmo': { 'oml_remote_ip': self.bsc.addr() } }) config.overlay(values, { 'osmo_bts_sysmo': self.conf }) diff --git a/src/osmo_gsm_tester/osmo_bsc.py b/src/osmo_gsm_tester/osmo_bsc.py index 5447118..19a9988 100644 --- a/src/osmo_gsm_tester/osmo_bsc.py +++ b/src/osmo_gsm_tester/osmo_bsc.py @@ -23,29 +23,29 @@ from . import log, util, config, template, process, osmo_ctrl, pcap_recorder class OsmoBsc(log.Origin): - suite_run = None + test = None ip_address = None run_dir = None config_file = None process = None bts = None - def __init__(self, suite_run, msc, ip_address): + def __init__(self, test, msc, ip_address): super().__init__(log.C_RUN, 'osmo-bsc_%s' % ip_address.get('addr')) - self.suite_run = suite_run + self.test = test self.ip_address = ip_address self.bts = [] self.msc = msc def start(self): self.log('Starting osmo-bsc') - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() # NOTE: While OsmoMSC and OsmoBSC live in the same git repository, the # osmo-msc build will also provide the OsmoBSC binary. As soon as the # repositories are separate, there shall be a separate artifact. - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-msc'))) + inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-bsc') if not os.path.isfile(binary): @@ -55,7 +55,7 @@ raise RuntimeError('No lib/ in %r' % inst) iface = util.ip_to_iface(self.addr()) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface, + pcap_recorder.PcapRecorder(self.test, self.run_dir.new_dir('pcap'), iface, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -65,7 +65,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -73,7 +73,7 @@ self.dbg(config_file=self.config_file) values = dict(bsc=config.get_defaults('bsc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(bsc=dict(ip_address=self.ip_address))) bts_list = [] diff --git a/src/osmo_gsm_tester/osmo_hlr.py b/src/osmo_gsm_tester/osmo_hlr.py index 110faa5..817ca09 100644 --- a/src/osmo_gsm_tester/osmo_hlr.py +++ b/src/osmo_gsm_tester/osmo_hlr.py @@ -24,25 +24,25 @@ from . import log, util, config, template, process, osmo_ctrl, pcap_recorder class OsmoHlr(log.Origin): - suite_run = None + test = None ip_address = None run_dir = None config_file = None process = None next_subscriber_id = 1 - def __init__(self, suite_run, ip_address): + def __init__(self, test, ip_address): super().__init__(log.C_RUN, 'osmo-hlr_%s' % ip_address.get('addr')) - self.suite_run = suite_run + self.test = test self.ip_address = ip_address self.bts = [] def start(self): self.log('Starting osmo-hlr') - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-hlr'))) + inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst('osmo-hlr'))) binary = inst.child('bin', 'osmo-hlr') if not os.path.isfile(binary): @@ -59,7 +59,7 @@ self.run_local('create_hlr_db', ('/bin/sh', '-c', 'sqlite3 %r < %r' % (self.db_file, sql_input))) iface = util.ip_to_iface(self.addr()) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface, + pcap_recorder.PcapRecorder(self.test, self.run_dir.new_dir('pcap'), iface, 'host %s' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -70,7 +70,7 @@ '-c', os.path.abspath(self.config_file), '--database', self.db_file), env=env) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -78,7 +78,7 @@ self.dbg(config_file=self.config_file) values = dict(hlr=config.get_defaults('hlr')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(hlr=dict(ip_address=self.ip_address))) self.dbg('HLR CONFIG:\n' + pprint.pformat(values)) @@ -115,7 +115,7 @@ def subscriber_add(self, modem, msisdn=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.test.suite_run.resources_pool.next_msisdn(modem) modem.set_msisdn(msisdn) subscriber_id = self.next_subscriber_id self.next_subscriber_id += 1 diff --git a/src/osmo_gsm_tester/osmo_mgcpgw.py b/src/osmo_gsm_tester/osmo_mgcpgw.py index b385274..7939ef3 100644 --- a/src/osmo_gsm_tester/osmo_mgcpgw.py +++ b/src/osmo_gsm_tester/osmo_mgcpgw.py @@ -23,24 +23,24 @@ from . import log, util, config, template, process, osmo_ctrl, pcap_recorder class OsmoMgcpgw(log.Origin): - suite_run = None + test = None ip_address = None run_dir = None config_file = None process = None - def __init__(self, suite_run, ip_address, bts_ip): + def __init__(self, test, ip_address, bts_ip): super().__init__(log.C_RUN, 'osmo-mgcpgw_%s' % ip_address.get('addr')) - self.suite_run = suite_run + self.test = test self.ip_address = ip_address # hack: so far mgcpgw needs one specific BTS IP. self.bts_ip = bts_ip def start(self): self.log('Starting osmo-mgcpgw') - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-msc'))) + inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-bsc_mgcp') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -49,7 +49,7 @@ raise RuntimeError('No lib/ in %r' % inst) iface = util.ip_to_iface(self.addr()) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface, + pcap_recorder.PcapRecorder(self.test, self.run_dir.new_dir('pcap'), iface, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -59,7 +59,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -67,7 +67,7 @@ self.dbg(config_file=self.config_file) values = dict(mgcpgw=config.get_defaults('mgcpgw')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(mgcpgw=dict(ip_address=self.ip_address, bts_ip=self.bts_ip))) self.dbg('MGCPGW CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/osmo_msc.py index d265e36..7b89874 100644 --- a/src/osmo_gsm_tester/osmo_msc.py +++ b/src/osmo_gsm_tester/osmo_msc.py @@ -23,7 +23,7 @@ from . import log, util, config, template, process, osmo_ctrl, pcap_recorder, smsc class OsmoMsc(log.Origin, smsc.Smsc): - suite_run = None + test = None ip_address = None run_dir = None config_file = None @@ -31,19 +31,19 @@ hlr = None config = None - def __init__(self, suite_run, hlr, mgcpgw, ip_address): + def __init__(self, test, hlr, mgcpgw, ip_address): log.Origin.__init__(self, log.C_RUN, 'osmo-msc_%s' % ip_address.get('addr')) smsc.Smsc.__init__(self, (ip_address.get('addr'), 2775)) - self.suite_run = suite_run + self.test = test self.ip_address = ip_address self.hlr = hlr self.mgcpgw = mgcpgw def start(self): self.log('Starting osmo-msc') - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-msc'))) + inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-msc') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -52,7 +52,7 @@ raise RuntimeError('No lib/ in %r' % inst) iface = util.ip_to_iface(self.addr()) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface, + pcap_recorder.PcapRecorder(self.test, self.run_dir.new_dir('pcap'), iface, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -62,7 +62,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -70,7 +70,7 @@ self.dbg(config_file=self.config_file) values = dict(msc=config.get_defaults('msc')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(msc=dict(ip_address=self.ip_address))) config.overlay(values, self.mgcpgw.conf_for_msc()) config.overlay(values, self.hlr.conf_for_msc()) diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/osmo_nitb.py index d18fc1a..d2c8fc5 100644 --- a/src/osmo_gsm_tester/osmo_nitb.py +++ b/src/osmo_gsm_tester/osmo_nitb.py @@ -24,25 +24,25 @@ from . import log, util, config, template, process, osmo_ctrl, pcap_recorder, smsc class OsmoNitb(log.Origin, smsc.Smsc): - suite_run = None + test = None ip_address = None run_dir = None config_file = None process = None bts = None - def __init__(self, suite_run, ip_address): + def __init__(self, test, ip_address): log.Origin.__init__(self, log.C_RUN, 'osmo-nitb_%s' % ip_address.get('addr')) smsc.Smsc.__init__(self, (ip_address.get('addr'), 2775)) - self.suite_run = suite_run + self.test = test self.ip_address = ip_address self.bts = [] def start(self): self.log('Starting osmo-nitb') - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-nitb'))) + inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst('osmo-nitb'))) binary = inst.child('bin', 'osmo-nitb') if not os.path.isfile(binary): raise RuntimeError('Binary missing: %r' % binary) @@ -51,7 +51,7 @@ raise RuntimeError('No lib/ in %r' % inst) iface = util.ip_to_iface(self.addr()) - pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface, + pcap_recorder.PcapRecorder(self.test, self.run_dir.new_dir('pcap'), iface, 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -61,7 +61,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -69,7 +69,7 @@ self.dbg(config_file=self.config_file) values = dict(nitb=config.get_defaults('nitb')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(nitb=dict(ip_address=self.ip_address))) bts_list = [] @@ -103,7 +103,7 @@ def subscriber_add(self, modem, msisdn=None): if msisdn is None: - msisdn = self.suite_run.resources_pool.next_msisdn(modem) + msisdn = self.test.suite_run.resources_pool.next_msisdn(modem) modem.set_msisdn(msisdn) self.log('Add subscriber', msisdn=msisdn, imsi=modem.imsi()) OsmoNitbCtrl(self).subscriber_add(modem.imsi(), msisdn, modem.ki()) diff --git a/src/osmo_gsm_tester/osmo_stp.py b/src/osmo_gsm_tester/osmo_stp.py index f1ad6fc..930d5cc 100644 --- a/src/osmo_gsm_tester/osmo_stp.py +++ b/src/osmo_gsm_tester/osmo_stp.py @@ -23,25 +23,25 @@ from . import log, util, config, template, process, pcap_recorder class OsmoStp(log.Origin): - suite_run = None + test = None ip_address = None run_dir = None config_file = None process = None - def __init__(self, suite_run, ip_address): + def __init__(self, test, ip_address): super().__init__(log.C_RUN, 'osmo-stp_%s' % ip_address.get('addr')) - self.suite_run = suite_run + self.test = test self.ip_address = ip_address def start(self): self.log('Starting osmo-stp') - self.run_dir = util.Dir(self.suite_run.trial.get_run_dir().new_dir(self.name())) + self.run_dir = util.Dir(self.test.get_run_dir().new_dir(self.name())) self.configure() # NOTE: libosmo-sccp provides osmo-stp and is built as a dependency of # OsmoMSC. - inst = util.Dir(os.path.abspath(self.suite_run.trial.get_inst('osmo-msc'))) + inst = util.Dir(os.path.abspath(self.test.suite_run.trial.get_inst('osmo-msc'))) binary = inst.child('bin', 'osmo-stp') if not os.path.isfile(binary): @@ -52,7 +52,7 @@ # TODO: osmo-stp is not yet configurable to a specific IP address #iface = util.ip_to_iface(self.addr()) - #pcap_recorder.PcapRecorder(self.suite_run, self.run_dir.new_dir('pcap'), iface, + #pcap_recorder.PcapRecorder(self.test, self.run_dir.new_dir('pcap'), iface, # 'host %s and port not 22' % self.addr()) env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } @@ -62,7 +62,7 @@ (binary, '-c', os.path.abspath(self.config_file)), env=env) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def configure(self): @@ -70,7 +70,7 @@ self.dbg(config_file=self.config_file) values = dict(stp=config.get_defaults('stp')) - config.overlay(values, self.suite_run.config()) + config.overlay(values, self.test.suite_run.config()) config.overlay(values, dict(stp=dict(ip_address=self.ip_address))) self.dbg('STP CONFIG:\n' + pprint.pformat(values)) diff --git a/src/osmo_gsm_tester/pcap_recorder.py b/src/osmo_gsm_tester/pcap_recorder.py index 398ec6c..be08ccb 100644 --- a/src/osmo_gsm_tester/pcap_recorder.py +++ b/src/osmo_gsm_tester/pcap_recorder.py @@ -26,13 +26,13 @@ class PcapRecorder(log.Origin): - def __init__(self, suite_run, run_dir, iface=None, filters=''): + def __init__(self, test, run_dir, iface=None, filters=''): self.iface = iface if not self.iface: self.iface = "any" self.filters = filters super().__init__(log.C_RUN, 'pcap-recorder_%s' % self.iface, filters=self.filters) - self.suite_run = suite_run + self.test = test self.run_dir = run_dir self.start() @@ -44,7 +44,7 @@ '-i', self.iface, '-w', dumpfile, self.filters)) - self.suite_run.remember_to_stop(self.process) + self.test.suite_run.remember_to_stop(self.process) self.process.launch() def running(self): diff --git a/src/osmo_gsm_tester/suite.py b/src/osmo_gsm_tester/suite.py index 979c30f..33a1b35 100644 --- a/src/osmo_gsm_tester/suite.py +++ b/src/osmo_gsm_tester/suite.py @@ -76,6 +76,8 @@ PASS = 'pass' FAIL = 'FAIL' + _run_dir = None + def __init__(self, suite_run, test_basename): self.basename = test_basename super().__init__(log.C_TST, self.basename) @@ -86,6 +88,11 @@ self.duration = 0 self.fail_type = None self.fail_message = None + + def get_run_dir(self): + if self._run_dir is None: + self._run_dir = util.Dir(self.suite_run.get_run_dir().new_dir(self._name)) + return self._run_dir def run(self): try: @@ -165,6 +172,7 @@ _resource_requirements = None _config = None _processes = None + _run_dir = None def __init__(self, trial, suite_scenario_str, suite_definition, scenarios=[]): super().__init__(log.C_TST, suite_scenario_str) @@ -209,6 +217,11 @@ config.combine(combination, c) return combination + def get_run_dir(self): + if self._run_dir is None: + self._run_dir = util.Dir(self.trial.get_run_dir().new_dir(self.name())) + return self._run_dir + def resource_requirements(self): if self._resource_requirements is None: self._resource_requirements = self.combined('resources') @@ -236,6 +249,7 @@ if names and not test.name() in names: test.set_skip() continue + self.current_test = test test.run() self.stop_processes() self.objects_cleanup() @@ -304,35 +318,35 @@ def nitb(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_nitb.OsmoNitb(self, ip_address) + return osmo_nitb.OsmoNitb(self.current_test, ip_address) def hlr(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_hlr.OsmoHlr(self, ip_address) + return osmo_hlr.OsmoHlr(self.current_test, ip_address) def mgcpgw(self, ip_address=None, bts_ip=None): if ip_address is None: ip_address = self.ip_address() - return osmo_mgcpgw.OsmoMgcpgw(self, ip_address, bts_ip) + return osmo_mgcpgw.OsmoMgcpgw(self.current_test, ip_address, bts_ip) def msc(self, hlr, mgcpgw, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_msc.OsmoMsc(self, hlr, mgcpgw, ip_address) + return osmo_msc.OsmoMsc(self.current_test, hlr, mgcpgw, ip_address) def bsc(self, msc, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_bsc.OsmoBsc(self, msc, ip_address) + return osmo_bsc.OsmoBsc(self.current_test, msc, ip_address) def stp(self, ip_address=None): if ip_address is None: ip_address = self.ip_address() - return osmo_stp.OsmoStp(self, ip_address) + return osmo_stp.OsmoStp(self.current_test, ip_address) def bts(self, specifics=None): - return bts_obj(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) + return bts_obj(self.current_test, self.reserved_resources.get(resource.R_BTS, specifics=specifics)) def modem(self, specifics=None): conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics) -- To view, visit https://gerrit.osmocom.org/2915 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I06be2dd21710e14c1337d13b1fe6c2f68f037957 Gerrit-PatchSet: 1 Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>