proc-wait3 1.7.1 → 1.9.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.
metadata CHANGED
@@ -1,17 +1,44 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: proc-wait3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
- cert_chain: []
11
- date: 2014-04-24 00:00:00.000000000 Z
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIEcDCCAtigAwIBAgIBATANBgkqhkiG9w0BAQsFADA/MREwDwYDVQQDDAhkamJl
14
+ cmc5NjEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29t
15
+ MB4XDTE4MDMxODE1MjIwN1oXDTI4MDMxNTE1MjIwN1owPzERMA8GA1UEAwwIZGpi
16
+ ZXJnOTYxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2Nv
17
+ bTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALgfaroVM6CI06cxr0/h
18
+ A+j+pc8fgpRgBVmHFaFunq28GPC3IvW7Nvc3Y8SnAW7pP1EQIbhlwRIaQzJ93/yj
19
+ u95KpkP7tA9erypnV7dpzBkzNlX14ACaFD/6pHoXoe2ltBxk3CCyyzx70mTqJpph
20
+ 75IB03ni9a8yqn8pmse+s83bFJOAqddSj009sGPcQO+QOWiNxqYv1n5EHcvj2ebO
21
+ 6hN7YTmhx7aSia4qL/quc4DlIaGMWoAhvML7u1fmo53CYxkKskfN8MOecq2vfEmL
22
+ iLu+SsVVEAufMDDFMXMJlvDsviolUSGMSNRTujkyCcJoXKYYxZSNtIiyd9etI0X3
23
+ ctu0uhrFyrMZXCedutvXNjUolD5r9KGBFSWH1R9u2I3n3SAyFF2yzv/7idQHLJJq
24
+ 74BMnx0FIq6fCpu5slAipvxZ3ZkZpEXZFr3cIBtO1gFvQWW7E/Y3ijliWJS1GQFq
25
+ 058qERadHGu1yu1dojmFRo6W2KZvY9al2yIlbkpDrD5MYQIDAQABo3cwdTAJBgNV
26
+ HRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUFZsMapgzJimzsbaBG2Tm8j5e
27
+ AzgwHQYDVR0RBBYwFIESZGpiZXJnOTZAZ21haWwuY29tMB0GA1UdEgQWMBSBEmRq
28
+ YmVyZzk2QGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAYEAW2tnYixXQtKxgGXq
29
+ /3iSWG2bLwvxS4go3srO+aRXZHrFUMlJ5W0mCxl03aazxxKTsVVpZD8QZxvK91OQ
30
+ h9zr9JBYqCLcCVbr8SkmYCi/laxIZxsNE5YI8cC8vvlLI7AMgSfPSnn/Epq1GjGY
31
+ 6L1iRcEDtanGCIvjqlCXO9+BmsnCfEVehqZkQHeYczA03tpOWb6pon2wzvMKSsKH
32
+ ks0ApVdstSLz1kzzAqem/uHdG9FyXdbTAwH1G4ZPv69sQAFAOCgAqYmdnzedsQtE
33
+ 1LQfaQrx0twO+CZJPcRLEESjq8ScQxWRRkfuh2VeR7cEU7L7KqT10mtUwrvw7APf
34
+ DYoeCY9KyjIBjQXfbj2ke5u1hZj94Fsq9FfbEQg8ygCgwThnmkTrrKEiMSs3alYR
35
+ ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
36
+ WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
37
+ -----END CERTIFICATE-----
38
+ date: 2021-01-07 00:00:00.000000000 Z
12
39
  dependencies:
13
40
  - !ruby/object:Gem::Dependency
14
- name: test-unit
41
+ name: rake
15
42
  requirement: !ruby/object:Gem::Requirement
16
43
  requirements:
17
44
  - - ">="
@@ -25,19 +52,19 @@ dependencies:
25
52
  - !ruby/object:Gem::Version
26
53
  version: '0'
27
54
  - !ruby/object:Gem::Dependency
28
- name: rake
55
+ name: rspec
29
56
  requirement: !ruby/object:Gem::Requirement
30
57
  requirements:
31
- - - ">="
58
+ - - "~>"
32
59
  - !ruby/object:Gem::Version
33
- version: '0'
60
+ version: '3.9'
34
61
  type: :development
35
62
  prerelease: false
36
63
  version_requirements: !ruby/object:Gem::Requirement
37
64
  requirements:
38
- - - ">="
65
+ - - "~>"
39
66
  - !ruby/object:Gem::Version
40
- version: '0'
67
+ version: '3.9'
41
68
  description: |2
42
69
  The proc-wait3 library adds the wait3, wait4, waitid, pause, sigsend,
43
70
  and getrusage methods to the Process module.
@@ -45,16 +72,15 @@ email: djberg96@gmail.com
45
72
  executables: []
46
73
  extensions:
