stop warnings from running the test case requiring .so twice

This commit is contained in:
Satoshi Tagomori 2023-12-15 10:38:33 +09:00 committed by Yusuke Endoh
parent cfd91121ad
commit b98bd10f25

View File

@ -38,13 +38,18 @@ rsr_try_resolve_sname(VALUE klass)
void void
Init_resolve_symbol_resolver(void) Init_resolve_symbol_resolver(void)
{ {
VALUE mod = rb_define_module("ResolveSymbolResolver"); /*
rb_define_singleton_method(mod, "any_method", rsr_any_method, 0); * Resolving symbols at the head of Init_ because it raises LoadError (in cases).
rb_define_singleton_method(mod, "try_resolve_fname", rsr_try_resolve_fname, 0); * If the module and methods are defined before raising LoadError, retrying `require "this.so"` will
rb_define_singleton_method(mod, "try_resolve_sname", rsr_try_resolve_sname, 0); * cause re-defining those methods (and will be warned).
*/
rst_any_method = (target_func)rb_ext_resolve_symbol("-test-/load/resolve_symbol_target", "rst_any_method"); rst_any_method = (target_func)rb_ext_resolve_symbol("-test-/load/resolve_symbol_target", "rst_any_method");
if (rst_any_method == NULL) { if (rst_any_method == NULL) {
rb_raise(rb_eLoadError, "resolve_symbol_target is not loaded"); rb_raise(rb_eLoadError, "resolve_symbol_target is not loaded");
} }
VALUE mod = rb_define_module("ResolveSymbolResolver");
rb_define_singleton_method(mod, "any_method", rsr_any_method, 0);
rb_define_singleton_method(mod, "try_resolve_fname", rsr_try_resolve_fname, 0);
rb_define_singleton_method(mod, "try_resolve_sname", rsr_try_resolve_sname, 0);
} }