diff options
Diffstat (limited to 'test/csv/parse/test_general.rb')
-rw-r--r-- | test/csv/parse/test_general.rb | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/test/csv/parse/test_general.rb b/test/csv/parse/test_general.rb index 48e68d3392..a565ff2ef8 100644 --- a/test/csv/parse/test_general.rb +++ b/test/csv/parse/test_general.rb @@ -323,15 +323,22 @@ line,5,jkl end private - def assert_parse_errors_out(data, **options) + + { + "YJIT"=>1, # for --yjit-call-threshold=1 + "MJIT"=>5, "RJIT"=>5, # for --jit-wait + }.any? do |jit, timeout| + if (RubyVM.const_defined?(jit) and + jit = RubyVM.const_get(jit) and + jit.respond_to?(:enabled?) and + jit.enabled?) + PARSE_ERROR_TIMEOUT = timeout + end + end + PARSE_ERROR_TIMEOUT ||= 0.2 + + def assert_parse_errors_out(data, timeout: PARSE_ERROR_TIMEOUT, **options) assert_raise(CSV::MalformedCSVError) do - timeout = 0.2 - if defined?(RubyVM::YJIT.enabled?) and RubyVM::YJIT.enabled? - timeout = 1 # for --yjit-call-threshold=1 - end - if defined?(RubyVM::RJIT.enabled?) and RubyVM::RJIT.enabled? - timeout = 5 # for --jit-wait - end Timeout.timeout(timeout) do CSV.parse(data, **options) fail("Parse didn't error out") |