Sha256: c5761ed3dca63eb518c491ca4d49d3a28cad7fdfe2809c54f6770b7a9234d71e

Contents?: true

Size: 1.18 KB

Versions: 28

Compression:

Stored size: 1.18 KB

Contents

require File.expand_path("../../../base", __FILE__)

require "socket"

require "vagrant/util/is_port_open"

describe Vagrant::Util::IsPortOpen do
  let(:klass) do
    Class.new do
      extend Vagrant::Util::IsPortOpen
    end
  end

  let(:open_port)   { 52811 }
  let(:closed_port) { 52811 }

  it "should report open ports" do
    # Start a thread which listens on a port
    thr = Thread.new do
      server = TCPServer.new(open_port)
      Thread.current[:running] = true

      # Wait until we're told to die
      Thread.current[:die]     = false
      while !Thread.current[:die]
        Thread.pass
      end

      # Die!
      server.close
    end

    # Wait until the server is running
    while !thr[:running]
      Thread.pass
    end

    # Verify that we report the port is open
    expect(klass.is_port_open?("localhost", open_port)).to be

    # Kill the thread
    thr[:die] = true
    thr.join
  end

  it "should report closed ports" do
    # This CAN fail, since port 52811 might actually be in use, but I'm
    # not sure what to do except choose some random port and hope for the
    # best, really.
    expect(klass.is_port_open?("localhost", closed_port)).not_to be
  end
end

Version data entries

28 entries across 25 versions & 5 rubygems

Version Path
vagrant-unbundled-2.0.2.0 test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-2.0.1.0 test/unit/vagrant/util/is_port_open_test.rb
vagrant-aws-mkubenka-0.7.2.pre.22 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-f3fdbf414272/test/unit/vagrant/util/is_port_open_test.rb
vagrant-aws-mkubenka-0.7.2.pre.16 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-1ee58c40e3f5/test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-2.0.0.1 test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.9.8.1 test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.9.7.1 test/unit/vagrant/util/is_port_open_test.rb
vagrant-aws-mkubenka-0.7.2.pre.14 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/test/unit/vagrant/util/is_port_open_test.rb
vagrant-aws-mkubenka-0.7.2.pre.11 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/test/unit/vagrant/util/is_port_open_test.rb
vagrant-aws-mkubenka-0.7.2.pre.10 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/test/unit/vagrant/util/is_port_open_test.rb
vagrant-aws-mkubenka-0.7.2.pre.9 vendor/bundle/ruby/2.3.0/bundler/gems/vagrant-5333e60e2d38/test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.9.5.1 test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.9.1.1 test/unit/vagrant/util/is_port_open_test.rb
vagrant-compose-yaml-0.1.3 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/test/unit/vagrant/util/is_port_open_test.rb
vagrant-compose-yaml-0.1.2 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/test/unit/vagrant/util/is_port_open_test.rb
vagrant-compose-yaml-0.1.1 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/test/unit/vagrant/util/is_port_open_test.rb
vagrant-compose-yaml-0.1.0 vendor/bundle/ruby/2.2.0/bundler/gems/vagrant-dbb756c7b6da/test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.8.5.2 test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.8.5.1 test/unit/vagrant/util/is_port_open_test.rb
vagrant-unbundled-1.8.4.2 test/unit/vagrant/util/is_port_open_test.rb