celluloid 0.17.1.2 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.md +16 -1
- data/culture/{CODE_OF_CONDUCT.md → CONDUCT.md} +0 -0
- data/culture/celluloid-culture.gemspec +1 -1
- data/culture/gems/dependencies.yml +9 -8
- data/culture/rubocop/perf.yml +0 -0
- data/culture/rubocop/rubocop.yml +1 -0
- data/culture/rubocop/style.yml +9 -0
- data/lib/celluloid.rb +2 -2
- data/lib/celluloid/exceptions.rb +1 -0
- data/lib/celluloid/group/spawner.rb +14 -16
- data/lib/celluloid/rspec.rb +61 -1
- data/lib/celluloid/version.rb +1 -1
- data/spec/celluloid/block_spec.rb +13 -13
- data/spec/celluloid/calls_spec.rb +0 -17
- data/spec/celluloid/condition_spec.rb +1 -1
- data/spec/celluloid/group/spawner_spec.rb +9 -0
- data/spec/celluloid/mailbox/evented_spec.rb +2 -2
- data/spec/deprecate/calls_spec.rb +0 -18
- data/spec/deprecate/future_spec.rb +2 -2
- data/spec/shared/actor_examples.rb +11 -16
- data/spec/spec_helper.rb +1 -94
- data/spec/support/configure_rspec.rb +77 -0
- data/spec/support/env.rb +13 -8
- data/spec/support/examples/actor_class.rb +1 -1
- data/spec/support/examples/call_class.rb +37 -0
- data/spec/support/includer.rb +1 -4
- data/spec/support/logging.rb +2 -10
- data/spec/support/loose_threads.rb +20 -9
- data/spec/support/sleep_and_wait.rb +1 -1
- metadata +33 -31
- data/spec/support/split_logs.rb +0 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 7e4fef1274946e44231177bcac481a79c785e496
         | 
| 4 | 
            +
              data.tar.gz: ddabf286ed4d0ac58f7f58f6ae9f843fd5b82a62
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8864299ee4256cc2fbe2f5cd32bd59f49f80033f6352a65ae76ac4381c9903835b563147d66ef19585d836e5a1bac92801269276dca003a093dc2c845c91c04d
         | 
| 7 | 
            +
              data.tar.gz: fc79f37cf47fd47111cf2304c977c64d0d1e1e37b5c07f9d863e4975f1dd901ab2f43692a0cb656a36c98a93d9811bcdbcf10edecb027444ced46f916b19685d
         | 
    
        data/CHANGES.md
    CHANGED
    
    | @@ -1,4 +1,19 @@ | |
| 1 | 
            -
            0.17. | 
| 1 | 
            +
            0.17.2 (2015-09-30)
         | 
| 2 | 
            +
            -----
         | 
| 3 | 
            +
            * Revamped test suite, using shared RSpec configuration layer provided by Celluloid itself.
         | 
| 4 | 
            +
            * Updated gem dependencies provided by Celluloid::Sync... extraneous gems removed, or marked as development dependencies.
         | 
| 5 | 
            +
            - Clean up deprecation notes.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            0.17.1.2 (2015-08-21)
         | 
| 8 | 
            +
            -----
         | 
| 9 | 
            +
            - Fixes to posted markdown content.
         | 
| 10 | 
            +
            - Pull in new gem dependencies.
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            0.17.1.1 (2015-08-07)
         | 
| 13 | 
            +
            -----
         | 
| 14 | 
            +
            - Revert "no task to suspend" code from #232.
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            0.17.1 (2015-08-06)
         | 
| 2 17 | 
             
            -----
         | 
| 3 18 | 
             
            * `Celluloid::ActorSystem` moved to `Celluloid::Actor::System`, and from `celluloid/actor_system.rb` to `celluloid/actor/system.rb`
         | 
| 4 19 | 
             
            * Added extensible API for defining new SystemEvents, and having them handled... without everyone changing `Actor#handle_system_event`.
         | 
| 
            File without changes
         | 
| @@ -1,6 +1,11 @@ | |
| 1 1 | 
             
            bundler:
         | 
| 2 | 
            +
              dependency: development
         | 
| 3 | 
            +
             | 
| 2 4 | 
             
            nenv:
         | 
| 5 | 
            +
              dependency: development
         | 
| 6 | 
            +
             | 
| 3 7 | 
             
            dotenv:
         | 
| 8 | 
            +
              dependency: development
         | 
| 4 9 |  | 
| 5 10 | 
             
            benchmark_suite:
         | 
| 6 11 | 
             
              dependency: development
         | 
| @@ -23,6 +28,9 @@ rspec: | |
| 23 28 | 
             
            guard-rspec:
         | 
| 24 29 | 
             
              dependency: development
         | 
| 25 30 |  | 
| 31 | 
            +
            rspec-retry:
         | 
| 32 | 
            +
              dependency: development
         | 
| 33 | 
            +
             | 
| 26 34 | 
             
            coveralls:
         | 
| 27 35 | 
             
              dependency: development
         | 
| 28 36 | 
             
              gemfile:
         | 
| @@ -30,7 +38,7 @@ coveralls: | |
| 30 38 |  | 
| 31 39 | 
             
            celluloid:
         | 
| 32 40 | 
             
              dependency: core
         | 
| 33 | 
            -
              version: ">= 0.17. | 
| 41 | 
            +
              version: ">= 0.17.2"
         | 
| 34 42 | 
             
              gemfile:
         | 
| 35 43 | 
             
                github: celluloid/celluloid
         | 
| 36 44 | 
             
                branch: master
         | 
| @@ -75,10 +83,3 @@ timers: | |
| 75 83 | 
             
              version: ">= 4.1.1"
         | 
| 76 84 | 
             
              gemfile:
         | 
| 77 85 | 
             
                github: celluloid/timers
         | 
| 78 | 
            -
             | 
| 79 | 
            -
            rspec-logsplit:
         | 
| 80 | 
            -
              version: ">= 0.1.2"
         | 
| 81 | 
            -
              gemfile:
         | 
| 82 | 
            -
                github: "abstractive/rspec-logsplit"
         | 
| 83 | 
            -
                branch: "master"
         | 
| 84 | 
            -
                require: false
         | 
| 
            File without changes
         | 
    
        data/culture/rubocop/rubocop.yml
    CHANGED
    
    
    
        data/culture/rubocop/style.yml
    CHANGED
    
    
    
        data/lib/celluloid.rb
    CHANGED
    
    | @@ -24,7 +24,7 @@ module Celluloid | |
| 24 24 | 
             
              BARE_OBJECT_WARNING_MESSAGE = "WARNING: BARE CELLULOID OBJECT "
         | 
| 25 25 |  | 
| 26 26 | 
             
              class << self
         | 
| 27 | 
            -
                attr_writer :actor_system | 
| 27 | 
            +
                attr_writer :actor_system # Default Actor System
         | 
| 28 28 | 
             
                attr_accessor :logger               # Thread-safe logger class
         | 
| 29 29 | 
             
                attr_accessor :log_actor_crashes
         | 
| 30 30 | 
             
                attr_accessor :group_class          # Default internal thread group to use
         | 
| @@ -165,7 +165,7 @@ module Celluloid | |
| 165 165 | 
             
                  # Terminate all actors at exit
         | 
| 166 166 | 
             
                  at_exit do
         | 
| 167 167 | 
             
                    sleep 0.126 # hax grace period for unnaturally terminating actors
         | 
| 168 | 
            -
             | 
| 168 | 
            +
                    # allows "reason" in exit_handler to resolve before being destroyed
         | 
| 169 169 | 
             
                    if defined?(RUBY_ENGINE) && RUBY_ENGINE == "ruby" && RUBY_VERSION >= "1.9"
         | 
| 170 170 | 
             
                      # workaround for MRI bug losing exit status in at_exit block
         | 
| 171 171 | 
             
                      # http://bugs.ruby-lang.org/issues/5218
         | 
    
        data/lib/celluloid/exceptions.rb
    CHANGED
    
    
| @@ -17,48 +17,46 @@ module Celluloid | |
| 17 17 |  | 
| 18 18 | 
             
                  def shutdown
         | 
| 19 19 | 
             
                    @running = false
         | 
| 20 | 
            +
                    queue = []
         | 
| 20 21 | 
             
                    @mutex.synchronize do
         | 
| 21 | 
            -
                      queue = Queue.new
         | 
| 22 22 | 
             
                      loop do
         | 
| 23 23 | 
             
                        break if @group.empty?
         | 
| 24 24 | 
             
                        th = @group.shift
         | 
| 25 25 | 
             
                        th.kill
         | 
| 26 26 | 
             
                        queue << th
         | 
