Skip to content

Commit b400cc7

Browse files
author
Kamil Vojanec
committed
pytest_plugins: extract fixture spirent_config_default_dir
The extracted fixture is used to specifiy the spirent configuration directory.
1 parent 06932d3 commit b400cc7

File tree

1 file changed

+27
-3
lines changed
  • lbr_testsuite/_pytest_plugins/generators/spirent

1 file changed

+27
-3
lines changed

lbr_testsuite/_pytest_plugins/generators/spirent/plugin.py

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,30 @@ def spirent_config_suffix(request, generator):
7070

7171

7272
@fixture(scope="module")
73-
def spirent(request, generator, spirent_config_suffix):
73+
def spirent_config_default_dir(request):
74+
"""Default spirent config file directory.
75+
76+
If not overriden, returns the directory from which
77+
the fixture was invoked (i.e. the test module directory).
78+
79+
Parameters
80+
----------
81+
request : pytest.FixtureRequest
82+
Special pytest fixture, here used to obtain caller
83+
test module.
84+
85+
Returns
86+
-------
87+
Path
88+
Path to the default directory where spirent configuration
89+
files are stored.
90+
"""
91+
92+
return request.node.path.parent.resolve()
93+
94+
95+
@fixture(scope="module")
96+
def spirent(generator, spirent_config_suffix, spirent_config_default_dir):
7497
"""Fixture representing spirent.
7598
7699
Parameters
@@ -79,6 +102,8 @@ def spirent(request, generator, spirent_config_suffix):
79102
An initialized instance of Spirent generator.
80103
spirent_config_suffix : str (fixture)
81104
Spirent configuration file suffix for used spirent port.
105+
spirent_config_default_dir : Path (fixture)
106+
Directory where spirent configuration files are stored.
82107
83108
Returns
84109
-------
@@ -90,8 +115,7 @@ def spirent(request, generator, spirent_config_suffix):
90115
assert isinstance(generator, lbrt_spirent.Spirent)
91116

92117
cfg_file_name = f"{DEFAULT_CONFIG_FILENAME_BASE}{spirent_config_suffix}.xml"
93-
cfg_dir = request.node.path.parent.resolve()
94-
default_configuration_file = str(cfg_dir / cfg_file_name)
118+
default_configuration_file = str(spirent_config_default_dir / cfg_file_name)
95119
generator.set_config_file(default_configuration_file)
96120

97121
return generator

0 commit comments

Comments
 (0)