childprocess 0.9.0 → 4.1.0

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.
Files changed (51) hide show
  1. checksums.yaml +5 -5
  2. data/.document +6 -6
  3. data/.gitignore +28 -28
  4. data/.rspec +1 -1
  5. data/.travis.yml +37 -44
  6. data/CHANGELOG.md +83 -49
  7. data/Gemfile +9 -15
  8. data/LICENSE +20 -20
  9. data/README.md +230 -196
  10. data/Rakefile +61 -61
  11. data/appveyor.yml +36 -60
  12. data/childprocess.gemspec +26 -30
  13. data/lib/childprocess/abstract_io.rb +36 -36
  14. data/lib/childprocess/abstract_process.rb +192 -192
  15. data/lib/childprocess/errors.rb +37 -26
  16. data/lib/childprocess/jruby/io.rb +16 -16
  17. data/lib/childprocess/jruby/process.rb +184 -159
  18. data/lib/childprocess/jruby/pump.rb +53 -53
  19. data/lib/childprocess/jruby.rb +56 -56
  20. data/lib/childprocess/tools/generator.rb +145 -145
  21. data/lib/childprocess/unix/fork_exec_process.rb +78 -70
  22. data/lib/childprocess/unix/io.rb +21 -21
  23. data/lib/childprocess/unix/lib.rb +186 -186
  24. data/lib/childprocess/unix/platform/arm64-macosx.rb +11 -0
  25. data/lib/childprocess/unix/platform/i386-linux.rb +12 -12
  26. data/lib/childprocess/unix/platform/i386-solaris.rb +11 -11
  27. data/lib/childprocess/unix/platform/x86_64-linux.rb +12 -12
  28. data/lib/childprocess/unix/platform/x86_64-macosx.rb +11 -11
  29. data/lib/childprocess/unix/posix_spawn_process.rb +134 -134
  30. data/lib/childprocess/unix/process.rb +90 -89
  31. data/lib/childprocess/unix.rb +9 -9
  32. data/lib/childprocess/version.rb +3 -3
  33. data/lib/childprocess/windows/handle.rb +91 -91
  34. data/lib/childprocess/windows/io.rb +25 -25
  35. data/lib/childprocess/windows/lib.rb +416 -416
  36. data/lib/childprocess/windows/process.rb +131 -130
  37. data/lib/childprocess/windows/process_builder.rb +178 -175
  38. data/lib/childprocess/windows/structs.rb +148 -148
  39. data/lib/childprocess/windows.rb +38 -33
  40. data/lib/childprocess.rb +210 -205
  41. data/spec/abstract_io_spec.rb +12 -12
  42. data/spec/childprocess_spec.rb +447 -422
  43. data/spec/get_env.ps1 +13 -0
  44. data/spec/io_spec.rb +228 -228
  45. data/spec/jruby_spec.rb +24 -24
  46. data/spec/pid_behavior.rb +12 -12
  47. data/spec/platform_detection_spec.rb +86 -86
  48. data/spec/spec_helper.rb +270 -261
  49. data/spec/unix_spec.rb +57 -57
  50. data/spec/windows_spec.rb +23 -23
  51. metadata +13 -43
data/spec/windows_spec.rb CHANGED
@@ -1,23 +1,23 @@
1
- require File.expand_path('../spec_helper', __FILE__)
2
- require "pid_behavior"
3
-
4
- if ChildProcess.windows?
5
- describe ChildProcess::Windows::Process do
6
- it_behaves_like "a platform that provides the child's pid"
7
- end
8
-
9
- describe ChildProcess::Windows::IO do
10
- let(:io) { ChildProcess::Windows::IO.new }
11
-
12
- it "raises an ArgumentError if given IO does not respond to :fileno" do
13
- expect { io.stdout = nil }.to raise_error(ArgumentError, /must have :fileno or :to_io/)
14
- end
15
-
16
- it "raises an ArgumentError if the #to_io does not return an IO " do
17
- fake_io = Object.new
18
- def fake_io.to_io() StringIO.new end
19
-
20
- expect { io.stdout = fake_io }.to raise_error(ArgumentError, /must have :fileno or :to_io/)
21
- end
22
- end
23
- end
1
+ require File.expand_path('../spec_helper', __FILE__)
2
+ require "pid_behavior"
3
+
4
+ if ChildProcess.windows?
5
+ describe ChildProcess::Windows::Process do
6
+ it_behaves_like "a platform that provides the child's pid"
7
+ end
8
+
9
+ describe ChildProcess::Windows::IO do
10
+ let(:io) { ChildProcess::Windows::IO.new }
11
+
12
+ it "raises an ArgumentError if given IO does not respond to :fileno" do
13
+ expect { io.stdout = nil }.to raise_error(ArgumentError, /must have :fileno or :to_io/)
14
+ end
15
+
16
+ it "raises an ArgumentError if the #to_io does not return an IO " do
17
+ fake_io = Object.new
18
+ def fake_io.to_io() StringIO.new end
19
+
20
+ expect { io.stdout = fake_io }.to raise_error(ArgumentError, /must have :fileno or :to_io/)
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,36 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: childprocess
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jari Bakken
8
8
  - Eric Kessler