| 27 27 | 
             
                      end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
                       | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
                    Thread.pass unless queue.empty?
         | 
| 30 | 
            +
                    loop do
         | 
| 31 | 
            +
                      break if queue.empty?
         | 
| 32 | 
            +
                      queue.pop.join
         | 
| 32 33 | 
             
                    end
         | 
| 33 34 | 
             
                  end
         | 
| 34 35 |  | 
| 35 36 | 
             
                  def idle?
         | 
| 36 | 
            -
                    to_a.select { |t| t[: | 
| 37 | 
            +
                    to_a.select { |t| t[:celluloid_thread_state] == :running }.empty?
         | 
| 37 38 | 
             
                  end
         | 
| 38 39 |  | 
| 39 40 | 
             
                  def busy?
         | 
| 40 | 
            -
                    to_a.select { |t| t[: | 
| 41 | 
            +
                    to_a.select { |t| t[:celluloid_thread_state] == :running }.any?
         | 
| 41 42 | 
             
                  end
         | 
| 42 43 |  | 
| 43 44 | 
             
                  private
         | 
| 44 45 |  | 
| 45 46 | 
             
                  def instantiate(proc)
         | 
| 46 47 | 
             
                    thread = Thread.new do
         | 
| 47 | 
            -
                      Thread.current[: | 
| 48 | 
            -
                        started: Time.now,
         | 
| 49 | 
            -
                        state: :running,
         | 
| 50 | 
            -
                      }
         | 
| 51 | 
            -
             | 
| 48 | 
            +
                      Thread.current[:celluloid_thread_state] = :running
         | 
| 52 49 | 
             
                      begin
         | 
| 53 50 | 
             
                        proc.call
         | 
| 54 51 | 
             
                      rescue ::Exception => ex
         | 
| 55 52 | 
             
                        Internals::Logger.crash("thread crashed", ex)
         | 
| 56 | 
            -
                        Thread.current[: | 
| 53 | 
            +
                        Thread.current[:celluloid_thread_state] = :error
         | 
| 57 54 | 
             
                      ensure
         | 
| 58 | 
            -
                        unless Thread.current[: | 
| 59 | 
            -
                          Thread.current[: | 
| 55 | 
            +
                        unless Thread.current[:celluloid_thread_state] == :error
         | 
| 56 | 
            +
                          Thread.current[:celluloid_thread_state] = :finished
         | 
| 60 57 | 
             
                        end
         | 
| 61 | 
            -
                        Thread.current | 
| 58 | 
            +
                        @mutex.synchronize { @group.delete Thread.current }
         | 
| 59 | 
            +
                        Thread.exit
         | 
| 62 60 | 
             
                      end
         | 
| 63 61 | 
             
                    end
         | 
| 64 62 |  | 
    
        data/lib/celluloid/rspec.rb
    CHANGED
    
    | @@ -1,12 +1,72 @@ | |
| 1 | 
            +
            require "dotenv"
         | 
| 2 | 
            +
            require "nenv"
         | 
| 3 | 
            +
             | 
| 1 4 | 
             
            require "celluloid/test"
         | 
| 2 5 |  | 
| 6 | 
            +
            # To help produce better bug reports in Rubinius
         | 
| 7 | 
            +
            if RUBY_ENGINE == "rbx"
         | 
| 8 | 
            +
              # $DEBUG = true # would be nice if this didn't fail ... :(
         | 
| 9 | 
            +
              require "rspec/matchers"
         | 
| 10 | 
            +
              require "rspec/matchers/built_in/be"
         | 
| 11 | 
            +
            end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            require "rspec/retry"
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            module Specs
         | 
| 16 | 
            +
             | 
| 17 | 
            +
              CHECK_LOOSE_THREADS = !Nenv.ci? unless defined? CHECK_LOOSE_THREADS
         | 
| 18 | 
            +
              ALLOW_RETRIES = 3 unless defined? ALLOW_RETRIES
         | 
| 19 | 
            +
              ALLOW_SLOW_MAILBOXES = false unless defined? ALLOW_SLOW_MAILBOXES
         | 
| 20 | 
            +
             | 
| 21 | 
            +
              INCLUDE_SUPPORT = [
         | 
| 22 | 
            +
                "env",
         | 
| 23 | 
            +
                "logging",
         | 
| 24 | 
            +
                "sleep_and_wait",
         | 
| 25 | 
            +
                "reset_class_variables",
         | 
| 26 | 
            +
                "crash_checking",
         | 
| 27 | 
            +
                "loose_threads",
         | 
| 28 | 
            +
                "stubbing",
         | 
| 29 | 
            +
                "coverage",
         | 
| 30 | 
            +
                "includer",
         | 
| 31 | 
            +
                "configure_rspec"
         | 
| 32 | 
            +
              ]
         | 
| 33 | 
            +
             | 
| 34 | 
            +
              INCLUDE_PATHS = [
         | 
| 35 | 
            +
                "./spec/support/*.rb",
         | 
| 36 | 
            +
                "./spec/support/examples/*.rb",
         | 
| 37 | 
            +
                "./spec/shared/*.rb"
         | 
| 38 | 
            +
              ]
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              MAX_EXECUTION = 13
         | 
| 41 | 
            +
              MAX_ATTEMPTS = 20
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              TIMER_QUANTUM = 0.05 # Timer accuracy enforced by the tests (50ms)
         | 
| 44 | 
            +
             | 
| 45 | 
            +
              BACKTRACE_OMITTED = [
         | 
| 46 | 
            +
                "rspec-expectations",
         | 
| 47 | 
            +
                "rspec-core",
         | 
| 48 | 
            +
                "rspec-mocks",
         | 
| 49 | 
            +
                "rspec-retry",
         | 
| 50 | 
            +
                "rubysl-thread",
         | 
| 51 | 
            +
                "rubysl-timeout"
         | 
| 52 | 
            +
              ]
         | 
| 53 | 
            +
            end
         | 
| 54 | 
            +
             | 
| 3 55 | 
             
            $CELLULOID_DEBUG = true
         | 
| 4 56 |  | 
| 57 | 
            +
            # Require but disable, so it has to be explicitly enabled in tests
         | 
| 58 | 
            +
            require "celluloid/probe"
         | 
| 59 | 
            +
            $CELLULOID_MONITORING = false
         | 
| 60 | 
            +
             | 
| 61 | 
            +
            Celluloid.shutdown_timeout = 1
         | 
| 62 | 
            +
             | 
| 5 63 | 
             
            # Load shared examples and test support code for other gems to use.
         | 
| 6 64 |  | 
| 7 | 
            -
             | 
| 65 | 
            +
            Specs::INCLUDE_SUPPORT.each { |f|
         | 
| 8 66 | 
             
              require "#{File.expand_path('../../../spec/support', __FILE__)}/#{f}.rb"
         | 
| 9 67 | 
             
            }
         | 
| 10 68 |  | 
| 69 | 
            +
            Specs.reset_probe(nil)
         | 
| 70 | 
            +
             | 
| 11 71 | 
             
            Dir["#{File.expand_path('../../../spec/support/examples', __FILE__)}/*.rb"].map { |f| require f }
         | 
| 12 72 | 
             
            Dir["#{File.expand_path('../../../spec/shared', __FILE__)}/*.rb"].map { |f| require f }
         | 
    
        data/lib/celluloid/version.rb
    CHANGED
    
    
| @@ -19,21 +19,21 @@ RSpec.describe "Blocks", actor_system: :global do | |
| 19 19 | 
             
                  end
         | 
| 20 20 | 
             
                end
         | 
| 21 21 |  | 
| 22 | 
            -
                def deferred_excecution(value, & | 
| 23 | 
            -
                  defer  | 
| 22 | 
            +
                def deferred_excecution(value, &_block)
         | 
| 23 | 
            +
                  defer do
         | 
| 24 24 | 
             
                    yield(value)
         | 
| 25 | 
            -
                   | 
| 25 | 
            +
                  end
         | 
| 26 26 | 
             
                end
         | 
| 27 27 |  | 
| 28 | 
            -
                def deferred_current_actor(& | 
| 29 | 
            -
                  defer  | 
| 28 | 
            +
                def deferred_current_actor(&_block)
         | 
| 29 | 
            +
                  defer do
         | 
| 30 30 | 
             
                    yield(current_actor.name)
         | 
| 31 | 
            -
                   | 
| 31 | 
            +
                  end
         | 
| 32 32 | 
             
                end
         | 
| 33 33 |  | 
| 34 | 
            -
                def defer_for_something(other, & | 
| 34 | 
            +
                def defer_for_something(other, &_block)
         | 
| 35 35 | 
             
                  sender_actor = current_actor
         | 
| 36 | 
            -
                  defer  | 
| 36 | 
            +
                  defer do
         | 
| 37 37 | 
             
                    $data << [:outside, @name, current_actor.name]
         | 
| 38 38 | 
             
                    other.do_something_and_callback do |value|
         | 
| 39 39 | 
             
                      $data << [:yielded, @name, current_actor.name]
         | 
| @@ -42,7 +42,7 @@ RSpec.describe "Blocks", actor_system: :global do | |
| 42 42 | 
             
                      $data << sender_actor.receive_result(:sender)
         | 
| 43 43 | 
             
                      :pete_the_polyglot_alien
         | 
| 44 44 | 
             
                    end
         | 
| 45 | 
            -
                   | 
| 45 | 
            +
                  end
         | 
| 46 46 | 
             
                end
         | 
| 47 47 |  | 
| 48 48 | 
             
                def do_something_and_callback
         | 
| @@ -76,14 +76,14 @@ RSpec.describe "Blocks", actor_system: :global do | |
| 76 76 | 
             
                expect($data).to eq(expected)
         | 
| 77 77 | 
             
              end
         | 
| 78 78 |  | 
| 79 | 
            -
              execute_deferred =  | 
| 79 | 
            +
              execute_deferred = proc do
         | 
| 80 80 | 
             
                a1 = MyBlockActor.new("one")
         | 
| 81 81 | 
             
                expect(a1.deferred_excecution(:pete_the_polyglot_alien) { |v| v })
         | 
| 82 | 
            -
             | 
| 83 | 
            -
               | 
| 82 | 
            +
                .to eq(:pete_the_polyglot_alien)
         | 
| 83 | 
            +
              end
         | 
| 84 84 |  | 
| 85 85 | 
             
              # unless RUBY_ENGINE == 'jruby'
         | 
| 86 | 
            -
             | 
| 86 | 
            +
              xit("can be deferred", &execute_deferred)
         | 
| 87 87 | 
             
              # else
         | 
| 88 88 | 
             
              #   it("can be deferred", &execute_deferred)
         | 
| 89 89 | 
             
              # end
         | 
| @@ -1,22 +1,5 @@ | |
| 1 1 | 
             
            RSpec.describe Celluloid::Call::Sync, actor_system: :global do
         | 
| 2 2 | 
             
              # TODO: these should be Call::Sync unit tests (without working on actual actors)
         | 
| 3 | 
            -
              class CallExampleActor
         | 
| 4 | 
            -
                include Celluloid
         | 
| 5 | 
            -
             | 
| 6 | 
            -
                def initialize(next_actor = nil)
         | 
| 7 | 
            -
                  @next = next_actor
         | 
| 8 | 
            -
                end
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                def actual_method; end
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                def inspect
         | 
| 13 | 
            -
                  fail "Don't call!"
         | 
| 14 | 
            -
                end
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                def chained_call_ids
         | 
| 17 | 
            -
                  [call_chain_id, @next.call_chain_id]
         | 
| 18 | 
            -
                end
         | 
| 19 | 
            -
              end
         | 
| 20 3 |  | 
| 21 4 | 
             
              let(:actor) { CallExampleActor.new }
         | 
| 22 5 | 
             
              let(:logger) { Specs::FakeLogger.current }
         | 
| @@ -4,5 +4,14 @@ require "celluloid/internals/logger" | |
| 4 4 | 
             
            if Celluloid.group_class == Celluloid::Group::Spawner
         | 
| 5 5 | 
             
              RSpec.describe Celluloid::Group::Spawner do
         | 
| 6 6 | 
             
                it_behaves_like "a Celluloid Group"
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                it "does not leak finished threads" do
         | 
| 9 | 
            +
                  queue = Queue.new
         | 
| 10 | 
            +
                  th = subject.get { queue.pop }
         | 
| 11 | 
            +
                  expect do
         | 
| 12 | 
            +
                    queue << nil
         | 
| 13 | 
            +
                    th.join
         | 
| 14 | 
            +
                  end.to change { subject.group.length }.by(-1)
         | 
| 15 | 
            +
                end
         | 
| 7 16 | 
             
              end
         | 
| 8 17 | 
             
            end
         | 
| @@ -13,7 +13,7 @@ RSpec.describe Celluloid::Mailbox::Evented do | |
| 13 13 | 
             
              #
         | 
| 14 14 | 
             
              unless RUBY_ENGINE == "rbx"
         | 
| 15 15 | 
             
                it "recovers from timeout exceeded to process mailbox message" do
         | 
| 16 | 
            -
                  timeout_interval =  | 
| 16 | 
            +
                  timeout_interval = Specs::TIMER_QUANTUM + 0.1
         | 
| 17 17 | 
             
                  started_at = Time.now
         | 
| 18 18 | 
             
                  expect do
         | 
| 19 19 | 
             
                    Kernel.send(:timeout, timeout_interval) do
         | 
| @@ -21,7 +21,7 @@ RSpec.describe Celluloid::Mailbox::Evented do | |
| 21 21 | 
             
                    end
         | 
| 22 22 | 
             
                  end.to raise_exception(Timeout::Error)
         | 
| 23 23 |  | 
| 24 | 
            -
                  expect(Time.now - started_at).to be_within( | 
| 24 | 
            +
                  expect(Time.now - started_at).to be_within(Specs::TIMER_QUANTUM).of timeout_interval
         | 
| 25 25 | 
             
                end
         | 
| 26 26 | 
             
              end
         | 
| 27 27 | 
             
            end
         | 
| @@ -1,24 +1,6 @@ | |
| 1 1 | 
             
            RSpec.describe "Deprecated Celluloid::SyncCall", actor_system: :global do
         | 
| 2 2 | 
             
              subject { Celluloid::SyncCall.new }
         | 
| 3 3 |  | 
| 4 | 
            -
              class DeprecatedCallExampleActor
         | 
| 5 | 
            -
                include Celluloid
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                def initialize(next_actor = nil)
         | 
| 8 | 
            -
                  @next = next_actor
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                def actual_method; end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                def inspect
         | 
| 14 | 
            -
                  fail "Please don't call me! I'm not ready yet!"
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                def chained_call_ids
         | 
| 18 | 
            -
                  [call_chain_id, @next.call_chain_id]
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 4 | 
             
              let(:actor) { DeprecatedCallExampleActor.new }
         | 
| 23 5 |  | 
| 24 6 | 
             
              context "when obj does not respond to a method" do
         | 
| @@ -19,9 +19,9 @@ RSpec.describe "Deprecated Celluloid::Future", actor_system: :global do | |
| 19 19 | 
             
              end
         | 
| 20 20 |  | 
| 21 21 | 
             
              it "knows if it's got a value yet" do
         | 
| 22 | 
            -
                future = Celluloid::Future.new { sleep  | 
| 22 | 
            +
                future = Celluloid::Future.new { sleep Specs::TIMER_QUANTUM * 5 }
         | 
| 23 23 | 
             
                expect(future).not_to be_ready
         | 
| 24 | 
            -
                sleep  | 
| 24 | 
            +
                sleep Specs::TIMER_QUANTUM * 6
         | 
| 25 25 | 
             
                expect(future).to be_ready
         | 
| 26 26 | 
             
              end
         | 
| 27 27 |  | 
| @@ -1,9 +1,4 @@ | |
| 1 1 | 
             
            RSpec.shared_examples "a Celluloid Actor" do
         | 
| 2 | 
            -
              before(:each) do |example|
         | 
| 3 | 
            -
                @fake_logger = Specs::FakeLogger.new(Celluloid.logger, example.description)
         | 
| 4 | 
            -
                stub_const("Celluloid::Internals::Logger", @fake_logger)
         | 
| 5 | 
            -
              end
         | 
| 6 | 
            -
             | 
| 7 2 | 
             
              around do |ex|
         | 
| 8 3 | 
             
                Celluloid.boot
         | 
| 9 4 | 
             
                ex.run
         | 
| @@ -766,13 +761,13 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 766 761 |  | 
| 767 762 | 
             
                    def exclusive_with_block_log_task(task)
         | 
| 768 763 | 
             
                      exclusive do
         | 
| 769 | 
            -
                        sleep  | 
| 764 | 
            +
                        sleep Specs::TIMER_QUANTUM
         | 
| 770 765 | 
             
                        log_task(task)
         | 
| 771 766 | 
             
                      end
         | 
| 772 767 | 
             
                    end
         | 
| 773 768 |  | 
| 774 769 | 
             
                    def exclusive_log_task(task)
         | 
| 775 | 
            -
                      sleep  | 
| 770 | 
            +
                      sleep Specs::TIMER_QUANTUM
         | 
| 776 771 | 
             
                      log_task(task)
         | 
| 777 772 | 
             
                    end
         | 
| 778 773 | 
             
                    exclusive :exclusive_log_task
         | 
| @@ -794,14 +789,14 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 794 789 | 
             
                it "executes methods in the proper order with block form" do
         | 
| 795 790 | 
             
                  subject.async.exclusive_with_block_log_task(:one)
         | 
| 796 791 | 
             
                  subject.async.log_task(:two)
         | 
| 797 | 
            -
                  sleep  | 
| 792 | 
            +
                  sleep Specs::TIMER_QUANTUM * 2
         | 
| 798 793 | 
             
                  expect(subject.tasks).to eq([:one, :two])
         | 
| 799 794 | 
             
                end
         | 
| 800 795 |  | 
| 801 796 | 
             
                it "executes methods in the proper order with a class-level annotation" do
         | 
| 802 797 | 
             
                  subject.async.exclusive_log_task :one
         | 
| 803 798 | 
             
                  subject.async.log_task :two
         | 
| 804 | 
            -
                  sleep  | 
| 799 | 
            +
                  sleep Specs::TIMER_QUANTUM * 2
         | 
| 805 800 | 
             
                  expect(subject.tasks).to eq([:one, :two])
         | 
| 806 801 | 
             
                end
         | 
| 807 802 |  | 
| @@ -828,7 +823,7 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 828 823 | 
             
                    end
         | 
| 829 824 |  | 
| 830 825 | 
             
                    def eat_donuts
         | 
| 831 | 
            -
                      sleep  | 
| 826 | 
            +
                      sleep Specs::TIMER_QUANTUM
         | 
| 832 827 | 
             
                      @tasks << "donuts"
         | 
| 833 828 | 
             
                    end
         | 
| 834 829 |  | 
| @@ -844,7 +839,7 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 844 839 | 
             
                  before do
         | 
| 845 840 | 
             
                    actor.async.eat_donuts
         | 
| 846 841 | 
             
                    actor.async.drink_coffee
         | 
| 847 | 
            -
                    sleep  | 
| 842 | 
            +
                    sleep Specs::TIMER_QUANTUM * 2
         | 
| 848 843 | 
             
                  end
         | 
| 849 844 |  | 
| 850 845 | 
             
                  it "executes in an exclusive order" do
         | 
| @@ -888,7 +883,7 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 888 883 | 
             
                    ended_at = Time.now - started_at
         | 
| 889 884 |  | 
| 890 885 | 
             
                    expect(result).to_not be
         | 
| 891 | 
            -
                    expect(ended_at).to be_within( | 
| 886 | 
            +
                    expect(ended_at).to be_within(Specs::TIMER_QUANTUM).of interval
         | 
| 892 887 | 
             
                  end
         | 
| 893 888 | 
             
                end
         | 
| 894 889 | 
             
              end
         | 
| @@ -930,8 +925,8 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 930 925 | 
             
                  end.new
         | 
| 931 926 | 
             
                end
         | 
| 932 927 |  | 
| 933 | 
            -
                let(:interval) {  | 
| 934 | 
            -
                let(:sleep_interval) { interval +  | 
| 928 | 
            +
                let(:interval) { Specs::TIMER_QUANTUM * 10 }
         | 
| 929 | 
            +
                let(:sleep_interval) { interval + Specs::TIMER_QUANTUM } # wonky! #/
         | 
| 935 930 |  | 
| 936 931 | 
             
                it "suspends execution of a method (but not the actor) for a given time" do
         | 
| 937 932 | 
             
                  # Sleep long enough to ensure we're actually seeing behavior when asleep
         | 
| @@ -944,7 +939,7 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 944 939 |  | 
| 945 940 | 
             
                  future.value
         | 
| 946 941 | 
             
                  # I got 0.558 (in a slighly busy MRI) which is outside 0.05 of 0.5, so let's use (0.05 * 2)
         | 
| 947 | 
            -
                  expect(Time.now - started_at).to be_within( | 
| 942 | 
            +
                  expect(Time.now - started_at).to be_within(Specs::TIMER_QUANTUM * 2).of interval
         | 
| 948 943 | 
             
                end
         | 
| 949 944 |  | 
| 950 945 | 
             
                it "schedules timers which fire in the future" do
         | 
| @@ -1247,7 +1242,7 @@ RSpec.shared_examples "a Celluloid Actor" do | |
| 1247 1242 | 
             
                it "logs on unhandled messages" do
         | 
| 1248 1243 | 
             
                  expect(logger).to receive(:debug).with("Discarded message (unhandled): first")
         | 
| 1249 1244 | 
             
                  actor.mailbox << :first
         | 
| 1250 | 
            -
                  sleep  | 
| 1245 | 
            +
                  sleep Specs::TIMER_QUANTUM
         | 
| 1251 1246 | 
             
                end
         | 
| 1252 1247 | 
             
              end
         | 
| 1253 1248 | 
             
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -1,100 +1,7 @@ | |
| 1 1 | 
             
            require "rubygems"
         | 
| 2 2 | 
             
            require "bundler/setup"
         | 
| 3 3 |  | 
| 4 | 
            -
            # To help produce better bug reports in Rubinius
         | 
| 5 | 
            -
            if RUBY_ENGINE == "rbx"
         | 
| 6 | 
            -
              # $DEBUG = true # would be nice if this didn't fail ... :(
         | 
| 7 | 
            -
              require "rspec/matchers"
         | 
| 8 | 
            -
              require "rspec/matchers/built_in/be"
         | 
| 9 | 
            -
            end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            # Require in order, so both CELLULOID_TEST and CELLULOID_DEBUG are true
         | 
| 12 4 | 
             
            require "celluloid/rspec"
         | 
| 13 5 | 
             
            require "celluloid/essentials"
         | 
| 14 6 |  | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
            # Require but disable, so it has to be explicitly enabled in tests
         | 
| 18 | 
            -
            require "celluloid/probe"
         | 
| 19 | 
            -
            $CELLULOID_MONITORING = false
         | 
| 20 | 
            -
            Specs.reset_probe(nil)
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            Celluloid.shutdown_timeout = 1
         | 
| 23 | 
            -
             | 
| 24 | 
            -
            Dir["./spec/support/*.rb", "./spec/shared/*.rb"].map { |f| require f }
         | 
| 25 | 
            -
             | 
| 26 | 
            -
            RSpec.configure do |config|
         | 
| 27 | 
            -
              config.filter_run focus: true unless Nenv.ci?
         | 
| 28 | 
            -
             | 
| 29 | 
            -
              config.run_all_when_everything_filtered = true
         | 
| 30 | 
            -
              config.disable_monkey_patching!
         | 
| 31 | 
            -
              config.profile_examples = 3
         | 
| 32 | 
            -
             | 
| 33 | 
            -
              Specs.configure(config)
         | 
| 34 | 
            -
             | 
| 35 | 
            -
              config.before(:suite) do
         | 
| 36 | 
            -
                Specs.stub_out_class_method(Celluloid::Internals::Logger, :crash) do |*args|
         | 
| 37 | 
            -
                  _name, ex = *args
         | 
| 38 | 
            -
                  fail "Unstubbed Logger.crash() was called:\n  crash(\n    #{args.map(&:inspect).join(",\n    ")})"\
         | 
| 39 | 
            -
                    "\nException backtrace: \n  (#{ex.class}) #{ex.backtrace * "\n  (#{ex.class}) "}"
         | 
| 40 | 
            -
                end
         | 
| 41 | 
            -
              end
         | 
| 42 | 
            -
             | 
| 43 | 
            -
              config.before(:each) do |example|
         | 
| 44 | 
            -
                @fake_logger = Specs::FakeLogger.new(Celluloid.logger, example.description)
         | 
| 45 | 
            -
                stub_const("Celluloid::Internals::Logger", @fake_logger)
         | 
| 46 | 
            -
              end
         | 
| 47 | 
            -
             | 
| 48 | 
            -
              config.around do |ex|
         | 
| 49 | 
            -
                ex.run
         | 
| 50 | 
            -
                if @fake_logger.crashes?
         | 
| 51 | 
            -
                  crashes = @fake_logger.crashes.map do |args, call_stack|
         | 
| 52 | 
            -
                    msg, ex = *args
         | 
| 53 | 
            -
                    "\n** Crash: #{msg.inspect}(#{ex.inspect})\n  Backtrace:\n    (crash) #{call_stack * "\n    (crash) "}"\
         | 
| 54 | 
            -
                      "\n** Crash: \"Actor crashed!\"(#{ex.inspect})\n  Backtrace:\n    (crash) #{call_stack * "\n    (crash) "}"\
         | 
| 55 | 
            -
                      "\n  Exception Backtrace (#{ex.inspect}):\n    (ex) #{ex.backtrace * "\n    (ex) "}"
         | 
| 56 | 
            -
                  end.join("\n")
         | 
| 57 | 
            -
             | 
| 58 | 
            -
                  fail "Actor crashes occurred (please stub/mock if these are expected): #{crashes}"
         | 
| 59 | 
            -
                end
         | 
| 60 | 
            -
                @fake_logger = nil
         | 
| 61 | 
            -
              end
         | 
| 62 | 
            -
             | 
| 63 | 
            -
              config.around do |ex|
         | 
| 64 | 
            -
                Celluloid.actor_system = nil
         | 
| 65 | 
            -
             | 
| 66 | 
            -
                Specs.assert_no_loose_threads(ex.description) do
         | 
| 67 | 
            -
                  Specs.reset_class_variables(ex.description) do
         | 
| 68 | 
            -
                    ex.run
         | 
| 69 | 
            -
                  end
         | 
| 70 | 
            -
                end
         | 
| 71 | 
            -
              end
         | 
| 72 | 
            -
             | 
| 73 | 
            -
              config.around actor_system: :global do |ex|
         | 
| 74 | 
            -
                # Needed because some specs mock/stub/expect on the logger
         | 
| 75 | 
            -
                Celluloid.logger = Specs.logger
         | 
| 76 | 
            -
             | 
| 77 | 
            -
                Celluloid.boot
         | 
| 78 | 
            -
                ex.run
         | 
| 79 | 
            -
                Celluloid.shutdown
         | 
| 80 | 
            -
              end
         | 
| 81 | 
            -
             | 
| 82 | 
            -
              config.around actor_system: :within do |ex|
         | 
| 83 | 
            -
                Celluloid::Actor::System.new.within do
         | 
| 84 | 
            -
                  ex.run
         | 
| 85 | 
            -
                end
         | 
| 86 | 
            -
              end
         | 
| 87 | 
            -
             | 
| 88 | 
            -
              config.filter_gems_from_backtrace(*%w(rspec-expectations rspec-core rspec-mocks rspec-logsplit rubysl-thread rubysl-timeout))
         | 
| 89 | 
            -
             | 
| 90 | 
            -
              config.mock_with :rspec do |mocks|
         | 
| 91 | 
            -
                mocks.verify_doubled_constant_names = true
         | 
| 92 | 
            -
                mocks.verify_partial_doubles = true
         | 
| 93 | 
            -
              end
         | 
| 94 | 
            -
             | 
| 95 | 
            -
              config.around(:each) do |example|
         | 
| 96 | 
            -
                # Needed because some specs mock/stub/expect on the logger
         | 
| 97 | 
            -
                Celluloid.logger = Specs.logger
         | 
| 98 | 
            -
                example.run
         | 
| 99 | 
            -
              end
         | 
| 100 | 
            -
            end
         | 
| 7 | 
            +
            Dir[*Specs::INCLUDE_PATHS].map { |f| require f }
         | 
| @@ -0,0 +1,77 @@ | |
| 1 | 
            +
            RSpec.configure do |config|
         | 
| 2 | 
            +
              config.filter_run focus: true unless Nenv.ci?
         | 
| 3 | 
            +
              config.run_all_when_everything_filtered = true
         | 
| 4 | 
            +
              config.disable_monkey_patching!
         | 
| 5 | 
            +
              config.profile_examples = 3
         | 
| 6 | 
            +
              config.filter_gems_from_backtrace(*Specs::BACKTRACE_OMITTED)
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              config.verbose_retry = true
         | 
| 9 | 
            +
              config.default_retry_count = Specs::ALLOW_RETRIES
         | 
| 10 | 
            +
              config.display_try_failure_messages = true
         | 
| 11 | 
            +
              config.default_sleep_interval = 1
         | 
| 12 | 
            +
              config.exceptions_to_retry = [Timeout::Error, Celluloid::ThreadLeak]
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              config.mock_with :rspec do |mocks|
         | 
| 15 | 
            +
                mocks.verify_doubled_constant_names = true
         | 
| 16 | 
            +
                mocks.verify_partial_doubles = true
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              config.before(:suite) do
         | 
| 20 | 
            +
                Specs.stub_out_class_method(Celluloid::Internals::Logger, :crash) do |*args|
         | 
| 21 | 
            +
                  _name, ex = *args
         | 
| 22 | 
            +
                  fail "Unstubbed Logger.crash() was called:\n  crash(\n    #{args.map(&:inspect).join(",\n    ")})"\
         | 
| 23 | 
            +
                    "\nException backtrace: \n  (#{ex.class}) #{ex.backtrace * "\n  (#{ex.class}) "}"
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
              end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
              config.before(:each) do |example|
         | 
| 28 | 
            +
                @fake_logger = Specs::FakeLogger.new(Celluloid.logger, example.description)
         | 
| 29 | 
            +
                stub_const("Celluloid::Internals::Logger", @fake_logger)
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
              config.around do |ex|
         | 
| 33 | 
            +
                # Needed because some specs mock/stub/expect on the logger
         | 
| 34 | 
            +
                Celluloid.logger = Specs.logger
         | 
| 35 | 
            +
                Celluloid.actor_system = nil
         | 
| 36 | 
            +
                Specs.reset_class_variables(ex.description) do
         | 
| 37 | 
            +
                  Timeout.timeout(Specs::MAX_EXECUTION) { ex.run }
         | 
| 38 | 
            +
                end
         | 
| 39 | 
            +
                if @fake_logger.crashes?
         | 
| 40 | 
            +
                  crashes = @fake_logger.crashes.map do |args, call_stack|
         | 
| 41 | 
            +
                    msg, ex = *args
         | 
| 42 | 
            +
                    "\n** Crash: #{msg.inspect}(#{ex.inspect})\n  Backtrace:\n    (crash) #{call_stack * "\n    (crash) "}"\
         | 
| 43 | 
            +
                      "\n  Exception Backtrace (#{ex.inspect}):\n    (ex) #{ex.backtrace * "\n    (ex) "}"
         | 
| 44 | 
            +
                  end.join("\n")
         | 
| 45 | 
            +
                  fail "Actor crashes occured (please stub/mock if these are expected): #{crashes}"
         | 
| 46 | 
            +
                end
         | 
| 47 | 
            +
                @fake_logger = nil
         | 
| 48 | 
            +
                Specs.assert_no_loose_threads!("after example: #{ex.description}") if Specs::CHECK_LOOSE_THREADS
         | 
| 49 | 
            +
              end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
              config.around :each, library: :IO do |ex|
         | 
| 52 | 
            +
                Celluloid.boot
         | 
| 53 | 
            +
                FileUtils.rm("/tmp/cell_sock") if File.exist?("/tmp/cell_sock")
         | 
| 54 | 
            +
                ex.run
         | 
| 55 | 
            +
                Celluloid.shutdown
         | 
| 56 | 
            +
              end
         | 
| 57 | 
            +
             | 
| 58 | 
            +
              config.around :each, library: :ZMQ do |ex|
         | 
| 59 | 
            +
                Celluloid::ZMQ.init(1) unless ex.metadata[:no_init]
         | 
| 60 | 
            +
                Celluloid.boot
         | 
| 61 | 
            +
                ex.run
         | 
| 62 | 
            +
                Celluloid.shutdown
         | 
| 63 | 
            +
                Celluloid::ZMQ.terminate
         | 
| 64 | 
            +
              end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
              config.around :each, actor_system: :global do |ex|
         | 
| 67 | 
            +
                Celluloid.boot
         | 
| 68 | 
            +
                ex.run
         | 
| 69 | 
            +
                Celluloid.shutdown
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
              config.around :each, actor_system: :within do |ex|
         | 
| 73 | 
            +
                Celluloid::Actor::System.new.within do
         | 
| 74 | 
            +
                  ex.run
         | 
| 75 | 
            +
                end
         | 
| 76 | 
            +
              end
         | 
| 77 | 
            +
            end
         | 
    
        data/spec/support/env.rb
    CHANGED
    
    | @@ -1,16 +1,21 @@ | |
| 1 1 | 
             
            require "nenv"
         | 
| 2 2 | 
             
            require "dotenv"
         | 
| 3 | 
            -
            Dotenv.load!(Nenv("celluloid").config_file || (Nenv.ci? ? ".env-ci" : ".env-dev"))
         | 
| 4 3 |  | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 4 | 
            +
            # Default to `pwd`/.env-* ( whatever is in the current directory )
         | 
| 5 | 
            +
            # Otherwise take the `.env-*` from the gem itself.
         | 
| 6 | 
            +
            unless env = Nenv("celluloid").config_file
         | 
| 7 | 
            +
              env = Nenv.ci? ? ".env-ci" : ".env-dev"
         | 
| 8 | 
            +
              unless File.exist?(env)
         | 
| 9 | 
            +
                env = File.expand_path("../../../#{env}", __FILE__)
         | 
| 8 10 | 
             
              end
         | 
| 11 | 
            +
            end
         | 
| 9 12 |  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 13 | 
            +
            Dotenv.load!(env) rescue nil # If for some reason no .env-* files are available at all, use defaults.
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            module Specs
         | 
| 16 | 
            +
              class << self
         | 
| 17 | 
            +
                def env
         | 
| 18 | 
            +
                  @env ||= Nenv("celluloid_specs")
         | 
| 14 19 | 
             
                end
         | 
| 15 20 | 
             
              end
         | 
| 16 21 | 
             
            end
         | 
| @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            class CallExampleActor
         | 
| 2 | 
            +
              include Celluloid
         | 
| 3 | 
            +
             | 
| 4 | 
            +
              def initialize(next_actor = nil)
         | 
| 5 | 
            +
                @next = next_actor
         | 
| 6 | 
            +
              end
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              def actual_method; end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              def inspect
         | 
| 11 | 
            +
                fail "Don't call!"
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
              def chained_call_ids
         | 
| 15 | 
            +
                [call_chain_id, @next.call_chain_id]
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
            end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            # de DEPRECATE:
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            class DeprecatedCallExampleActor
         | 
| 22 | 
            +
              include Celluloid
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              def initialize(next_actor = nil)
         | 
| 25 | 
            +
                @next = next_actor
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
              def actual_method; end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              def inspect
         | 
| 31 | 
            +
                fail "Please don't call me! I'm not ready yet!"
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
              def chained_call_ids
         | 
| 35 | 
            +
                [call_chain_id, @next.call_chain_id]
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
            end
         | 
    
        data/spec/support/includer.rb
    CHANGED
    
    | @@ -1,9 +1,6 @@ | |
| 1 1 | 
             
            module CelluloidSpecs
         | 
| 2 2 | 
             
              def self.included_module
         | 
| 3 3 | 
             
                # Celluloid::IO implements this with with 'Celluloid::IO'
         | 
| 4 | 
            -
                Celluloid
         | 
| 4 | 
            +
                (defined? INCLUDED_MODULE) ? INCLUDED_MODULE : Celluloid
         | 
| 5 5 | 
             
              end
         | 
| 6 | 
            -
             | 
| 7 | 
            -
              # Timer accuracy enforced by the tests (50ms)
         | 
| 8 | 
            -
              TIMER_QUANTUM = 0.05
         | 
| 9 6 | 
             
            end
         | 
    
        data/spec/support/logging.rb
    CHANGED
    
    | @@ -14,10 +14,6 @@ module Specs | |
| 14 14 | 
             
                  end
         | 
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| 17 | 
            -
                def split_logs?
         | 
| 18 | 
            -
                  log.strategy == "split"
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
             | 
| 21 17 | 
             
                def logger
         | 
| 22 18 | 
             
                  @logger ||= default_logger.tap { |logger| logger.level = log.level }
         | 
| 23 19 | 
             
                end
         | 
| @@ -32,13 +28,9 @@ module Specs | |
| 32 28 | 
             
                    Logger.new(STDERR)
         | 
| 33 29 | 
             
                  when "single"
         | 
| 34 30 | 
             
                    Logger.new(open_logfile(log.file, log.sync?))
         | 
| 35 | 
            -
                  when "split"
         | 
| 36 | 
            -
                    # Use Celluloid in case there's logging in a before/after handle
         | 
| 37 | 
            -
                    # (is that a bug in rspec-log_split?)
         | 
| 38 | 
            -
                    Celluloid.logger
         | 
| 39 31 | 
             
                  else
         | 
| 40 32 | 
             
                    fail "Unknown logger strategy: #{strategy.inspect}."\
         | 
| 41 | 
            -
                      " Expected ' | 
| 33 | 
            +
                      " Expected 'single' or 'stderr'."
         | 
| 42 34 | 
             
                  end
         | 
| 43 35 | 
             
                end
         | 
| 44 36 |  | 
| @@ -51,7 +43,7 @@ module Specs | |
| 51 43 | 
             
                end
         | 
| 52 44 |  | 
| 53 45 | 
             
                def default_strategy
         | 
| 54 | 
            -
                  (Nenv.ci? ? "stderr" : " | 
| 46 | 
            +
                  (Nenv.ci? ? "stderr" : "single")
         | 
| 55 47 | 
             
                end
         | 
| 56 48 |  | 
| 57 49 | 
             
                def default_level_for(env, level)
         | 
| @@ -4,6 +4,11 @@ module Specs | |
| 4 4 | 
             
                  Thread.list.map do |thread|
         | 
| 5 5 | 
             
                    next unless thread
         | 
| 6 6 | 
             
                    next if thread == Thread.current
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                    # TODO: Remove Specs::ALLOW_SLOW_MAILBOXES hax.
         | 
| 9 | 
            +
                    #       Allows slow shutdown of mailboxes.
         | 
| 10 | 
            +
                    #       Find more graceful way to do shutdown.
         | 
| 11 | 
            +
             | 
| 7 12 | 
             
                    if RUBY_PLATFORM == "java"
         | 
| 8 13 | 
             
                      # Avoid disrupting jRuby's "fiber" threads.
         | 
| 9 14 | 
             
                      name = thread.to_java.getNativeThread.get_name
         | 
| @@ -16,25 +21,31 @@ module Specs | |
| 16 21 |  | 
| 17 22 | 
             
                    if RUBY_ENGINE == "rbx"
         | 
| 18 23 | 
             
                      # Avoid disrupting Rubinious thread
         | 
| 19 | 
            -
                      next if thread.backtrace.empty?
         | 
| 20 24 | 
             
                      next if thread.backtrace.first =~ %r{rubysl/timeout/timeout\.rb}
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                      if Specs::ALLOW_SLOW_MAILBOXES
         | 
| 27 | 
            +
                        if thread.backtrace.first =~ /wait/
         | 
| 28 | 
            +
                          next if thread.backtrace[1] =~ /mailbox\.rb/ && thread.backtrace[1] =~ /check/
         | 
| 29 | 
            +
                        end
         | 
| 30 | 
            +
                      end
         | 
| 21 31 | 
             
                    end
         | 
| 22 32 |  | 
| 23 33 | 
             
                    if RUBY_ENGINE == "ruby"
         | 
| 24 34 | 
             
                      # Sometimes stays
         | 
| 25 | 
            -
                      next if thread.backtrace. | 
| 35 | 
            +
                      next if thread.backtrace.nil?
         | 
| 36 | 
            +
                      next unless thread.backtrace.is_a?(Array)
         | 
| 37 | 
            +
                      next if thread.backtrace.empty?
         | 
| 38 | 
            +
                      next if thread.backtrace.first =~ /timeout\.rb/
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                      if Specs::ALLOW_SLOW_MAILBOXES
         | 
| 41 | 
            +
                        next if thread.backtrace[1] =~ /mailbox\.rb/ && thread.backtrace[1] =~ /sleep/
         | 
| 42 | 
            +
                      end
         | 
| 26 43 | 
             
                    end
         | 
| 27 44 |  | 
| 28 45 | 
             
                    thread
         | 
| 29 46 | 
             
                  end.compact
         | 
| 30 47 | 
             
                end
         | 
| 31 48 |  | 
| 32 | 
            -
                def assert_no_loose_threads(location)
         | 
| 33 | 
            -
                  Specs.assert_no_loose_threads!("before example: #{location}")
         | 
| 34 | 
            -
                  yield
         | 
| 35 | 
            -
                  Specs.assert_no_loose_threads!("after example: #{location}")
         | 
| 36 | 
            -
                end
         | 
| 37 | 
            -
             | 
| 38 49 | 
             
                def thread_name(thread)
         | 
| 39 50 | 
             
                  (RUBY_PLATFORM == "java") ? thread.to_java.getNativeThread.get_name : ""
         | 
| 40 51 | 
             
                end
         | 
| @@ -58,7 +69,7 @@ module Specs | |
| 58 69 | 
             
                    sleep
         | 
| 59 70 | 
             
                  end
         | 
| 60 71 |  | 
| 61 | 
            -
                  fail "Aborted due to runaway threads (#{location})\n"\
         | 
| 72 | 
            +
                  fail Celluloid::ThreadLeak, "Aborted due to runaway threads (#{location})\n"\
         | 
| 62 73 | 
             
                    "List: (#{loose.map(&:inspect)})\n:#{backtraces.join("\n")}"
         | 
| 63 74 | 
             
                end
         | 
| 64 75 | 
             
              end
         | 
| @@ -6,7 +6,7 @@ module Specs | |
| 6 6 | 
             
                end
         | 
| 7 7 |  | 
| 8 8 | 
             
                diff = Time.now.to_f - t1
         | 
| 9 | 
            -
                STDERR.puts "wait took a bit long: #{diff} seconds" if diff >  | 
| 9 | 
            +
                STDERR.puts "wait took a bit long: #{diff} seconds" if diff > Specs::TIMER_QUANTUM
         | 
| 10 10 | 
             
              rescue Timeout::Error
         | 
| 11 11 | 
             
                t2 = Time.now.to_f
         | 
| 12 12 | 
             
                raise "Timeout after: #{t2 - t1} seconds"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: celluloid
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.17. | 
| 4 | 
            +
              version: 0.17.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Tony Arcieri
         | 
| @@ -9,16 +9,16 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2015- | 
| 12 | 
            +
            date: 2015-09-30 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            +
              name: bundler
         | 
| 15 16 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 16 17 | 
             
                requirements:
         | 
| 17 18 | 
             
                - - ">="
         | 
| 18 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 20 | 
             
                    version: '0'
         | 
| 20 | 
            -
               | 
| 21 | 
            -
              type: :runtime
         | 
| 21 | 
            +
              type: :development
         | 
| 22 22 | 
             
              prerelease: false
         | 
| 23 23 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 24 24 | 
             
                requirements:
         | 
| @@ -26,13 +26,13 @@ dependencies: | |
| 26 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 27 | 
             
                    version: '0'
         | 
| 28 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 29 | 
            +
              name: nenv
         | 
| 29 30 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 30 31 | 
             
                requirements:
         | 
| 31 32 | 
             
                - - ">="
         | 
| 32 33 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 34 | 
             
                    version: '0'
         | 
| 34 | 
            -
               | 
| 35 | 
            -
              type: :runtime
         | 
| 35 | 
            +
              type: :development
         | 
| 36 36 | 
             
              prerelease: false
         | 
| 37 37 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 38 38 | 
             
                requirements:
         | 
| @@ -40,13 +40,13 @@ dependencies: | |
| 40 40 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 41 | 
             
                    version: '0'
         | 
| 42 42 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 43 | 
            +
              name: dotenv
         | 
| 43 44 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 44 45 | 
             
                requirements:
         | 
| 45 46 | 
             
                - - ">="
         | 
| 46 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 47 48 | 
             
                    version: '0'
         | 
| 48 | 
            -
               | 
| 49 | 
            -
              type: :runtime
         | 
| 49 | 
            +
              type: :development
         | 
| 50 50 | 
             
              prerelease: false
         | 
| 51 51 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 52 52 | 
             
                requirements:
         | 
| @@ -54,12 +54,12 @@ dependencies: | |
| 54 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 55 55 | 
             
                    version: '0'
         | 
| 56 56 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 57 | 
            +
              name: benchmark_suite
         | 
| 57 58 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 58 59 | 
             
                requirements:
         | 
| 59 60 | 
             
                - - ">="
         | 
| 60 61 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 62 | 
             
                    version: '0'
         | 
| 62 | 
            -
              name: benchmark_suite
         | 
| 63 63 | 
             
              type: :development
         | 
| 64 64 | 
             
              prerelease: false
         | 
| 65 65 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -68,12 +68,12 @@ dependencies: | |
| 68 68 | 
             
                  - !ruby/object:Gem::Version
         | 
| 69 69 | 
             
                    version: '0'
         | 
| 70 70 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 71 | 
            +
              name: rubocop
         | 
| 71 72 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 72 73 | 
             
                requirements:
         | 
| 73 74 | 
             
                - - ">="
         | 
| 74 75 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 76 | 
             
                    version: '0'
         | 
| 76 | 
            -
              name: rubocop
         | 
| 77 77 | 
             
              type: :development
         | 
| 78 78 | 
             
              prerelease: false
         | 
| 79 79 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -82,12 +82,12 @@ dependencies: | |
| 82 82 | 
             
                  - !ruby/object:Gem::Version
         | 
| 83 83 | 
             
                    version: '0'
         | 
| 84 84 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 85 | 
            +
              name: transpec
         | 
| 85 86 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 86 87 | 
             
                requirements:
         | 
| 87 88 | 
             
                - - ">="
         | 
| 88 89 | 
             
                  - !ruby/object:Gem::Version
         | 
| 89 90 | 
             
                    version: '0'
         | 
| 90 | 
            -
              name: transpec
         | 
| 91 91 | 
             
              type: :development
         | 
| 92 92 | 
             
              prerelease: false
         | 
| 93 93 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -96,12 +96,12 @@ dependencies: | |
| 96 96 | 
             
                  - !ruby/object:Gem::Version
         | 
| 97 97 | 
             
                    version: '0'
         | 
| 98 98 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 99 | 
            +
              name: pry
         | 
| 99 100 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 100 101 | 
             
                requirements:
         | 
| 101 102 | 
             
                - - ">="
         | 
| 102 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 103 104 | 
             
                    version: '0'
         | 
| 104 | 
            -
              name: pry
         | 
| 105 105 | 
             
              type: :development
         | 
| 106 106 | 
             
              prerelease: false
         | 
| 107 107 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -110,12 +110,12 @@ dependencies: | |
| 110 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 111 111 | 
             
                    version: '0'
         | 
| 112 112 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 113 | 
            +
              name: rake
         | 
| 113 114 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 114 115 | 
             
                requirements:
         | 
| 115 116 | 
             
                - - ">="
         | 
| 116 117 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 118 | 
             
                    version: '0'
         | 
| 118 | 
            -
              name: rake
         | 
| 119 119 | 
             
              type: :development
         | 
| 120 120 | 
             
              prerelease: false
         | 
| 121 121 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -124,12 +124,12 @@ dependencies: | |
| 124 124 | 
             
                  - !ruby/object:Gem::Version
         | 
| 125 125 | 
             
                    version: '0'
         | 
| 126 126 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 127 | 
            +
              name: rspec
         | 
| 127 128 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 128 129 | 
             
                requirements:
         | 
| 129 130 | 
             
                - - ">="
         | 
| 130 131 | 
             
                  - !ruby/object:Gem::Version
         | 
| 131 132 | 
             
                    version: '0'
         | 
| 132 | 
            -
              name: rspec
         | 
| 133 133 | 
             
              type: :development
         | 
| 134 134 | 
             
              prerelease: false
         | 
| 135 135 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -138,12 +138,12 @@ dependencies: | |
| 138 138 | 
             
                  - !ruby/object:Gem::Version
         | 
| 139 139 | 
             
                    version: '0'
         | 
| 140 140 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 141 | 
            +
              name: guard-rspec
         | 
| 141 142 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 142 143 | 
             
                requirements:
         | 
| 143 144 | 
             
                - - ">="
         | 
| 144 145 | 
             
                  - !ruby/object:Gem::Version
         | 
| 145 146 | 
             
                    version: '0'
         | 
| 146 | 
            -
              name: guard-rspec
         | 
| 147 147 | 
             
              type: :development
         | 
| 148 148 | 
             
              prerelease: false
         | 
| 149 149 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -152,12 +152,12 @@ dependencies: | |
| 152 152 | 
             
                  - !ruby/object:Gem::Version
         | 
| 153 153 | 
             
                    version: '0'
         | 
| 154 154 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 155 | 
            +
              name: rspec-retry
         | 
| 155 156 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 156 157 | 
             
                requirements:
         | 
| 157 158 | 
             
                - - ">="
         | 
| 158 159 | 
             
                  - !ruby/object:Gem::Version
         | 
| 159 160 | 
             
                    version: '0'
         | 
| 160 | 
            -
              name: coveralls
         | 
| 161 161 | 
             
              type: :development
         | 
| 162 162 | 
             
              prerelease: false
         | 
| 163 163 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -166,13 +166,13 @@ dependencies: | |
| 166 166 | 
             
                  - !ruby/object:Gem::Version
         | 
| 167 167 | 
             
                    version: '0'
         | 
| 168 168 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 169 | 
            +
              name: coveralls
         | 
| 169 170 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 170 171 | 
             
                requirements:
         | 
| 171 172 | 
             
                - - ">="
         | 
| 172 173 | 
             
                  - !ruby/object:Gem::Version
         | 
| 173 174 | 
             
                    version: '0'
         | 
| 174 | 
            -
               | 
| 175 | 
            -
              type: :runtime
         | 
| 175 | 
            +
              type: :development
         | 
| 176 176 | 
             
              prerelease: false
         | 
| 177 177 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 178 178 | 
             
                requirements:
         | 
| @@ -180,12 +180,12 @@ dependencies: | |
| 180 180 | 
             
                  - !ruby/object:Gem::Version
         | 
| 181 181 | 
             
                    version: '0'
         | 
| 182 182 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 183 | 
            +
              name: celluloid-essentials
         | 
| 183 184 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 184 185 | 
             
                requirements:
         | 
| 185 186 | 
             
                - - ">="
         | 
| 186 187 | 
             
                  - !ruby/object:Gem::Version
         | 
| 187 188 | 
             
                    version: '0'
         | 
| 188 | 
            -
              name: celluloid-supervision
         | 
| 189 189 | 
             
              type: :runtime
         | 
| 190 190 | 
             
              prerelease: false
         | 
| 191 191 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -194,12 +194,12 @@ dependencies: | |
| 194 194 | 
             
                  - !ruby/object:Gem::Version
         | 
| 195 195 | 
             
                    version: '0'
         | 
| 196 196 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 197 | 
            +
              name: celluloid-supervision
         | 
| 197 198 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 198 199 | 
             
                requirements:
         | 
| 199 200 | 
             
                - - ">="
         | 
| 200 201 | 
             
                  - !ruby/object:Gem::Version
         | 
| 201 202 | 
             
                    version: '0'
         | 
| 202 | 
            -
              name: celluloid-pool
         | 
| 203 203 | 
             
              type: :runtime
         | 
| 204 204 | 
             
              prerelease: false
         | 
| 205 205 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -208,12 +208,12 @@ dependencies: | |
| 208 208 | 
             
                  - !ruby/object:Gem::Version
         | 
| 209 209 | 
             
                    version: '0'
         | 
| 210 210 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 211 | 
            +
              name: celluloid-pool
         | 
| 211 212 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 212 213 | 
             
                requirements:
         | 
| 213 214 | 
             
                - - ">="
         | 
| 214 215 | 
             
                  - !ruby/object:Gem::Version
         | 
| 215 216 | 
             
                    version: '0'
         | 
| 216 | 
            -
              name: celluloid-fsm
         | 
| 217 217 | 
             
              type: :runtime
         | 
| 218 218 | 
             
              prerelease: false
         | 
| 219 219 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -222,12 +222,12 @@ dependencies: | |
| 222 222 | 
             
                  - !ruby/object:Gem::Version
         | 
| 223 223 | 
             
                    version: '0'
         | 
| 224 224 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 225 | 
            +
              name: celluloid-fsm
         | 
| 225 226 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 226 227 | 
             
                requirements:
         | 
| 227 228 | 
             
                - - ">="
         | 
| 228 229 | 
             
                  - !ruby/object:Gem::Version
         | 
| 229 230 | 
             
                    version: '0'
         | 
| 230 | 
            -
              name: celluloid-extras
         | 
| 231 231 | 
             
              type: :runtime
         | 
| 232 232 | 
             
              prerelease: false
         | 
| 233 233 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -236,33 +236,33 @@ dependencies: | |
| 236 236 | 
             
                  - !ruby/object:Gem::Version
         | 
| 237 237 | 
             
                    version: '0'
         | 
| 238 238 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 239 | 
            +
              name: celluloid-extras
         | 
| 239 240 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 240 241 | 
             
                requirements:
         | 
| 241 242 | 
             
                - - ">="
         | 
| 242 243 | 
             
                  - !ruby/object:Gem::Version
         | 
| 243 | 
            -
                    version:  | 
| 244 | 
            -
              name: timers
         | 
| 244 | 
            +
                    version: '0'
         | 
| 245 245 | 
             
              type: :runtime
         | 
| 246 246 | 
             
              prerelease: false
         | 
| 247 247 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 248 248 | 
             
                requirements:
         | 
| 249 249 | 
             
                - - ">="
         | 
| 250 250 | 
             
                  - !ruby/object:Gem::Version
         | 
| 251 | 
            -
                    version:  | 
| 251 | 
            +
                    version: '0'
         | 
| 252 252 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 253 | 
            +
              name: timers
         | 
| 253 254 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 254 255 | 
             
                requirements:
         | 
| 255 256 | 
             
                - - ">="
         | 
| 256 257 | 
             
                  - !ruby/object:Gem::Version
         | 
| 257 | 
            -
                    version:  | 
| 258 | 
            -
              name: rspec-logsplit
         | 
| 258 | 
            +
                    version: 4.1.1
         | 
| 259 259 | 
             
              type: :runtime
         | 
| 260 260 | 
             
              prerelease: false
         | 
| 261 261 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 262 262 | 
             
                requirements:
         | 
| 263 263 | 
             
                - - ">="
         | 
| 264 264 | 
             
                  - !ruby/object:Gem::Version
         | 
| 265 | 
            -
                    version:  | 
| 265 | 
            +
                    version: 4.1.1
         | 
| 266 266 | 
             
            description: Celluloid enables people to build concurrent programs out of concurrent
         | 
| 267 267 | 
             
              objects just as easily as they build sequential programs out of sequential objects
         | 
| 268 268 | 
             
            email:
         | 
| @@ -275,7 +275,7 @@ files: | |
| 275 275 | 
             
            - CHANGES.md
         | 
| 276 276 | 
             
            - LICENSE.txt
         | 
| 277 277 | 
             
            - README.md
         | 
| 278 | 
            -
            - culture/ | 
| 278 | 
            +
            - culture/CONDUCT.md
         | 
| 279 279 | 
             
            - culture/Gemfile
         | 
| 280 280 | 
             
            - culture/LICENSE.txt
         | 
| 281 281 | 
             
            - culture/README.md
         | 
| @@ -288,6 +288,7 @@ files: | |
| 288 288 | 
             
            - culture/rubocop/README.md
         | 
| 289 289 | 
             
            - culture/rubocop/lint.yml
         | 
| 290 290 | 
             
            - culture/rubocop/metrics.yml
         | 
| 291 | 
            +
            - culture/rubocop/perf.yml
         | 
| 291 292 | 
             
            - culture/rubocop/rubocop.yml
         | 
| 292 293 | 
             
            - culture/rubocop/style.yml
         | 
| 293 294 | 
             
            - culture/spec/gems_spec.rb
         | 
| @@ -373,18 +374,19 @@ files: | |
| 373 374 | 
             
            - spec/shared/mailbox_examples.rb
         | 
| 374 375 | 
             
            - spec/shared/task_examples.rb
         | 
| 375 376 | 
             
            - spec/spec_helper.rb
         | 
| 377 | 
            +
            - spec/support/configure_rspec.rb
         | 
| 376 378 | 
             
            - spec/support/coverage.rb
         | 
| 377 379 | 
             
            - spec/support/crash_checking.rb
         | 
| 378 380 | 
             
            - spec/support/debugging.rb
         | 
| 379 381 | 
             
            - spec/support/env.rb
         | 
| 380 382 | 
             
            - spec/support/examples/actor_class.rb
         | 
| 383 | 
            +
            - spec/support/examples/call_class.rb
         | 
| 381 384 | 
             
            - spec/support/examples/evented_mailbox_class.rb
         | 
| 382 385 | 
             
            - spec/support/includer.rb
         | 
| 383 386 | 
             
            - spec/support/logging.rb
         | 
| 384 387 | 
             
            - spec/support/loose_threads.rb
         | 
| 385 388 | 
             
            - spec/support/reset_class_variables.rb
         | 
| 386 389 | 
             
            - spec/support/sleep_and_wait.rb
         | 
| 387 | 
            -
            - spec/support/split_logs.rb
         | 
| 388 390 | 
             
            - spec/support/stubbing.rb
         | 
| 389 391 | 
             
            homepage: https://github.com/celluloid/celluloid
         | 
| 390 392 | 
             
            licenses:
         | 
| @@ -398,7 +400,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 398 400 | 
             
              requirements:
         | 
| 399 401 | 
             
              - - ">="
         | 
| 400 402 | 
             
                - !ruby/object:Gem::Version
         | 
| 401 | 
            -
                  version: 1.9. | 
| 403 | 
            +
                  version: 1.9.3
         | 
| 402 404 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 403 405 | 
             
              requirements:
         | 
| 404 406 | 
             
              - - ">="
         | 
    
        data/spec/support/split_logs.rb
    DELETED
    
    | @@ -1 +0,0 @@ | |
| 1 | 
            -
            require "rspec/log_split" if Specs.split_logs?
         |