diff options
Diffstat (limited to 'actioncable/test/test_helper.rb')
-rw-r--r-- | actioncable/test/test_helper.rb | 35 |
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 |