aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/test/test_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actioncable/test/test_helper.rb')
-rw-r--r--actioncable/test/test_helper.rb35
1 files changed, 21 insertions, 14 deletions
diff --git a/actioncable/test/test_helper.rb b/actioncable/test/test_helper.rb
index 8ddbd4e764..a47032753b 100644
--- a/actioncable/test/test_helper.rb
+++ b/actioncable/test/test_helper.rb
@@ -1,28 +1,35 @@
-require File.expand_path('../../../load_paths', __FILE__)
+require "action_cable"
+require "active_support/testing/autorun"
-require 'action_cable'
-require 'active_support/testing/autorun'
+require "puma"
+require "mocha/setup"
+require "rack/mock"
-
-require 'puma'
-
-require 'mocha/setup'
-
-require 'rack/mock'
+begin
+ require "byebug"
+rescue LoadError
+end
# Require all the stubs and models
-Dir[File.dirname(__FILE__) + '/stubs/*.rb'].each {|file| require file }
+Dir[File.dirname(__FILE__) + "/stubs/*.rb"].each { |file| require file }
class ActionCable::TestCase < ActiveSupport::TestCase
def wait_for_async
- e = Concurrent.global_io_executor
- until e.completed_task_count == e.scheduled_task_count
- sleep 0.1
- end
+ wait_for_executor Concurrent.global_io_executor
end
def run_in_eventmachine
yield
wait_for_async
end
+
+ def wait_for_executor(executor)
+ # do not wait forever, wait 2s
+ timeout = 2
+ until executor.completed_task_count == executor.scheduled_task_count
+ sleep 0.1
+ timeout -= 0.1
+ raise "Executor could not complete all tasks in 2 seconds" unless timeout > 0
+ end
+ end
end