blessing 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "blessing"
8
- s.version = "1.0.0"
8
+ s.version = "1.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Laas Toom"]
12
- s.date = "2011-10-18"
12
+ s.date = "2011-11-04"
13
13
  s.description = "A group of Unicorns is called a blessing. Blessing gem provides an easy way to manage multiple Unicorn! Rack servers."
14
14
  s.email = "laas.toom@gmail.com"
15
15
  s.executables = ["blessing"]
@@ -92,10 +92,11 @@ module Blessing
92
92
 
93
93
  # See if this Unicorn is alread dead
94
94
  if dead?
95
- logger.warn "This Unicorn is dead: PID=#{pid}, conf=#{@config_file.inspect}"
96
95
  unless resurrect
96
+ logger.warn "Won't touch dead unicorn: PID=#{pid}, conf=#{@config_file.inspect}"
97
97
  return
98
98
  else
99
+ logger.warn "This unicorn is dead: PID=#{pid}, conf=#{@config_file.inspect}"
99
100
  logger.warn "Resurrecting..."
100
101
  end
101
102
  end
@@ -109,11 +110,13 @@ module Blessing
109
110
  ensure_running
110
111
 
111
112
  # if it was dead and is now running, we are successful
112
- if dead? && running?
113
- logger.warn "Successfully resurrected (necromancy +1)!"
114
- @dead = false
115
- else
116
- logger.warn "Resurrection failed!"
113
+ if dead?
114
+ if running?
115
+ logger.warn "Successfully resurrected (necromancy +1)!"
116
+ @dead = false
117
+ else
118
+ logger.warn "Resurrection failed!"
119
+ end
117
120
  end
118
121
  end
119
122
 
@@ -129,8 +132,10 @@ module Blessing
129
132
 
130
133
  # Verify the Unicorn! process is running
131
134
  def running?
135
+ p = pid
136
+ return false if p.nil?
132
137
  begin
133
- Process.kill 0, pid
138
+ Process.kill 0, p
134
139
  true
135
140
  rescue Errno::ESRCH
136
141
  # just verifying; logging should be done elsewhere
@@ -55,13 +55,21 @@ describe Blessing::Runner do
55
55
  runner = Blessing::Runner.new(@conf)
56
56
 
57
57
  pid = 12345
58
- runner.should_receive(:pid).and_return(pid)
59
- Process.should_receive(:kill).with(0, pid).and_return(true)
58
+ runner.should_receive(:pid).ordered.and_return(pid)
59
+ Process.should_receive(:kill).ordered.with(0, pid).and_return(true)
60
60
  runner.running?.should be_true
61
61
 
62
62
  pid = 22345
63
- runner.should_receive(:pid).and_return(pid)
64
- Process.should_receive(:kill).with(0, pid) { raise Errno::ESRCH, "TestException" }
63
+ runner.should_receive(:pid).ordered.and_return(pid)
64
+ Process.should_receive(:kill).ordered.with(0, pid) { raise Errno::ESRCH, "TestException" }
65
+ runner.running?.should_not be_true
66
+ end
67
+
68
+ it "assumes not running when PID is missing" do
69
+ runner = Blessing::Runner.new(@conf)
70
+
71
+ runner.should_receive(:pid).and_return(nil)
72
+ Process.should_not_receive(:kill)
65
73
  runner.running?.should_not be_true
66
74
  end
67
75
 
@@ -2,12 +2,20 @@
2
2
  RSpec::Matchers.define :contain_a_pid_number do
3
3
  match do |actual|
4
4
  if File.exists? actual
5
- pid = File.read(actual).chomp
6
- pid.to_i.to_s == pid.chomp
5
+ @pid = File.read(actual).chomp
6
+ @pid.to_i.to_s == @pid.chomp
7
7
  else
8
8
  false
9
9
  end
10
10
  end
11
+
12
+ failure_message_for_should do |actual|
13
+ "File #{actual} expected to contain PID number instead of: #{@pid.inspect}"
14
+ end
15
+
16
+ failure_message_for_should_not do |actual|
17
+ "File #{actual} expected not to contain PID number: #{@pid.inspect}"
18
+ end
11
19
  end
12
20
 
13
21
  # Check that the pid is still running
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blessing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-18 00:00:00.000000000 Z
12
+ date: 2011-11-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: unicorn
16
- requirement: &2177673060 !ruby/object:Gem::Requirement
16
+ requirement: &2158816680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2177673060
24
+ version_requirements: *2158816680
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: daemons
27
- requirement: &2177671740 !ruby/object:Gem::Requirement
27
+ requirement: &2158814700 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2177671740
35
+ version_requirements: *2158814700
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &2177669440 !ruby/object:Gem::Requirement
38
+ requirement: &2158791100 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.3.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2177669440
46
+ version_requirements: *2158791100
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &2177668660 !ruby/object:Gem::Requirement
49
+ requirement: &2158788900 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.0.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2177668660
57
+ version_requirements: *2158788900
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &2177667980 !ruby/object:Gem::Requirement
60
+ requirement: &2158786800 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2177667980
68
+ version_requirements: *2158786800
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rcov
71
- requirement: &2177667100 !ruby/object:Gem::Requirement
71
+ requirement: &2158785080 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2177667100
79
+ version_requirements: *2158785080
80
80
  description: A group of Unicorns is called a blessing. Blessing gem provides an easy
81
81
  way to manage multiple Unicorn! Rack servers.
82
82
  email: laas.toom@gmail.com
@@ -119,7 +119,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  segments:
121
121
  - 0
122
- hash: -3814883158345661566
122
+ hash: -2309482515618915654
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  none: false
125
125
  requirements: