@@ -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