summaryrefslogtreecommitdiff
path: root/test/fiddle/test_closure.rb
diff options
context:
space:
mode:
authorSutou Kouhei <kou@clear-code.com>2022-09-15 06:38:52 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2022-10-07 15:18:52 +0900
commit7c3314129368fdfcf104e489f16538b531ed6d3d (patch)
tree8f9a99aad7fb038c7b61e588035e9945179e8eb8 /test/fiddle/test_closure.rb
parent255e617bc38f714c943c932e7df2b709313fd6bf (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.rb7
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