Skip to content

Commit bf2e8a9

Browse files
committed
added disable_verbose to disable verbose warnings when testing
1 parent 0fa137b commit bf2e8a9

2 files changed

Lines changed: 32 additions & 33 deletions

File tree

test/stdlib/Module_test.rb

Lines changed: 21 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -386,74 +386,69 @@ def self.bar; end
386386
end
387387

388388
def test_attr
389-
mod = Module.new
390-
391389
assert_send_type '() -> Array[Symbol]',
392-
mod, :attr
390+
Module.new, :attr
393391

394392
with_interned :foo do |foo|
395393
with_bool do |writer|
396-
assert_send_type '(interned, bool) -> Array[Symbol]',
397-
mod, :attr, foo, writer
394+
# attr with bool arguments yields a warning normally
395+
disable_verbose do
396+
assert_send_type '(interned, bool) -> Array[Symbol]',
397+
Module.new, :attr, foo, writer
398+
end
398399
end
399400

400401
assert_send_type '(interned) -> Array[Symbol]',
401-
mod, :attr, foo
402+
Module.new, :attr, foo
402403

403404
with_interned :bar do |bar|
404405
assert_send_type '(*interned) -> Array[Symbol]',
405-
mod, :attr, foo, bar
406+
Module.new, :attr, foo, bar
406407
end
407408
end
408409
end
409410

410411
def test_attr_reader
411-
mod = Module.new
412-
413412
assert_send_type '() -> Array[Symbol]',
414-
mod, :attr_reader
413+
Module.new, :attr_reader
415414

416415
with_interned :foo do |foo|
417416
assert_send_type '(interned) -> Array[Symbol]',
418-
mod, :attr_reader, foo
417+
Module.new, :attr_reader, foo
419418

420419
with_interned :bar do |bar|
421420
assert_send_type '(interned, interned) -> Array[Symbol]',
422-
mod, :attr_reader, foo, bar
421+
Module.new, :attr_reader, foo, bar
423422
end
424423
end
425424
end
426425

427426
def test_attr_writer
428-
mod = Module.new
429-
430427
assert_send_type '() -> Array[Symbol]',
431-
mod, :attr_writer
428+
Module.new, :attr_writer
432429

433430
with_interned :foo do |foo|
434431
assert_send_type '(interned) -> Array[Symbol]',
435-
mod, :attr_writer, foo
432+
Module.new, :attr_writer, foo
436433

437434
with_interned :bar do |bar|
438435
assert_send_type '(interned, interned) -> Array[Symbol]',
439-
mod, :attr_writer, foo, bar
436+
Module.new, :attr_writer, foo, bar
440437
end
441438
end
442439
end
443440

444441
def test_attr_accessor
445-
mod = Module.new
446-
447442
assert_send_type '() -> Array[Symbol]',
448-
mod, :attr_accessor
443+
Module.new, :attr_accessor
449444

450445
with_interned :foo do |foo|
451446
assert_send_type '(interned) -> Array[Symbol]',
452-
mod, :attr_accessor, foo
447+
Module.new, :attr_accessor, foo
453448

454449
with_interned :bar do |bar|
455450
assert_send_type '(interned, interned) -> Array[Symbol]',
456-
mod, :attr_accessor, foo, bar
451+
Module.new, :attr_accessor, foo, bar
457452
end
458453
end
459454
end
@@ -478,14 +473,12 @@ def b(*x) = 3
478473
end
479474

480475
def test_set_temporary_name
481-
mod = Module.new
482-
483476
assert_send_type '(nil) -> Module',
484-
mod, :set_temporary_name, nil
477+
Module.new, :set_temporary_name, nil
485478

486479
with_string "fake_name" do |name|
487480
assert_send_type '(string) -> Module',
488-
mod, :set_temporary_name, name
481+
Module.new, :set_temporary_name, name
489482
end
490483
end
491484

@@ -623,12 +616,10 @@ def test_const_missing
623616
end
624617

625618
def test_const_set
626-
mod = Module.new
627-
628619
with_interned :ModuleTestConstSet do |name|
629620
with_untyped do |value|
630621
assert_send_type '[T] (interned, T) -> T',
631-
mod, :const_set, name, value
622+
Module.new, :const_set, name, value
632623
end
633624
end
634625
end
@@ -644,12 +635,9 @@ def constant_visibility_helper(method)
644635
end
645636

646637
# No arguments yields a warning with `-w`
647-
begin
648-
old_v, $-v = $-v, nil
638+
disable_verbose do
649639
assert_send_type '() -> Module',
650640
mod, method
651-
ensure
652-
$-v = old_v
653641
end
654642

655643
with_interned :Foo do |foo|

test/stdlib/test_helper.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,17 @@ def self.included(base)
148148
base.extend RBS::UnitTest::TypeAssertions::ClassMethods
149149
end
150150

151+
# Disables verbose mode for the duration of the passed block. Used when
152+
# testing codepaths which emit warnings when run.
153+
#
154+
# The `verbose` variable can be used to change the verbosity if needed.
155+
def disable_verbose(verbose = nil)
156+
old_verbose, $VERBOSE = $VERBOSE, verbose
157+
yield
158+
ensure
159+
$VERBOSE = old_verbose
160+
end
161+
151162
RUBY_EXECUTABLE = ENV["RUBY"] || RbConfig.ruby
152163
end
153164

0 commit comments

Comments
 (0)