forked from ruby-amqp/bunny
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspec_helper.rb
51 lines (36 loc) · 1.17 KB
/
spec_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# -*- encoding: utf-8; mode: ruby -*-
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
require 'bundler'
Bundler.setup(:default, :test)
require "effin_utf8"
require "bunny"
require "rabbitmq/http/client"
require "amq/protocol/version"
puts "Using Ruby #{RUBY_VERSION}, amq-protocol #{AMQ::Protocol::VERSION}"
module RabbitMQ
module Control
RABBITMQ_NODENAME = ENV['RABBITMQ_NODENAME'] || 'rabbit'
def rabbitmq_pid
$1.to_i if `rabbitmqctl -n #{RABBITMQ_NODENAME} status` =~ /\{pid,(\d+)\}/
end
def start_rabbitmq(delay = 1.0)
# this is Homebrew-specific :(
`RABBITMQ_NODENAME=#{RABBITMQ_NODENAME} rabbitmq-server > /dev/null 2>&1 &`; sleep(delay)
end
def stop_rabbitmq(pid = rabbitmq_pid, delay = 1.0)
`rabbitmqctl -n #{RABBITMQ_NODENAME} stop`; sleep(delay)
end
def kill_rabbitmq(pid = rabbitmq_pid, delay = 1.0)
# tango is down, tango is down!
Process.kill("KILL", pid); sleep(delay)
end
end
end
module PlatformDetection
def mri?
!defined?(RUBY_ENGINE) || (defined?(RUBY_ENGINE) && ("ruby" == RUBY_ENGINE))
end
def rubinius?
defined?(RUBY_ENGINE) && (RUBY_ENGINE == 'rbx')
end
end