Fix range of --backtrace-limit

Also an option command line should have precedence over `RUBYOPT`.
This commit is contained in:
Nobuyoshi Nakada 2023-08-11 00:29:32 +09:00
parent 92cf14b4c5
commit cc0fca2729
Notes: git 2023-08-10 16:57:09 +00:00
3 changed files with 18 additions and 9 deletions

View file

@ -84,9 +84,14 @@ class TestRubyOptions < Test::Unit::TestCase
/^\t \.{3} \d+ levels\.{3}\n/])
assert_kind_of(Integer, Thread::Backtrace.limit)
assert_in_out_err(%w(--backtrace-limit=1), "p Thread::Backtrace.limit", ['1'], [])
assert_in_out_err(%w(--backtrace-limit 1), "p Thread::Backtrace.limit", ['1'], [])
env = {"RUBYOPT" => "--backtrace-limit=5"}
assert_in_out_err([env], "p Thread::Backtrace.limit", ['5'], [])
assert_in_out_err([env, "--backtrace-limit=1"], "p Thread::Backtrace.limit", ['1'], [])
assert_in_out_err([env, "--backtrace-limit=-1"], "p Thread::Backtrace.limit", ['-1'], [])
long_max = RbConfig::LIMITS["LONG_MAX"]
assert_in_out_err(%W(--backtrace-limit=#{long_max}), "p Thread::Backtrace.limit",
["#{long_max}"], [])
end
def test_warning