summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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")