47
74
  - ext/extconf.rb
48
- extra_rdoc_files:
49
- - CHANGES
50
- - README
51
- - MANIFEST
52
- - ext/proc/wait3.c
75
+ extra_rdoc_files: []
53
76
  files:
54
- - CHANGES
55
- - MANIFEST
56
- - README
77
+ - CHANGES.md
78
+ - Gemfile
79
+ - LICENSE
80
+ - MANIFEST.md
81
+ - README.md
57
82
  - Rakefile
83
+ - certs/djberg96_pub.pem
58
84
  - doc/wait3.txt
59
85
  - examples/example_getrusage.rb
60
86
  - examples/example_pause.rb
@@ -63,13 +89,20 @@ files:
63
89
  - examples/example_waitid.rb
64
90
  - ext/extconf.rb
65
91
  - ext/proc/wait3.c
92
+ - lib/proc-wait3.rb
66
93
  - proc-wait3.gemspec
67
- - test/test_proc_wait3.rb
94
+ - spec/proc_wait3_spec.rb
68
95
  homepage: https://github.com/djberg96/proc-wait3
69
96
  licenses:
70
- - Artistic 2.0
71
- metadata: {}
72
- post_install_message:
97
+ - Apache-2.0
98
+ metadata:
99
+ homepage_uri: https://github.com/djberg96/proc-wait3
100
+ bug_tracker_uri: https://github.com/djberg96/proc-wait3/issues
101
+ changelog_uri: https://github.com/djberg96/proc-wait3/blob/master/CHANGES.md
102
+ documentation_uri: https://github.com/djberg96/proc-wait3/wiki
103
+ source_code_uri: https://github.com/djberg96/proc-wait3
104
+ wiki_uri: https://github.com/djberg96/proc-wait3/wiki
105
+ post_install_message:
73
106
  rdoc_options: []
74
107
  require_paths:
75
108
  - lib
@@ -84,10 +117,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
117
  - !ruby/object:Gem::Version
85
118
  version: '0'
86
119
  requirements: []
87
- rubyforge_project:
88
- rubygems_version: 2.2.2
89
- signing_key:
120
+ rubygems_version: 3.0.3
121
+ signing_key:
90
122
  specification_version: 4
91
123
  summary: Adds wait3, wait4 and other methods to the Process module
92
124
  test_files:
