diff options
author | Sutou Kouhei <kou@clear-code.com> | 2022-09-15 06:38:52 +0900 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2022-10-07 15:18:52 +0900 |
commit | 7c3314129368fdfcf104e489f16538b531ed6d3d (patch) | |
tree | 8f9a99aad7fb038c7b61e588035e9945179e8eb8 /test/fiddle/test_closure.rb | |
parent | 255e617bc38f714c943c932e7df2b709313fd6bf (diff) |
[ruby/fiddle] test: ensure freeing closure
GitHub: GH-102
This also improves freed closures assertions.
https://github.com/ruby/fiddle/commit/f6431f3cf8
Diffstat (limited to 'test/fiddle/test_closure.rb')
-rw-r--r-- | test/fiddle/test_closure.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/fiddle/test_closure.rb b/test/fiddle/test_closure.rb index d248b9cbdd..1726db7a78 100644 --- a/test/fiddle/test_closure.rb +++ b/test/fiddle/test_closure.rb @@ -10,8 +10,11 @@ module Fiddle super # Ensure freeing all closures. # See https://github.com/ruby/fiddle/issues/102#issuecomment-1241763091 . - GC.start - assert_equal(0, ObjectSpace.each_object(Fiddle::Closure) {}) + not_freed_closures = [] + ObjectSpace.each_object(Fiddle::Closure) do |closure| + not_freed_closures << closure unless closure.freed? + end + assert_equal([], not_freed_closures) end def test_argument_errors |