Exit_0 1.4.1 → 1.4.2
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.
- checksums.yaml +7 -0
- data/Exit_0.gemspec +13 -13
- data/VERSION +1 -0
- data/bin/test +9 -0
- data/lib/Exit_0.rb +0 -1
- data/spec/{tests/Child.rb → Child.rb} +31 -0
- data/spec/{tests/Exit_0.rb → Exit_Zero.rb} +39 -53
- data/spec/{tests/exit_0.rb → exit_0.rb} +2 -0
- data/spec/lib/helper.rb +4 -0
- metadata +42 -74
- data/Rakefile +0 -3
- data/lib/Exit_0/version.rb +0 -1
- data/spec/helper.rb +0 -15
- data/spec/main.rb +0 -15
- data/spec/tests/Exit_Zero.rb +0 -12
- data/spec/tests/bin.rb +0 -10
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b8413fe62fca672eb4e8ad992af7152b984db491
|
4
|
+
data.tar.gz: 555156f50668165a5b5bc578d16d45f8bc30f536
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2ae3f533f9de25a6bd8dc255bfbbd2cfbd677dba17dbeb508c7d736ad7257ae81fcf77347c0a90aa44d6aee3c1b3f6a66b8e1bce424c061b9aa3c1393215152b
|
7
|
+
data.tar.gz: 99cb93d937a79b8bdd98add35a75387855f016f22b12c76a3d53c997840bf3afff0071739f0ad088b1be66b9c255abe060be8b8308c46458b7e5eafc20d6c543
|
data/Exit_0.gemspec
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "Exit_0"
|
8
|
-
s.version =
|
8
|
+
s.version = `cat VERSION`
|
9
9
|
s.authors = ["da99"]
|
10
|
-
s.email
|
10
|
+
s.email = ["i-hate-spam-1234567@mailinator.com"]
|
11
11
|
s.homepage = "https://github.com/da99/Exit_0"
|
12
12
|
s.summary = %q{Make sure your last child process exited with 0.}
|
13
13
|
s.description = %q{
|
@@ -15,18 +15,18 @@ Gem::Specification.new do |s|
|
|
15
15
|
Exit_0::Non_0 if $?.exitstatus is not zero.
|
16
16
|
}
|
17
17
|
|
18
|
+
s.license = "MIT"
|
18
19
|
s.files = `git ls-files`.split("\n")
|
19
20
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
-
s.executables =
|
21
|
+
s.executables = []
|
21
22
|
s.require_paths = ["lib"]
|
22
23
|
|
23
|
-
s.add_development_dependency 'bacon'
|
24
|
-
s.add_development_dependency '
|
25
|
-
s.add_development_dependency '
|
26
|
-
|
27
|
-
|
24
|
+
s.add_development_dependency 'bacon' , '>= 1.2.0'
|
25
|
+
s.add_development_dependency 'Bacon_Colored' , '> 0.1.2'
|
26
|
+
s.add_development_dependency 'pry' , '> 0.10.0'
|
27
|
+
|
28
28
|
# Specify any dependencies here; for example:
|
29
|
-
s.add_runtime_dependency 'posix-spawn'
|
30
|
-
s.add_runtime_dependency 'Split_Lines'
|
31
|
-
s.add_runtime_dependency 'open4'
|
29
|
+
s.add_runtime_dependency 'posix-spawn', '> 0.3.8'
|
30
|
+
s.add_runtime_dependency 'Split_Lines', '> 0.9.9'
|
31
|
+
s.add_runtime_dependency 'open4', '> 1.3.0'
|
32
32
|
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.4.2
|
data/bin/test
ADDED
data/lib/Exit_0.rb
CHANGED
@@ -29,3 +29,34 @@ describe "Child delegate methods" do
|
|
29
29
|
|
30
30
|
end # === Child delegate methods
|
31
31
|
|
32
|
+
describe "Exit_0::Child" do
|
33
|
+
|
34
|
+
# ---- :out
|
35
|
+
|
36
|
+
it "returns stripped :out" do
|
37
|
+
Exit_0::Child.new("pwd").out
|
38
|
+
.should == `pwd`.strip
|
39
|
+
end
|
40
|
+
|
41
|
+
it "returns raw output for :raw_out" do
|
42
|
+
Exit_0::Child.new("pwd").raw_out
|
43
|
+
.should == `pwd`
|
44
|
+
end
|
45
|
+
|
46
|
+
# ---- :err
|
47
|
+
|
48
|
+
it "returns stripped :err" do
|
49
|
+
Exit_0::Child.new("pwdssssss").err
|
50
|
+
.should == `bash -lc "pwdssssss" 2>&1`.strip
|
51
|
+
end
|
52
|
+
|
53
|
+
it "returns raw output for :raw_out" do
|
54
|
+
Exit_0::Child.new("no_exist").err
|
55
|
+
.should.match %r!no_exist: command not found!
|
56
|
+
end
|
57
|
+
|
58
|
+
end # === Exit_0::Child
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
@@ -1,4 +1,43 @@
|
|
1
1
|
|
2
|
+
|
3
|
+
|
4
|
+
describe "Exit_Zero" do
|
5
|
+
|
6
|
+
it "accepts the same arguments as Exit_Zero" do
|
7
|
+
Exit_Zero("grep a", :input=>"a\nb\nc")
|
8
|
+
.out.should == "a"
|
9
|
+
end
|
10
|
+
|
11
|
+
end # === Exit_Zero
|
12
|
+
|
13
|
+
|
14
|
+
describe "Exit_0 { }" do
|
15
|
+
|
16
|
+
it "returns last value of the block" do
|
17
|
+
Exit_0{ POSIX::Spawn::Child.new("ls ~") }
|
18
|
+
.out.should. == `ls ~`
|
19
|
+
end
|
20
|
+
|
21
|
+
it "raises Exit_0::Non_0 if return value has exitstatus != 0" do
|
22
|
+
b = lambda { POSIX::Spawn::Child.new("something_not_found") }
|
23
|
+
lambda {
|
24
|
+
Exit_0(&b)
|
25
|
+
}.should.raise(Exit_0::Non_0)
|
26
|
+
.message.should == "127 => #{b.inspect}"
|
27
|
+
end
|
28
|
+
|
29
|
+
it "raise Unknown_Exit if block return value does not respond to :status and :exitstatus" do
|
30
|
+
target = lambda { :a }
|
31
|
+
lambda {
|
32
|
+
Exit_0(&target)
|
33
|
+
}.should.raise(Exit_0::Unknown_Exit)
|
34
|
+
.message.should.match %r!#{Regexp.escape target.inspect}!
|
35
|
+
end
|
36
|
+
|
37
|
+
end # === Exit_0 { }
|
38
|
+
|
39
|
+
|
40
|
+
|
2
41
|
describe "Exit_0 *cmd" do
|
3
42
|
|
4
43
|
it "accepts the same arguments as POSIX::Spawn::Child" do
|
@@ -45,56 +84,3 @@ describe "Exit_0 *cmd" do
|
|
45
84
|
|
46
85
|
end # === Exit_0 'cmd'
|
47
86
|
|
48
|
-
describe "Exit_0 { }" do
|
49
|
-
|
50
|
-
it "returns last value of the block" do
|
51
|
-
Exit_0{ POSIX::Spawn::Child.new("ls ~") }
|
52
|
-
.out.should. == `ls ~`
|
53
|
-
end
|
54
|
-
|
55
|
-
it "raises Exit_0::Non_0 if return value has exitstatus != 0" do
|
56
|
-
b = lambda { POSIX::Spawn::Child.new("something_not_found") }
|
57
|
-
lambda {
|
58
|
-
Exit_0(&b)
|
59
|
-
}.should.raise(Exit_0::Non_0)
|
60
|
-
.message.should == "127 => #{b.inspect}"
|
61
|
-
end
|
62
|
-
|
63
|
-
it "raise Unknown_Exit if block return value does not respond to :status and :exitstatus" do
|
64
|
-
target = lambda { :a }
|
65
|
-
lambda {
|
66
|
-
Exit_0(&target)
|
67
|
-
}.should.raise(Exit_0::Unknown_Exit)
|
68
|
-
.message.should.match %r!#{Regexp.escape target.inspect}!
|
69
|
-
end
|
70
|
-
|
71
|
-
end # === Exit_0 { }
|
72
|
-
|
73
|
-
describe "Exit_0::Child" do
|
74
|
-
|
75
|
-
# ---- :out
|
76
|
-
|
77
|
-
it "returns stripped :out" do
|
78
|
-
Exit_0::Child.new("pwd").out
|
79
|
-
.should == `pwd`.strip
|
80
|
-
end
|
81
|
-
|
82
|
-
it "returns raw output for :raw_out" do
|
83
|
-
Exit_0::Child.new("pwd").raw_out
|
84
|
-
.should == `pwd`
|
85
|
-
end
|
86
|
-
|
87
|
-
# ---- :err
|
88
|
-
|
89
|
-
it "returns stripped :err" do
|
90
|
-
Exit_0::Child.new("pwdssssss").err
|
91
|
-
.should == `bash -lc "pwdssssss" 2>&1`.strip
|
92
|
-
end
|
93
|
-
|
94
|
-
it "returns raw output for :raw_out" do
|
95
|
-
Exit_0::Child.new("no_exist").err
|
96
|
-
.should.match %r!no_exist: command not found!
|
97
|
-
end
|
98
|
-
|
99
|
-
end # === Exit_0::Child
|
100
|
-
|
data/spec/lib/helper.rb
ADDED
metadata
CHANGED
@@ -1,172 +1,140 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Exit_0
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- da99
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-03-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: bacon
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 1.2.0
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rake
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :development
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
26
|
+
version: 1.2.0
|
46
27
|
- !ruby/object:Gem::Dependency
|
47
28
|
name: Bacon_Colored
|
48
29
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
30
|
requirements:
|
51
|
-
- -
|
31
|
+
- - ">"
|
52
32
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
33
|
+
version: 0.1.2
|
54
34
|
type: :development
|
55
35
|
prerelease: false
|
56
36
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
37
|
requirements:
|
59
|
-
- -
|
38
|
+
- - ">"
|
60
39
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
40
|
+
version: 0.1.2
|
62
41
|
- !ruby/object:Gem::Dependency
|
63
42
|
name: pry
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
44
|
requirements:
|
67
|
-
- -
|
45
|
+
- - ">"
|
68
46
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
47
|
+
version: 0.10.0
|
70
48
|
type: :development
|
71
49
|
prerelease: false
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
51
|
requirements:
|
75
|
-
- -
|
52
|
+
- - ">"
|
76
53
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
54
|
+
version: 0.10.0
|
78
55
|
- !ruby/object:Gem::Dependency
|
79
56
|
name: posix-spawn
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
58
|
requirements:
|
83
|
-
- -
|
59
|
+
- - ">"
|
84
60
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
61
|
+
version: 0.3.8
|
86
62
|
type: :runtime
|
87
63
|
prerelease: false
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
65
|
requirements:
|
91
|
-
- -
|
66
|
+
- - ">"
|
92
67
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
68
|
+
version: 0.3.8
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: Split_Lines
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
72
|
requirements:
|
99
|
-
- -
|
73
|
+
- - ">"
|
100
74
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
75
|
+
version: 0.9.9
|
102
76
|
type: :runtime
|
103
77
|
prerelease: false
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
79
|
requirements:
|
107
|
-
- -
|
80
|
+
- - ">"
|
108
81
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
82
|
+
version: 0.9.9
|
110
83
|
- !ruby/object:Gem::Dependency
|
111
84
|
name: open4
|
112
85
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
86
|
requirements:
|
115
|
-
- -
|
87
|
+
- - ">"
|
116
88
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
89
|
+
version: 1.3.0
|
118
90
|
type: :runtime
|
119
91
|
prerelease: false
|
120
92
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
93
|
requirements:
|
123
|
-
- -
|
94
|
+
- - ">"
|
124
95
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
126
|
-
description:
|
96
|
+
version: 1.3.0
|
97
|
+
description: "\n A simple method that runs a child process and raises\n Exit_0::Non_0
|
127
98
|
if $?.exitstatus is not zero.\n "
|
128
99
|
email:
|
129
|
-
- i-hate-spam-
|
100
|
+
- i-hate-spam-1234567@mailinator.com
|
130
101
|
executables: []
|
131
102
|
extensions: []
|
132
103
|
extra_rdoc_files: []
|
133
104
|
files:
|
134
|
-
- .gitignore
|
105
|
+
- ".gitignore"
|
135
106
|
- Exit_0.gemspec
|
136
107
|
- Gemfile
|
137
108
|
- README.md
|
138
|
-
-
|
109
|
+
- VERSION
|
110
|
+
- bin/test
|
139
111
|
- lib/Exit_0.rb
|
140
|
-
-
|
141
|
-
- spec/
|
142
|
-
- spec/
|
143
|
-
- spec/
|
144
|
-
- spec/tests/Exit_0.rb
|
145
|
-
- spec/tests/Exit_Zero.rb
|
146
|
-
- spec/tests/bin.rb
|
147
|
-
- spec/tests/exit_0.rb
|
112
|
+
- spec/Child.rb
|
113
|
+
- spec/Exit_Zero.rb
|
114
|
+
- spec/exit_0.rb
|
115
|
+
- spec/lib/helper.rb
|
148
116
|
homepage: https://github.com/da99/Exit_0
|
149
|
-
licenses:
|
117
|
+
licenses:
|
118
|
+
- MIT
|
119
|
+
metadata: {}
|
150
120
|
post_install_message:
|
151
121
|
rdoc_options: []
|
152
122
|
require_paths:
|
153
123
|
- lib
|
154
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
125
|
requirements:
|
157
|
-
- -
|
126
|
+
- - ">="
|
158
127
|
- !ruby/object:Gem::Version
|
159
128
|
version: '0'
|
160
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
130
|
requirements:
|
163
|
-
- -
|
131
|
+
- - ">="
|
164
132
|
- !ruby/object:Gem::Version
|
165
133
|
version: '0'
|
166
134
|
requirements: []
|
167
135
|
rubyforge_project:
|
168
|
-
rubygems_version:
|
136
|
+
rubygems_version: 2.4.5
|
169
137
|
signing_key:
|
170
|
-
specification_version:
|
138
|
+
specification_version: 4
|
171
139
|
summary: Make sure your last child process exited with 0.
|
172
140
|
test_files: []
|
data/Rakefile
DELETED
data/lib/Exit_0/version.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Exit_0_Version = "1.4.1"
|
data/spec/helper.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.print e.message, "\n"
|
7
|
-
$stderr.print "Run `bundle install` to install missing gems\n"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
10
|
-
require 'bacon'
|
11
|
-
|
12
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
13
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
14
|
-
|
15
|
-
Bacon.summary_on_exit
|
data/spec/main.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
|
2
|
-
require File.expand_path('spec/helper')
|
3
|
-
require 'Exit_0'
|
4
|
-
require 'Bacon_Colored'
|
5
|
-
require 'pry'
|
6
|
-
|
7
|
-
|
8
|
-
# ======== Include the tests.
|
9
|
-
if ARGV.size > 1 && ARGV[1, ARGV.size - 1].detect { |a| File.exists?(a) }
|
10
|
-
# Do nothing. Bacon grabs the file.
|
11
|
-
else
|
12
|
-
Dir.glob('spec/tests/*.rb').each { |file|
|
13
|
-
require File.expand_path(file.sub('.rb', '')) if File.file?(file)
|
14
|
-
}
|
15
|
-
end
|
data/spec/tests/Exit_Zero.rb
DELETED