93
- - test/test_proc_wait3.rb
125
+ - spec/proc_wait3_spec.rb
@@ -0,0 +1,2 @@
1
+ =+����Nv'�,��ס�%:� ���h���:/}��}Dc����'5�NL$q �L��T�㼨��q�؊e۾��䗺4�&���M-K��zrE,�R&��l΁'fX�^N3w;w ��=�Ho��V�R��s�˖�?d6G�
2
+ �8��pw ��~ط��?������3��=���Y����t����5�X�!v�ʷf��lX ���M�2Y`���ԱR��ȒM��L*f��
data/MANIFEST DELETED
@@ -1,14 +0,0 @@
1
- CHANGES
2
- MANIFEST
3
- Rakefile
4
- README
5
- proc-wait3.gemspec
6
- doc/wait3.txt
7
- ext/extconf.rb
8
- ext/proc/wait3.c
9
- examples/example_getrusage.rb
10
- examples/example_pause.rb
11
- examples/example_wait3.rb
12
- examples/example_wait4.rb
13
- examples/example_waitid.rb
14
- test/test_proc_wait3.rb
data/README DELETED
@@ -1,46 +0,0 @@
1
- = Description
2
- Adds the wait3, wait4, waitid, pause, sigsend, and getrusage methods to
3
- the Process module.
4
-
5
- = Installation
6
- gem install proc-wait3
7
-
8
- = Synopsis
9
- require 'proc/wait3'
10
-
11
- pid = fork{
12
- sleep 1
13
- exit 2
14
- }
15
-
16
- puts Time.now.to_s
17
- Process.wait3
18
- puts $?.exitstatus # => 2
19
-
20
- = Tested Platforms
21
- * Solaris
22
- * Linux
23
- * FreeBSD
24
- * OS X
25
-
26
- = Warnings
27
- Linux users who compile with gcc -Wall will notice a few warnings. These
28
- are harmless (and unavoidable atm).
29
-
30
- = Integration with Ruby's process.c
31
-
32
- I considered simply providing a patch to the core process.c file, but I
33
- decided against it for two reasons. First, I wanted to get something
34
- out more quickly rather than waiting for approval from the core developers
35
- who, based on an earlier post, seem somewhat gun-shy about integrating support
36
- for wait3() and wait4() based, I think, on portability concerns.
37
-
38
- Second, and more importantly, I don't like the cProcStatus class. The
39
- extra inspection code seems like an awful lot of work for very little gain.
40
- The overloaded methods are also overkill, and do nothing but save me the
41
- trouble of typing the word "status", since all they're for is comparing or
42
- operating on the status attribute.
43
-
44
- = Additional Documentation
45
-
46
- Please see the doc/wait3.txt file for detailed documentation.
@@ -1,223 +0,0 @@
1
- ##################################################################
2
- # test_proc_wait3.rb
3
- #
4
- # Test suite for the Ruby proc-wait3 package. You should run this
5
- # via the 'test' rake task.
6
- ##################################################################
7
- require 'proc/wait3'
8
- require 'test-unit'
9
- require 'rbconfig'
10
-
11
- class TC_Proc_Wait3 < Test::Unit::TestCase
12
- def self.startup
13
- @@solaris = RbConfig::CONFIG['host_os'] =~ /sunos|solaris/i
14
- @@darwin = RbConfig::CONFIG['host_os'] =~ /darwin|osx/i
15
- @@hpux = RbConfig::CONFIG['host_os'] =~ /hpux/i
16
- @@linux = RbConfig::CONFIG['host_os'] =~ /linux/i
17
- @@freebsd = RbConfig::CONFIG['host_os'] =~ /bsd/i
18
- end
19
-
20
- def setup
21
- @proc_stat = nil
22
- @proc_stat_members = [
23
- "pid", "status", "utime", "stime", "maxrss",
24
- "ixrss", "idrss", "isrss", "minflt", "majflt", "nswap", "inblock",
25
- "oublock", "msgsnd", "msgrcv", "nsignals", "nvcsw", "nivcsw",
26
- "stopped", "signaled","exited","success","coredump","exitstatus",
27
- "termsig", "stopsig"
28
- ]
29
-
30
- if RUBY_VERSION.to_f >= 1.9
31
- @proc_stat_members = @proc_stat_members.map{ |e| e.to_sym }
32
- end
33
- end
34
-
35
- test "version constant is set to expected value" do
36
- assert_equal('1.7.1', Process::WAIT3_VERSION)
37
- end
38
-
39
- test "wait3 method is defined" do
40
- assert_respond_to(Process, :wait3)
41
- end
42
-
43
- test "wait3 works as expected" do
44
- fork{ sleep 0.5 }
45
- assert_nothing_raised{ Process.wait3 }
46
- end
47
-
48
- test "wait3 returns the expected proc status membes" do
49
- fork{ sleep 0.5 }
50
- assert_nothing_raised{ @proc_stat = Process.wait3 }
51
- assert_equal(@proc_stat_members, @proc_stat.members)
52
- end
53
-
54
- test "wait3 with WNOHANG works as expected" do
55
- fork{ sleep 0.5 }
56
- assert_nothing_raised{ Process.wait3(Process::WNOHANG) }
57
- end
58
-
59
- test "wait3 sets and returns $last_status to expected values" do
60
- fork{ sleep 0.5 }
61
- Process.wait3
62
- assert_kind_of(Struct::ProcStat, $last_status)
63
- assert_not_nil($last_status)
64
- end
65
-
66
- test "wait3 sets pid and status members of $?" do
67
- fork{ sleep 0.5 }
68
- Process.wait3
69
- assert_not_nil($?)
70
- end
71
-
72
- test "wait3 returns frozen struct" do
73
- fork{ sleep 0.5 }
74
- struct = Process.wait3
75
- assert_true(struct.frozen?)
76
- end
77
-
78
- test "getdtablesize works as expected" do
79
- omit_unless(@@solaris, 'getdtablesize skipped on this platform')
80
-
81
- assert_respond_to(Process, :getdtablesize)
82
- assert_kind_of(Fixnum, Process.getdtablesize)
83
- assert(Process.getdtablesize > 0)
84
- end
85
-
86
- test "wait4 method is defined" do
87
- omit_if(@@hpux, 'wait4 test skipped on this platform')
88
- assert_respond_to(Process,:wait4)
89
- end
90
-
91
- test "wait4 requires at least one argument" do
92
- assert_raises(ArgumentError){ Process.wait4 }
93
- end
94
-
95
- test "wait4 works as expected" do
96
- omit_if(@@hpux, 'wait4 test skipped on this platform')
97
-
98
- pid = fork{ sleep 0.5 }
99
- assert_nothing_raised{ @proc_stat = Process.wait4(pid) }
100
- assert_kind_of(Struct::ProcStat, @proc_stat)
101
- end
102
-
103
- test "wait4 sets and returns $last_status to expected values" do
104
- pid = fork{ sleep 0.5 }
105
- Process.wait4(pid)
106
- assert_kind_of(Struct::ProcStat, $last_status)
107
- assert_not_nil($last_status)
108
- end
109
-
110
- test "wait4 sets pid and status members of $?" do
111
- pid = fork{ sleep 0.5 }
112
- Process.wait4(pid)
113
- assert_not_nil($?)
114
- end
115
-
116
- test "wait4 returns frozen struct" do
117
- pid = fork{ sleep 0.5 }
118
- struct = Process.wait4(pid)
119
- assert_true(struct.frozen?)
120
- end
121
-
122
- test "waitid method is defined" do
123
- omit_if(@@hpux || @@darwin || @@freebsd, 'waitid test skipped on this platform')
124
- assert_respond_to(Process, :waitid)
125
- end
126
-
127
- test "waitid method works as expected" do
128
- omit_if(@@hpux || @@darwin || @@freebsd, 'waitid test skipped on this platform')
129
- pid = fork{ sleep 0.5 }
130
- assert_nothing_raised{ Process.waitid(Process::P_PID, pid, Process::WEXITED) }
131
- end
132
-
133
- test "waitid method raises expected errors if wrong argument type is passed" do
134
- omit_if(@@hpux || @@darwin || @@freebsd, 'waitid test skipped on this platform')
135
- pid = fork{ sleep 0.5 }
136
- assert_raises(TypeError){ Process.waitid("foo", pid, Process::WEXITED) }
137
- assert_raises(TypeError){ Process.waitid(Process::P_PID, pid, "foo") }
138
- assert_raises(TypeError){ Process.waitid(Process::P_PID, "foo", Process::WEXITED) }
139
- end
140
-
141
- test "waitid method raises expected error if invalid argument is passed" do
142
- omit_if(@@hpux || @@darwin || @@freebsd, 'waitid test skipped on this platform')
143
- fork{ sleep 0.5 }
144
- assert_raises(Errno::ECHILD, Errno::EINVAL){ Process.waitid(Process::P_PID, 99999999, Process::WEXITED) }
145
- end
146
-
147
- test "sigsend method is defined" do
148
- omit_unless(@@solaris, 'sigsend test skipped on this platform')
149
- assert_respond_to(Process, :sigsend)
150
- end
151
-
152
- test "sigsend works as expected" do
153
- omit_unless(@@solaris, 'sigsend test skipped on this platform')
154
- pid = fork{ sleep 0.5 }
155
- assert_nothing_raised{ Process.sigsend(Process::P_PID, pid, 0) }
156
- end
157
-
158
- test "getrusage method is defined" do
159
- assert_respond_to(Process, :getrusage)
160
- end
161
-
162
- test "getrusage works as expected" do
163
- fork{ sleep 0.5 }
164
- assert_nothing_raised{ Process.getrusage }
165
- assert_nothing_raised{ Process.getrusage(true) }
166
- end
167
-
168
- test "getrusage returns the expected struct" do
169
- fork{ sleep 0.5 }
170
- assert_kind_of(Struct::RUsage, Process.getrusage)
171
- assert_kind_of(Float, Process.getrusage.stime)
172
- assert_kind_of(Float, Process.getrusage.utime)
173
- end
174
-
175
- test "pause method is defined" do
176
- assert_respond_to(Process, :pause)
177
- end
178
-
179
- test "expected constants are defined" do
180
- omit_if(@@darwin || @@freebsd, 'wait constant check skipped on this platform')
181
-
182
- assert_not_nil(Process::WCONTINUED)
183
- assert_not_nil(Process::WEXITED)
184
- assert_not_nil(Process::WNOWAIT)
185
- assert_not_nil(Process::WSTOPPED)
186
-
187
- omit_if(@@linux, 'WTRAPPED constant check skipped on this platform')
188
- assert_not_nil(Process::WTRAPPED)
189
- end
190
-
191
- test "expected process type flag constants are defined" do
192
- omit_if(@@linux || @@darwin || @@freebsd, 'process type flag check skipped on this platform')
193
-
194
- assert_not_nil(Process::P_ALL)
195
- assert_not_nil(Process::P_CID)
196
- assert_not_nil(Process::P_GID)
197
- assert_not_nil(Process::P_MYID) unless @@solaris
198
- assert_not_nil(Process::P_PGID)
199
- assert_not_nil(Process::P_PID)
200
- assert_not_nil(Process::P_SID)
201
- assert_not_nil(Process::P_UID)
202
- end
203
-
204
- test "solaris-specific process type flags are defined on solaris" do
205
- omit_unless(@@solaris, 'P_TASKID and P_PROJID constant check skipped on this platform')
206
-
207
- assert_not_nil(Process::P_TASKID)
208
- assert_not_nil(Process::P_PROJID)
209
- end
210
-
211
- def teardown
212
- @proc_stat = nil
213
- @proc_stat_members = nil
214
- end
215
-
216
- def self.shutdown
217
- @@solaris = nil
218
- @@darwin = nil
219
- @@hpux = nil
220
- @@linux = nil
221
- @@freebsd = nil
222
- end
223
- end