testengineer 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
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