@@ -210,10 +210,11 @@ def _reset_logging(self, stream):
210210 @staticmethod
211211 def _make_configuration_instance (testcase , configuration_to_make ):
212212 from mig .shared .conf import RuntimeConfiguration , \
213- get_configuration_object , \
214- is_configuration_like
215- if is_configuration_like (configuration_to_make ):
216- return configuration_to_make
213+ get_configuration_object
214+ if configuration_to_make == 'preexisting' :
215+ configuration = testcase ._configuration
216+ assert isinstance (configuration , RuntimeConfiguration )
217+ return configuration
217218 elif configuration_to_make == 'fakeconfig' :
218219 fake_configuration = FakeConfiguration (logger = testcase .logger )
219220 return RuntimeConfiguration (fake_configuration )
@@ -233,14 +234,17 @@ def _provide_configuration(self):
233234 def configuration (self ):
234235 """Init a fake configuration if not already done"""
235236
236- if self ._configuration is not None :
237- return self ._configuration
238-
239237 configuration_to_make = self ._provide_configuration ()
240238
241239 if configuration_to_make == 'unspecified' :
242240 raise AssertionError (
243241 "configuration access but testcase did not request it" )
242+ elif configuration_to_make == 'preexisting' :
243+ # unconditionally proceed so as to be certain that a valid
244+ # configuration has been supplied and get it instrumented
245+ pass
246+ elif self ._configuration is not None :
247+ return self ._configuration
244248
245249 configuration_instance = self ._make_configuration_instance (
246250 self , configuration_to_make )
0 commit comments