async-rspec 1.2.0 → 1.3.0
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/lib/async/rspec/leaks.rb +1 -3
- data/lib/async/rspec/reactor.rb +17 -16
- data/lib/async/rspec/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2cb1fb4f59a7f05ba63b18e9f2b44b07364b711422fe1870d556a4a57e6e53f9
         | 
| 4 | 
            +
              data.tar.gz: a487cd7d0f93e0dd6dba63d2c7d53e741ab7b6db26c799586eaee886137bbfc8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8247782ea3f2dc73d5bd72df2a35d917240c8a5fe9c5f12785297c56f4c46ffd4be8e7be7d2637fdf31ffd3c05492b8df1b31f5e9695ccfcc1a4165d4af2ef67
         | 
| 7 | 
            +
              data.tar.gz: 3868142cdde06ebc353e1673702e3a33e7a2be9aafe96106f13f9601f63433b9dc71a364755503d656a0e5d00cccd93dca56c6d8384313dc0943b714cf3f428f
         | 
    
        data/lib/async/rspec/leaks.rb
    CHANGED
    
    | @@ -32,13 +32,11 @@ module Async | |
| 32 32 | 
             
            		RSpec.shared_context Leaks do
         | 
| 33 33 | 
             
            			include Leaks
         | 
| 34 34 |  | 
| 35 | 
            -
            			let(:before_ios) {current_ios}
         | 
| 35 | 
            +
            			let!(:before_ios) {current_ios}
         | 
| 36 36 | 
             
            			let(:after_ios) {current_ios}
         | 
| 37 37 |  | 
| 38 38 | 
             
            			# We use around(:each) because it's the highest priority.
         | 
| 39 39 | 
             
            			around(:each) do |example|
         | 
| 40 | 
            -
            				before_ios
         | 
| 41 | 
            -
            				
         | 
| 42 40 | 
             
            				example.run.tap do
         | 
| 43 41 | 
             
            					expect(after_ios).to be == before_ios
         | 
| 44 42 | 
             
            				end
         | 
    
        data/lib/async/rspec/reactor.rb
    CHANGED
    
    | @@ -23,31 +23,32 @@ require 'async/reactor' | |
| 23 23 |  | 
| 24 24 | 
             
            module Async
         | 
| 25 25 | 
             
            	module RSpec
         | 
| 26 | 
            -
            		 | 
| 27 | 
            -
            			def  | 
| 28 | 
            -
            				all_ios = ObjectSpace.each_object(IO).to_a.sort_by(&:object_id)
         | 
| 29 | 
            -
            				
         | 
| 30 | 
            -
            				# We are not interested in ios that have been closed already:
         | 
| 31 | 
            -
            				return all_ios.reject{|io| io.closed?}
         | 
| 32 | 
            -
            			end
         | 
| 33 | 
            -
            		end
         | 
| 34 | 
            -
            		
         | 
| 35 | 
            -
            		RSpec.shared_context Reactor do
         | 
| 36 | 
            -
            			let(:reactor) {Async::Task.current.reactor}
         | 
| 37 | 
            -
            			
         | 
| 38 | 
            -
            			include_context Async::RSpec::Leaks
         | 
| 39 | 
            -
            			
         | 
| 40 | 
            -
            			def run_reactor(example)
         | 
| 26 | 
            +
            		module Reactor
         | 
| 27 | 
            +
            			def run_reactor(example, duration = nil)
         | 
| 41 28 | 
             
            				result = nil
         | 
| 42 29 |  | 
| 30 | 
            +
            				duration ||= example.metadata[:timeout] || 60
         | 
| 31 | 
            +
            				
         | 
| 43 32 | 
             
            				Async::Reactor.run do |task|
         | 
| 44 | 
            -
            					 | 
| 33 | 
            +
            					task.timeout(duration) do
         | 
| 34 | 
            +
            						result = example.run
         | 
| 35 | 
            +
            						
         | 
| 36 | 
            +
            						task.children.each(&:wait)
         | 
| 37 | 
            +
            					end
         | 
| 45 38 |  | 
| 46 39 | 
             
            					task.reactor.stop if result.is_a? Exception
         | 
| 47 40 | 
             
            				end
         | 
| 48 41 |  | 
| 49 42 | 
             
            				return result
         | 
| 50 43 | 
             
            			end
         | 
| 44 | 
            +
            		end
         | 
| 45 | 
            +
            		
         | 
| 46 | 
            +
            		RSpec.shared_context Reactor do
         | 
| 47 | 
            +
            			include Reactor
         | 
| 48 | 
            +
            			
         | 
| 49 | 
            +
            			let(:reactor) {Async::Task.current.reactor}
         | 
| 50 | 
            +
            			
         | 
| 51 | 
            +
            			include_context Async::RSpec::Leaks
         | 
| 51 52 |  | 
| 52 53 | 
             
            			around(:each) do |example|
         | 
| 53 54 | 
             
            				run_reactor(example)
         | 
    
        data/lib/async/rspec/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: async-rspec
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.3.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Samuel Williams
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2018- | 
| 11 | 
            +
            date: 2018-03-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rspec
         | 
| @@ -119,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 119 119 | 
             
                  version: '0'
         | 
| 120 120 | 
             
            requirements: []
         | 
| 121 121 | 
             
            rubyforge_project: 
         | 
| 122 | 
            -
            rubygems_version: 2.7. | 
| 122 | 
            +
            rubygems_version: 2.7.6
         | 
| 123 123 | 
             
            signing_key: 
         | 
| 124 124 | 
             
            specification_version: 4
         | 
| 125 125 | 
             
            summary: Helpers for writing specs against the async gem.
         |