9
- autorequire:
9
+ - Shane da Silva
10
+ autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2018-03-10 00:00:00.000000000 Z
13
+ date: 2021-06-09 00:00:00.000000000 Z
13
14
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: ffi
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '1.0'
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.0.11
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- requirements:
28
- - - "~>"
29
- - !ruby/object:Gem::Version
30
- version: '1.0'
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 1.0.11
34
15
  - !ruby/object:Gem::Dependency
35
16
  name: rspec
36
17
  requirement: !ruby/object:Gem::Requirement
@@ -59,20 +40,6 @@ dependencies:
59
40
  - - "~>"
60
41
  - !ruby/object:Gem::Version
61
42
  version: '0.0'
62
- - !ruby/object:Gem::Dependency
63
- name: rake
64
- requirement: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "<"
67
- - !ruby/object:Gem::Version
68
- version: '12.0'
69
- type: :development
70
- prerelease: false
71
- version_requirements: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "<"
74
- - !ruby/object:Gem::Version
75
- version: '12.0'
76
43
  - !ruby/object:Gem::Dependency
77
44
  name: coveralls
78
45
  requirement: !ruby/object:Gem::Requirement
@@ -91,6 +58,7 @@ description: This gem aims at being a simple and reliable solution for controlli
91
58
  external programs running in the background on any Ruby / OS combination.
92
59
  email:
93
60
  - morrow748@gmail.com
61
+ - shane@dasilva.io
94
62
  executables: []
95
63
  extensions: []
96
64
  extra_rdoc_files: []
@@ -119,6 +87,7 @@ files:
119
87
  - lib/childprocess/unix/fork_exec_process.rb
120
88
  - lib/childprocess/unix/io.rb
121
89
  - lib/childprocess/unix/lib.rb
90
+ - lib/childprocess/unix/platform/arm64-macosx.rb
122
91
  - lib/childprocess/unix/platform/i386-linux.rb
123
92
  - lib/childprocess/unix/platform/i386-solaris.rb
124
93
  - lib/childprocess/unix/platform/x86_64-linux.rb
@@ -135,6 +104,7 @@ files:
135
104
  - lib/childprocess/windows/structs.rb
136
105
  - spec/abstract_io_spec.rb
137
106
  - spec/childprocess_spec.rb
107
+ - spec/get_env.ps1
138
108
  - spec/io_spec.rb
139
109
  - spec/jruby_spec.rb
140
110
  - spec/pid_behavior.rb
@@ -142,11 +112,11 @@ files:
142
112
  - spec/spec_helper.rb
143
113
  - spec/unix_spec.rb
144
114
  - spec/windows_spec.rb
145
- homepage: http://github.com/enkessler/childprocess
115
+ homepage: https://github.com/enkessler/childprocess
146
116
  licenses:
147
117
  - MIT
148
118
  metadata: {}
149
- post_install_message:
119
+ post_install_message:
150
120
  rdoc_options: []
151
121
  require_paths:
152
122
  - lib
@@ -154,22 +124,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
154
124
  requirements:
155
125
  - - ">="
156
126
  - !ruby/object:Gem::Version
157
- version: '0'
127
+ version: 2.4.0
158
128
  required_rubygems_version: !ruby/object:Gem::Requirement
159
129
  requirements:
160
130
  - - ">="
161
131
  - !ruby/object:Gem::Version
162
132
  version: '0'
163
133
  requirements: []
164
- rubyforge_project: childprocess
165
- rubygems_version: 2.5.2
166
- signing_key:
134
+ rubygems_version: 3.1.4
135
+ signing_key:
167
136
  specification_version: 4
168
137
  summary: A simple and reliable solution for controlling external programs running
169
138
  in the background on any Ruby / OS combination.
170
139
  test_files:
171
140
  - spec/abstract_io_spec.rb
172
141
  - spec/childprocess_spec.rb
142
+ - spec/get_env.ps1
173
143
  - spec/io_spec.rb
174
144
  - spec/jruby_spec.rb
175
145
  - spec/pid_behavior.rb