From 49d59215506a30c8a11766627f7af0cdfe0de9d4 Mon Sep 17 00:00:00 2001 From: Alan Wu Date: Sun, 26 Jun 2022 09:24:22 -0400 Subject: [PATCH] Fix Rinda test teardown for omitted tests New test failures on MINGW appeared after c2e37c8ff7da395f33fae546d9ae9e2408fc9236. 1) Error: Rinda::TupleSpaceProxyTest#test_00_template: NoMethodError: undefined method `stop_service' for nil:NilClass D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown' 2) Error: Rinda::TupleSpaceProxyTest#test_ruby_talk_264062: NoMethodError: undefined method `stop_service' for nil:NilClass D:/a/ruby/ruby/src/test/rinda/test_rinda.rb:516:in `teardown' Teardown happens even when the test is omitted. See: https://github.com/ruby/ruby/runs/7058984522 --- test/rinda/test_rinda.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/rinda/test_rinda.rb b/test/rinda/test_rinda.rb index 253eb84f0a..85df8e2b9e 100644 --- a/test/rinda/test_rinda.rb +++ b/test/rinda/test_rinda.rb @@ -497,6 +497,7 @@ class TupleSpaceProxyTest < Test::Unit::TestCase def setup if RUBY_PLATFORM.match?(/mingw/) && ENV['MSYSTEM'] == 'UCRT64' + @omitted = true omit 'This test seems to randomly hang on GitHub Actions MinGW UCRT64' end super @@ -506,6 +507,9 @@ class TupleSpaceProxyTest < Test::Unit::TestCase @server = DRb.start_service("druby://localhost:0") end def teardown + return if @omitted + @omitted = false + # implementation-dependent @ts_base.instance_eval{ if th = @keeper