testengineer 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # TestEngineer
2
2
 
3
3
 
4
+ [![Build Status](https://buildhive.cloudbees.com/job/lookout/job/testengineer/badge/icon)](https://buildhive.cloudbees.com/job/lookout/job/testengineer/)
5
+
4
6
  TestEngineer is a simple gem which adds some code around
5
7
  [foreman](https://github.com/ddollar/foreman) for integration testing.
6
8
 
@@ -64,7 +64,11 @@ module TestEngineer
64
64
  end
65
65
 
66
66
  def self.stop_stack
67
- foreman.send(:terminate_gracefully) unless foreman.nil?
67
+ begin
68
+ foreman.send(:terminate_gracefully) unless foreman.nil?
69
+ rescue Errno::ECHILD => e
70
+ # Children terminated before we could kill them, no big deal
71
+ end
68
72
  foreman = nil
69
73
  end
70
74
  end
@@ -1,3 +1,5 @@
1
+ require 'testengineer'
2
+
1
3
  Around('@testengineer') do |scenario, block|
2
4
  TestEngineer.start_stack
3
5
  begin
@@ -76,10 +76,24 @@ describe TestEngineer do
76
76
  subject.stop_stack
77
77
  end
78
78
 
79
- it 'should invoke #terminate_gracefully if foreman exists' do
80
- foreman.should_receive(:terminate_gracefully)
81
- subject.stub(:foreman).and_return(foreman)
82
- subject.stop_stack
79
+ context 'with a stubbed foreman' do
80
+ before :each do
81
+ subject.stub(:foreman).and_return(foreman)
82
+ end
83
+
84
+ it 'should invoke #terminate_gracefully if foreman exists' do
85
+ foreman.should_receive(:terminate_gracefully)
86
+ subject.stop_stack
87
+ end
88
+
89
+ it 'should catch and hide ECHILD gracefully' do
90
+ foreman.stub(:terminate_gracefully) do
91
+ raise Errno::ECHILD
92
+ end
93
+
94
+ expect { subject.stop_stack }.not_to raise_error(Errno::ECHILD)
95
+ end
83
96
  end
97
+
84
98
  end
85
99
  end
metadata CHANGED
@@ -1,75 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: testengineer
3
- version: !ruby/object:Gem::Version
4
- hash: 31
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 2
10
- version: 0.1.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - R. Tyler Croy
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-04-17 00:00:00 +00:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- requirement: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- hash: 3
28
- segments:
29
- - 0
30
- version: "0"
31
- version_requirements: *id001
12
+ date: 2012-08-08 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
32
15
  name: foreman
33
- prerelease: false
34
- type: :runtime
35
- - !ruby/object:Gem::Dependency
36
- requirement: &id002 !ruby/object:Gem::Requirement
16
+ requirement: &13955460 !ruby/object:Gem::Requirement
37
17
  none: false
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- hash: 3
42
- segments:
43
- - 0
44
- version: "0"
45
- version_requirements: *id002
46
- name: rake
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
47
23
  prerelease: false
48
- type: :development
49
- - !ruby/object:Gem::Dependency
50
- requirement: &id003 !ruby/object:Gem::Requirement
24
+ version_requirements: *13955460
25
+ - !ruby/object:Gem::Dependency
26
+ name: rake
27
+ requirement: &13955040 !ruby/object:Gem::Requirement
51
28
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- hash: 3
56
- segments:
57
- - 0
58
- version: "0"
59
- version_requirements: *id003
60
- name: rspec
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
61
34
  prerelease: false
35
+ version_requirements: *13955040
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ requirement: &13954620 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
62
44
  type: :development
45
+ prerelease: false
46
+ version_requirements: *13954620
63
47
  description: TestEngineer
64
- email:
48
+ email:
65
49
  - rtyler.croy@mylookout.com
66
50
  executables: []
67
-
68
51
  extensions: []
69
-
70
52
  extra_rdoc_files: []
71
-
72
- files:
53
+ files:
73
54
  - .gitignore
74
55
  - Gemfile
75
56
  - LICENSE
@@ -81,40 +62,30 @@ files:
81
62
  - spec/spec_helper.rb
82
63
  - spec/testengineer/main_spec.rb
83
64
  - testengineer.gemspec
84
- has_rdoc: true
85
- homepage: ""
65
+ homepage: ''
86
66
  licenses: []
87
-
88
67
  post_install_message:
89
68
  rdoc_options: []
90
-
91
- require_paths:
69
+ require_paths:
92
70
  - lib
93
- required_ruby_version: !ruby/object:Gem::Requirement
71
+ required_ruby_version: !ruby/object:Gem::Requirement
94
72
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
102
- required_rubygems_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
78
  none: false
104
- requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- hash: 3
108
- segments:
109
- - 0
110
- version: "0"
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
111
83
  requirements: []
112
-
113
84
  rubyforge_project:
114
- rubygems_version: 1.6.2
85
+ rubygems_version: 1.8.10
115
86
  signing_key:
116
87
  specification_version: 3
117
88
  summary: TestEngineer
118
- test_files:
89
+ test_files:
119
90
  - spec/spec_helper.rb
120
91
  - spec/testengineer/main_spec.rb