aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/test/client_test.rb
diff options
context:
space:
mode:
authorMatthew Draper <matthew@trebex.net>2017-04-06 07:13:16 +0930
committerMatthew Draper <matthew@trebex.net>2017-04-06 07:19:58 +0930
commitfd097cff79c62fedabffae4e9f0fb53c2ec8bcbe (patch)
tree5514e92d5911487b7dfa9fb755b7d3168e10f3a6 /actioncable/test/client_test.rb
parent70514d3bd12259c3f4cabc7589865a3b5a54ed28 (diff)
downloadrails-fd097cff79c62fedabffae4e9f0fb53c2ec8bcbe.tar.gz
rails-fd097cff79c62fedabffae4e9f0fb53c2ec8bcbe.tar.bz2
rails-fd097cff79c62fedabffae4e9f0fb53c2ec8bcbe.zip
Work around all the things
Diffstat (limited to 'actioncable/test/client_test.rb')
-rw-r--r--actioncable/test/client_test.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/actioncable/test/client_test.rb b/actioncable/test/client_test.rb
index 4f7c585ba3..30ac1e9c38 100644
--- a/actioncable/test/client_test.rb
+++ b/actioncable/test/client_test.rb
@@ -78,10 +78,20 @@ class ClientTest < ActionCable::TestCase
begin
thread.join
+
+ rescue IOError
+ # Work around https://bugs.ruby-lang.org/issues/13405
+ #
+ # Puma's sometimes raising while shutting down, when it closes
+ # its internal pipe. We can safely ignore that, but we do need
+ # to do the step skipped by the exception:
+ server.binder.close
+
rescue RuntimeError => ex
+ # Work around https://bugs.ruby-lang.org/issues/13239
raise unless ex.message =~ /can't modify frozen IOError/
- # Work around https://bugs.ruby-lang.org/issues/13239
+ # Handle this as if it were the IOError: do the same as above.
server.binder.close
end
end