From 31b28b31fa5a0452cb9d5f7eee88eebfebe5b4d1 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 24 May 2023 15:20:59 +0900 Subject: [ruby/csv] Support RJIT (https://github.com/ruby/csv/pull/281) In Ruby 3.3, MJIT is replaced with RJIT. https://github.com/ruby/csv/commit/cc6b47a4a7 --- test/csv/parse/test_general.rb | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'test') 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") -- cgit v1.2.3