extreme_timeout 0.3.1 → 0.3.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 +4 -4
- data/.dockerignore +2 -0
- data/Dockerfile.ruby-2.4 +19 -0
- data/ext/extreme_timeout/extreme_timeout.c +5 -1
- data/extreme_timeout.gemspec +3 -3
- data/spec/extreme_timeout_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +21 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d676f071555cfe4373bcd2d1266821c1d082aad6
|
4
|
+
data.tar.gz: e845dc07c7b3a039f92e00e5341a107d69031b99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 657729b39d27dd8e6e656649fef76e0ef608d9fcdfdac61ce20ff68588564d4bde746ff6b3ad13b1d2377096982aea577ef5b7d66aeacdf7d75b9cbc3d5d4e2b
|
7
|
+
data.tar.gz: 6130a0bbf79d0dea3d64f85f1c0ca8ba163fb0bf95b32f5a1016e0fc7fcfcadc9395d9fbb30e26a4a3dca0483272c9608ad706f380e1604d56cf642ba786481c
|
data/.dockerignore
ADDED
data/Dockerfile.ruby-2.4
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
FROM ruby:2.4
|
2
|
+
|
3
|
+
ENV DEBIAN_FRONTEND noninteractive
|
4
|
+
|
5
|
+
RUN apt-get update
|
6
|
+
|
7
|
+
WORKDIR /src
|
8
|
+
|
9
|
+
COPY Gemfile extreme_timeout.gemspec /src/
|
10
|
+
RUN bundle install -j$(nproc)
|
11
|
+
|
12
|
+
COPY Rakefile /src/
|
13
|
+
COPY ext/extreme_timeout/extconf.rb ext/extreme_timeout/extreme_timeout.c /src/ext/extreme_timeout/
|
14
|
+
RUN bundle exec rake compile
|
15
|
+
|
16
|
+
COPY . /src
|
17
|
+
|
18
|
+
RUN ["/bin/bash"]
|
19
|
+
CMD ["bundle", "exec", "rspec", "-f", "d", "spec"]
|
@@ -82,7 +82,11 @@ timeout_cb(VALUE block)
|
|
82
82
|
return rb_funcall(block, rb_intern("call"), 0);
|
83
83
|
}
|
84
84
|
|
85
|
-
|
85
|
+
/*
|
86
|
+
* NOTE: Exposing this function name "timeout" caused segmentation
|
87
|
+
* fault in some environment (See PR #6).
|
88
|
+
*/
|
89
|
+
static VALUE
|
86
90
|
timeout(int argc, VALUE *argv, VALUE self)
|
87
91
|
{
|
88
92
|
int exitcode = 1, state;
|
data/extreme_timeout.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
Gem::Specification.new do |spec|
|
3
3
|
spec.name = "extreme_timeout"
|
4
|
-
spec.version = "0.3.
|
4
|
+
spec.version = "0.3.2"
|
5
5
|
spec.authors = ["Masaya SUZUKI"]
|
6
6
|
spec.email = ["draftcode@gmail.com"]
|
7
7
|
spec.description = "Timeout from the outside of the GVL"
|
@@ -16,6 +16,6 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
spec.add_development_dependency "bundler", "~> 1.3"
|
18
18
|
spec.add_development_dependency "rake"
|
19
|
-
spec.add_development_dependency "rake-compiler"
|
20
|
-
spec.add_development_dependency "rspec"
|
19
|
+
spec.add_development_dependency "rake-compiler", "~> 1.0.0"
|
20
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
21
21
|
end
|
@@ -14,13 +14,13 @@ describe ExtremeTimeout do
|
|
14
14
|
it 'does not execute the block when it raise an ArgumentError' do
|
15
15
|
executed = false
|
16
16
|
expect { ExtremeTimeout::timeout('10') { executed = true } }.to raise_error(ArgumentError)
|
17
|
-
expect(executed).to
|
17
|
+
expect(executed).to be_falsey
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'executes block' do
|
21
21
|
executed = false
|
22
22
|
ExtremeTimeout::timeout(10) { executed = true }
|
23
|
-
expect(executed).to
|
23
|
+
expect(executed).to be_truthy
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'returns the block return value' do
|
data/spec/spec_helper.rb
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
require 'extreme_timeout'
|
8
8
|
require 'timeout'
|
9
9
|
|
10
|
-
ext = File.expand_path('../../
|
10
|
+
ext = File.expand_path('../../lib', __FILE__)
|
11
11
|
$LOAD_PATH.unshift(ext) unless $LOAD_PATH.include?(ext)
|
12
12
|
RSpec.configure do |config|
|
13
13
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extreme_timeout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masaya SUZUKI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake-compiler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.0.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 3.0.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 3.0.0
|
69
69
|
description: Timeout from the outside of the GVL
|
70
70
|
email:
|
71
71
|
- draftcode@gmail.com
|
@@ -74,8 +74,10 @@ extensions:
|
|
74
74
|
- ext/extreme_timeout/extconf.rb
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
-
- .
|
78
|
-
- .
|
77
|
+
- ".dockerignore"
|
78
|
+
- ".gitignore"
|
79
|
+
- ".rspec"
|
80
|
+
- Dockerfile.ruby-2.4
|
79
81
|
- Gemfile
|
80
82
|
- LICENSE.txt
|
81
83
|
- README.md
|
@@ -95,17 +97,17 @@ require_paths:
|
|
95
97
|
- lib
|
96
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
97
99
|
requirements:
|
98
|
-
- -
|
100
|
+
- - ">="
|
99
101
|
- !ruby/object:Gem::Version
|
100
102
|
version: '0'
|
101
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
104
|
requirements:
|
103
|
-
- -
|
105
|
+
- - ">="
|
104
106
|
- !ruby/object:Gem::Version
|
105
107
|
version: '0'
|
106
108
|
requirements: []
|
107
109
|
rubyforge_project:
|
108
|
-
rubygems_version: 2.
|
110
|
+
rubygems_version: 2.6.8
|
109
111
|
signing_key:
|
110
112
|
specification_version: 4
|
111
113
|
summary: Timeout from the outside of the GVL
|