summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-05-24 15:20:59 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-05-25 01:44:17 +0900
commit31b28b31fa5a0452cb9d5f7eee88eebfebe5b4d1 (patch)
tree7c2501c1b3484ef853c3f1633bcde189ba10d4e9
parent38ef537ce058fd994b776ad82c735d9d3eaf6d29 (diff)
[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
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7851
-rw-r--r--test/csv/parse/test_general.rb23
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")