Skip to content

Commit 03383da

Browse files
committed
[PortsRb] Add possibility to set run options
1 parent 4acb1f8 commit 03383da

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

ports-rb/json-rfc.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
require "json"
22
require_relative "ports"
33

4-
suite "suites/json-rfc.ports" do
4+
suite "suites/json-rfc.ports" do |config|
5+
config.expected_failures = ["test_n_string_escaped_emoji.json"]
6+
57
placeholder "parse" do |_env, json_string|
68
JSON.parse(json_string)
79
rescue JSON::ParserError => e

ports-rb/ports.rb

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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
207205
end
208206

209207
def 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)
213212
end

0 commit comments

Comments
 (0)