@@ -179,13 +179,7 @@ def install_set_up_tear_down_functions
179179 end
180180 end
181181
182- def run ( options = { } )
183- only = options [ :only ]
184- only_capabilities = options [ :only_capabilities ]
185- exclude = options [ :exclude ]
186- exclude_capabilities = options [ :exclude_capabilities ]
187- expected_failures = options [ :expected_failures ] || [ ]
188-
182+ def run ( config )
189183 initialize_suite
190184 install_set_up_tear_down_functions
191185 ensure_placeholders_are_valid
@@ -197,17 +191,22 @@ def run(options = {})
197191 "(run-suite suite_name suite_version root-capability only_tests only_capabilities exclude exclude_capabilities expected_failures)" ,
198192 suite_name : @suite_name ,
199193 suite_version : @suite_version ,
200- only_tests : only ,
201- only_capabilities : only_capabilities ,
202- exclude : exclude ,
203- exclude_capabilities : exclude_capabilities ,
204- expected_failures : expected_failures
194+ only_tests : config . only_tests ,
195+ only_capabilities : config . only_capabilities ,
196+ exclude : config . exclude ,
197+ exclude_capabilities : config . exclude_capabilities ,
198+ expected_failures : config . expected_failures || [ ]
205199 )
206200 end
201+
202+ class Config
203+ attr_accessor :only_tests , :only_capabilities , :exclude , :exclude_capabilities , :expected_failures
204+ end
207205end
208206
209207def suite ( file_name , &block )
208+ config = PortsSuite ::Config . new
210209 obj = PortsSuite . new ( file_name )
211- obj . instance_eval ( &block )
212- obj . run
210+ obj . instance_exec ( config , &block )
211+ obj . run ( config )
213212end
0 commit comments