Added `-W:experimental` command line option

[Feature #16420]
This commit is contained in:
Nobuyoshi Nakada 2019-12-20 23:51:17 +09:00
Родитель 07e595fdbd
Коммит 484c1be895
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4BC7D6DF58D8DF60
2 изменённых файлов: 9 добавлений и 0 удалений

3
ruby.c
Просмотреть файл

@ -1078,6 +1078,9 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt)
if (NAME_MATCH_P("deprecated", s, len)) {
bits = 1U << RB_WARN_CATEGORY_DEPRECATED;
}
else if (NAME_MATCH_P("experimental", s, len)) {
bits = 1U << RB_WARN_CATEGORY_EXPERIMENTAL;
}
else {
rb_warn("unknown warning category: `%s'", s);
}

Просмотреть файл

@ -77,6 +77,8 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(%w(-w -W0 -e) + ['p $-W'], "", %w(0), [])
assert_in_out_err(%w(-W:deprecated -e) + ['p Warning[:deprecated]'], "", %w(true), [])
assert_in_out_err(%w(-W:no-deprecated -e) + ['p Warning[:deprecated]'], "", %w(false), [])
assert_in_out_err(%w(-W:experimental -e) + ['p Warning[:experimental]'], "", %w(true), [])
assert_in_out_err(%w(-W:no-experimental -e) + ['p Warning[:experimental]'], "", %w(false), [])
assert_in_out_err(%w(-W:qux), "", [], /unknown warning category: `qux'/)
ensure
ENV['RUBYOPT'] = save_rubyopt
@ -335,6 +337,10 @@ class TestRubyOptions < Test::Unit::TestCase
assert_in_out_err(%w(), "p Warning[:deprecated]", ["true"])
ENV['RUBYOPT'] = '-W:no-deprecated'
assert_in_out_err(%w(), "p Warning[:deprecated]", ["false"])
ENV['RUBYOPT'] = '-W:experimental'
assert_in_out_err(%w(), "p Warning[:experimental]", ["true"])
ENV['RUBYOPT'] = '-W:no-experimental'
assert_in_out_err(%w(), "p Warning[:experimental]", ["false"])
ENV['RUBYOPT'] = '-W:qux'
assert_in_out_err(%w(), "", [], /unknown warning category: `qux'/)
ensure