Sha256: d211a6a66b50af039d3eec69ca439930528c7ef0dd2d7dca1eaec87c94459bbf

Contents?: true

Size: 979 Bytes

Versions: 19

Compression:

Stored size: 979 Bytes

Contents

require 'em_test_helper'

class TestSomeExceptions < Test::Unit::TestCase
  class DoomedConnectionError < StandardError
  end
  class DoomedConnection < EventMachine::Connection
    def unbind
      raise DoomedConnectionError
    end
  end

  # Read the commentary in EM#run.
  # This test exercises the ensure block in #run that makes sure
  # EM#release_machine gets called even if an exception is
  # thrown within the user code. Without the ensured call to release_machine,
  # the second call to EM#run will fail with a C++ exception
  # because the machine wasn't cleaned up properly.

  def test_a
    assert_raises(RuntimeError) {
      EM.run {
      raise "some exception"
    }
    }
  end

  def test_b
    assert_raises(RuntimeError) {
      EM.run {
      raise "some exception"
    }
    }
  end

  def test_exception_on_unbind
    assert_raises(DoomedConnectionError) {
      EM.run {
      EM.connect("localhost", 8888, DoomedConnection)
    }
    }
  end

end

Version data entries

19 entries across 17 versions & 2 rubygems

Version Path
devcycle-ruby-server-sdk-1.1.0 examples/sinatra/vendor/bundle/ruby/2.6.0/gems/eventmachine-1.2.7/tests/test_exc.rb
devcycle-ruby-server-sdk-1.1.0 examples/sinatra/vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/tests/test_exc.rb
devcycle-ruby-server-sdk-1.1.0 examples/sinatra/vendor/bundle/ruby/3.0.0/gems/eventmachine-1.2.7/tests/test_exc.rb
eventmachine-1.2.7-java tests/test_exc.rb
eventmachine-1.2.7-x64-mingw32 tests/test_exc.rb
eventmachine-1.2.7-x86-mingw32 tests/test_exc.rb
eventmachine-1.2.7 tests/test_exc.rb
eventmachine-1.2.6-x64-mingw32 tests/test_exc.rb
eventmachine-1.2.6-x86-mingw32 tests/test_exc.rb
eventmachine-1.2.6-java tests/test_exc.rb
eventmachine-1.2.6 tests/test_exc.rb
eventmachine-1.2.5-x86-mingw32 tests/test_exc.rb
eventmachine-1.2.5-x64-mingw32 tests/test_exc.rb
eventmachine-1.2.5-java tests/test_exc.rb
eventmachine-1.2.5 tests/test_exc.rb
eventmachine-1.2.3-x64-mingw32 tests/test_exc.rb
eventmachine-1.2.3-x86-mingw32 tests/test_exc.rb
eventmachine-1.2.3-java tests/test_exc.rb
eventmachine-1.2.3 tests/test_exc.rb