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.org
Review 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>