Sha256: 64aea76b651de782ad36da90d86b3fc2becffe92ae4ac16565d270a5ffc37d50

Contents?: true

Size: 1.27 KB

Versions: 4

Compression:

Stored size: 1.27 KB

Contents

gemfile <<-RB
  gem 'mongo', '1.9.2'
  gem 'bson_ext', :platforms => :ruby
RB

gemfile <<-RB
  gem 'mongo', '~>1.8.6'
  gem 'bson_ext', :platforms => :ruby
RB

# Newest unsupported version of the driver!
gemfile <<-RB
  gem 'mongo', '~>1.7.1'
  gem 'bson_ext', :platforms => :ruby
RB

require 'timeout'
require 'socket'

ENV["MONGO_HOST"] = "localhost" unless ENV["MONGO_HOST"]
ENV["MONGO_PORT"] = "27017" unless ENV["MONGO_PORT"]

def mongo_running?
  Timeout::timeout(1) do
    begin
      TCPSocket.new(ENV["MONGO_HOST"], ENV["MONGO_PORT"].to_i).close
      true
    rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH
      false
    end
  end
rescue Timeout::Error
  false
end

def wait_for_mongo
  Timeout::timeout(10) do
    until mongo_running? do
      sleep(0.1)
    end
  end
end

before_suite do
  if mongo_running?
    $started_mongo = false
  else
    puts "Starting Mongo for you, will shut down after tests"
    `mkdir -p tmp`
    `mongod --port #{ENV["MONGO_PORT"]} --pidfilepath tmp/mongo.pid &`
    wait_for_mongo

    $started_mongo = true
    puts "Mongo Mongo Mongo!"
  end
end

after_suite do
  if $started_mongo
    puts "Shutting down test initiated Mongo."
    mongo_pid = `cat tmp/mongo.pid`
    `kill -9 #{mongo_pid}`
    `rm tmp/mongo.pid`
    puts "Mongo Mongo Mongo!"
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
newrelic_rpm-3.7.2.190.beta test/multiverse/suites/mongo/Envfile
newrelic_rpm-3.7.1.188 test/multiverse/suites/mongo/Envfile
newrelic_rpm-3.7.1.182 test/multiverse/suites/mongo/Envfile
newrelic_rpm-3.7.1.180 test/multiverse/suites/mongo/Envfile