nonnative 1.40.0 → 1.41.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.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +20 -9
- data/README.md +78 -20
- data/lib/nonnative.rb +2 -1
- data/lib/nonnative/configuration.rb +2 -0
- data/lib/nonnative/configuration_process.rb +2 -2
- data/lib/nonnative/configuration_server.rb +2 -14
- data/lib/nonnative/configuration_service.rb +19 -0
- data/lib/nonnative/pool.rb +6 -1
- data/lib/nonnative/{command.rb → process.rb} +13 -11
- data/lib/nonnative/server.rb +0 -6
- data/lib/nonnative/service.rb +3 -0
- data/lib/nonnative/version.rb +1 -1
- data/nonnative.gemspec +1 -1
- metadata +11 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 50953dcfe695bf9196b5d3968a88f15fa6db81c630c0537e8c796ad63486d15f
|
|
4
|
+
data.tar.gz: f910aec0fdb41fd9cea678657be191be85756d2c99ae45d64750a6f31c2534f7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 621d4af2d17163e749f0a706b991a52583f32603f64ba3a0fd978c31961c1de11c4b713a0023e0baf7309a9abf072f8642a4551d5a87d1c33bb4caa8844116b6
|
|
7
|
+
data.tar.gz: 7f1516ab344e4ce99388046490809cb6a63e4de40909aab41c018b73d18e70d3d3b6c76069b9a747a15eed801d9bc94d83e097012bd82cdbcc49ff7a140443eb
|
data/.coveralls.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
repo_token: x3EcMK4Nr770BeIFZengeQ2DLDCDjNfNo
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.41.0](https://github.com/alexfalkowski/nonnative/compare/v1.40.2...v1.41.0) (2021-04-30)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add proxy to processes ([#79](https://github.com/alexfalkowski/nonnative/issues/79)) ([d52b2bb](https://github.com/alexfalkowski/nonnative/commit/d52b2bb6fad91612f9b9a64817c861d1c227ef0b))
|
|
11
|
+
|
|
12
|
+
### [1.40.2](https://github.com/alexfalkowski/nonnative/compare/v1.40.1...v1.40.2) (2021-04-27)
|
|
13
|
+
|
|
14
|
+
### [1.40.1](https://github.com/alexfalkowski/nonnative/compare/v1.40.0...v1.40.1) (2021-04-27)
|
|
15
|
+
|
|
5
16
|
## [1.40.0](https://github.com/alexfalkowski/nonnative/compare/v1.39.0...v1.40.0) (2021-04-25)
|
|
6
17
|
|
|
7
18
|
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nonnative (1.
|
|
4
|
+
nonnative (1.41.0)
|
|
5
5
|
concurrent-ruby (~> 1.0, >= 1.0.5)
|
|
6
6
|
cucumber (>= 6, < 7)
|
|
7
7
|
grpc (>= 1, < 2)
|
|
@@ -29,6 +29,12 @@ GEM
|
|
|
29
29
|
benchmark-trend (0.4.0)
|
|
30
30
|
builder (3.2.4)
|
|
31
31
|
concurrent-ruby (1.1.8)
|
|
32
|
+
coveralls (0.8.23)
|
|
33
|
+
json (>= 1.8, < 3)
|
|
34
|
+
simplecov (~> 0.16.1)
|
|
35
|
+
term-ansicolor (~> 1.3)
|
|
36
|
+
thor (>= 0.19.4, < 2.0)
|
|
37
|
+
tins (~> 1.6)
|
|
32
38
|
cucumber (6.0.0)
|
|
33
39
|
builder (~> 3.2, >= 3.2.4)
|
|
34
40
|
cucumber-core (~> 9.0, >= 9.0.0)
|
|
@@ -70,16 +76,17 @@ GEM
|
|
|
70
76
|
google-protobuf (3.15.8)
|
|
71
77
|
googleapis-common-protos-types (1.0.6)
|
|
72
78
|
google-protobuf (~> 3.14)
|
|
73
|
-
grpc (1.37.
|
|
79
|
+
grpc (1.37.1)
|
|
74
80
|
google-protobuf (~> 3.15)
|
|
75
81
|
googleapis-common-protos-types (~> 1.0)
|
|
76
|
-
grpc-tools (1.37.
|
|
82
|
+
grpc-tools (1.37.1)
|
|
77
83
|
http-accept (1.7.0)
|
|
78
84
|
http-cookie (1.0.3)
|
|
79
85
|
domain_name (~> 0.5)
|
|
80
86
|
i18n (1.8.10)
|
|
81
87
|
concurrent-ruby (~> 1.0)
|
|
82
88
|
jaro_winkler (1.5.4)
|
|
89
|
+
json (2.5.1)
|
|
83
90
|
kramdown (2.3.1)
|
|
84
91
|
rexml
|
|
85
92
|
kramdown-parser-gfm (1.1.0)
|
|
@@ -153,12 +160,11 @@ GEM
|
|
|
153
160
|
parser (>= 2.7.1.5)
|
|
154
161
|
ruby-progressbar (1.11.0)
|
|
155
162
|
ruby2_keywords (0.0.4)
|
|
156
|
-
simplecov (0.
|
|
163
|
+
simplecov (0.16.1)
|
|
157
164
|
docile (~> 1.1)
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
simplecov-html (0.
|
|
161
|
-
simplecov_json_formatter (0.1.2)
|
|
165
|
+
json (>= 1.8, < 3)
|
|
166
|
+
simplecov-html (~> 0.10.0)
|
|
167
|
+
simplecov-html (0.10.2)
|
|
162
168
|
sinatra (2.1.0)
|
|
163
169
|
mustermann (~> 1.0)
|
|
164
170
|
rack (~> 2.2)
|
|
@@ -178,11 +184,16 @@ GEM
|
|
|
178
184
|
thor (~> 1.0)
|
|
179
185
|
tilt (~> 2.0)
|
|
180
186
|
yard (~> 0.9, >= 0.9.24)
|
|
187
|
+
sync (0.5.0)
|
|
181
188
|
sys-uname (1.2.2)
|
|
182
189
|
ffi (~> 1.1)
|
|
190
|
+
term-ansicolor (1.7.1)
|
|
191
|
+
tins (~> 1.0)
|
|
183
192
|
thor (1.0.1)
|
|
184
193
|
thread_safe (0.3.6)
|
|
185
194
|
tilt (2.0.10)
|
|
195
|
+
tins (1.28.0)
|
|
196
|
+
sync
|
|
186
197
|
tzinfo (2.0.4)
|
|
187
198
|
concurrent-ruby (~> 1.0)
|
|
188
199
|
unf (0.1.4)
|
|
@@ -197,9 +208,9 @@ PLATFORMS
|
|
|
197
208
|
|
|
198
209
|
DEPENDENCIES
|
|
199
210
|
bundler (~> 2.1, >= 2.1.4)
|
|
211
|
+
coveralls (~> 0.8.23)
|
|
200
212
|
nonnative!
|
|
201
213
|
rubocop (~> 1.12)
|
|
202
|
-
simplecov (~> 0.21.2)
|
|
203
214
|
solargraph (~> 0.40.4)
|
|
204
215
|
|
|
205
216
|
BUNDLED WITH
|
data/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
[](https://circleci.com/gh/alexfalkowski/nonnative)
|
|
2
|
+
[](https://coveralls.io/github/alexfalkowski/nonnative?branch=master)
|
|
2
3
|
|
|
3
4
|
# Nonnative
|
|
4
5
|
|
|
@@ -60,21 +61,21 @@ require 'nonnative'
|
|
|
60
61
|
Nonnative.configure do |config|
|
|
61
62
|
config.strategy = :startup
|
|
62
63
|
|
|
63
|
-
config.process do |
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
64
|
+
config.process do |p|
|
|
65
|
+
p.name = 'start_1'
|
|
66
|
+
p.command = 'features/support/bin/start 12_321'
|
|
67
|
+
p.timeout = config.strategy.timeout
|
|
68
|
+
p.port = 12_321
|
|
69
|
+
p.log = 'features/logs/12_321.log'
|
|
70
|
+
p.signal = 'INT' # Possible values are described in Signal.list.keys
|
|
70
71
|
end
|
|
71
72
|
|
|
72
|
-
config.process do |
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
config.process do |p|
|
|
74
|
+
p.name = 'start_2'
|
|
75
|
+
p.command = 'features/support/bin/start 12_322'
|
|
76
|
+
p.timeout = 0.5
|
|
77
|
+
p.port = 12_322
|
|
78
|
+
p.log = 'features/logs/12_322.log'
|
|
78
79
|
end
|
|
79
80
|
end
|
|
80
81
|
```
|
|
@@ -320,6 +321,8 @@ We allow different proxies to be configured. These proxies can be used to simula
|
|
|
320
321
|
- `none` (this is the default)
|
|
321
322
|
- `fault_injection`
|
|
322
323
|
|
|
324
|
+
##### Processes
|
|
325
|
+
|
|
323
326
|
Setup it up programmatically:
|
|
324
327
|
|
|
325
328
|
```ruby
|
|
@@ -328,8 +331,46 @@ require 'nonnative'
|
|
|
328
331
|
Nonnative.configure do |config|
|
|
329
332
|
config.strategy = :manual
|
|
330
333
|
|
|
331
|
-
config.
|
|
332
|
-
|
|
334
|
+
config.process do |p|
|
|
335
|
+
p.proxy = {
|
|
336
|
+
type: 'fault_injection',
|
|
337
|
+
port: 20_000,
|
|
338
|
+
log: 'features/logs/proxy_server.log',
|
|
339
|
+
options: {
|
|
340
|
+
delay: 5
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
end
|
|
344
|
+
end
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Setup it up through configuration:
|
|
348
|
+
|
|
349
|
+
```yaml
|
|
350
|
+
version: 1.0
|
|
351
|
+
strategy: manual
|
|
352
|
+
processes:
|
|
353
|
+
-
|
|
354
|
+
proxy:
|
|
355
|
+
type: fault_injection
|
|
356
|
+
port: 20000
|
|
357
|
+
log: features/logs/proxy_server.log
|
|
358
|
+
options:
|
|
359
|
+
delay: 5
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
##### Servers
|
|
363
|
+
|
|
364
|
+
Setup it up programmatically:
|
|
365
|
+
|
|
366
|
+
```ruby
|
|
367
|
+
require 'nonnative'
|
|
368
|
+
|
|
369
|
+
Nonnative.configure do |config|
|
|
370
|
+
config.strategy = :manual
|
|
371
|
+
|
|
372
|
+
config.server do |s|
|
|
373
|
+
s.proxy = {
|
|
333
374
|
type: 'fault_injection',
|
|
334
375
|
port: 20_000,
|
|
335
376
|
log: 'features/logs/proxy_server.log',
|
|
@@ -363,6 +404,20 @@ The `fault_injection` proxy allows you to simulate failures by injecting them. W
|
|
|
363
404
|
- `delay` - This delays the communication between the connection. Default is 2 secs can be configured through options.
|
|
364
405
|
- `invalid_data` - This takes the input and rearranges it to produce invalid data.
|
|
365
406
|
|
|
407
|
+
###### Processes
|
|
408
|
+
|
|
409
|
+
Setup it up programmatically:
|
|
410
|
+
|
|
411
|
+
```ruby
|
|
412
|
+
name = 'name of process in configuration'
|
|
413
|
+
server = Nonnative.pool.process_by_name(name)
|
|
414
|
+
|
|
415
|
+
server.proxy.close_all # To use close_all.
|
|
416
|
+
server.proxy.reset # To reset it back to a good state.
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
###### Servers
|
|
420
|
+
|
|
366
421
|
Setup it up programmatically:
|
|
367
422
|
|
|
368
423
|
```ruby
|
|
@@ -380,24 +435,27 @@ As we love using go as a language for services we have added support to start bi
|
|
|
380
435
|
To get this to work you will need to create a `main_test.go` file with these contents:
|
|
381
436
|
|
|
382
437
|
```go
|
|
438
|
+
// +build features
|
|
439
|
+
|
|
383
440
|
package main
|
|
384
441
|
|
|
385
442
|
import (
|
|
386
443
|
"testing"
|
|
444
|
+
|
|
445
|
+
"github.com/your_location/cmd"
|
|
387
446
|
)
|
|
388
447
|
|
|
389
|
-
// TestFeatures is a hack that allows us to figure out what the coverage is during
|
|
390
|
-
// integration tests. I would not recommend that you use a binary built using
|
|
391
|
-
// this hack outside of a test suite.
|
|
392
448
|
func TestFeatures(t *testing.T) {
|
|
393
|
-
|
|
449
|
+
if err := cmd.Execute(); err != nil {
|
|
450
|
+
t.Fatal(err.Error())
|
|
451
|
+
}
|
|
394
452
|
}
|
|
395
453
|
```
|
|
396
454
|
|
|
397
455
|
Then to compile this binary you will need to do the following:
|
|
398
456
|
|
|
399
457
|
```sh
|
|
400
|
-
go test -mod vendor -c -covermode=count -o your_binary -coverpkg=./... github.com/your_location
|
|
458
|
+
go test -mod vendor -c -tags features -covermode=count -o your_binary -coverpkg=./... github.com/your_location
|
|
401
459
|
```
|
|
402
460
|
|
|
403
461
|
Then to get an executable you do the following:
|
data/lib/nonnative.rb
CHANGED
|
@@ -19,11 +19,12 @@ require 'nonnative/stop_error'
|
|
|
19
19
|
require 'nonnative/timeout'
|
|
20
20
|
require 'nonnative/port'
|
|
21
21
|
require 'nonnative/configuration'
|
|
22
|
+
require 'nonnative/configuration_service'
|
|
22
23
|
require 'nonnative/configuration_process'
|
|
23
24
|
require 'nonnative/configuration_server'
|
|
24
25
|
require 'nonnative/configuration_proxy'
|
|
25
26
|
require 'nonnative/service'
|
|
26
|
-
require 'nonnative/
|
|
27
|
+
require 'nonnative/process'
|
|
27
28
|
require 'nonnative/pool'
|
|
28
29
|
require 'nonnative/server'
|
|
29
30
|
require 'nonnative/http_client'
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Nonnative
|
|
4
|
-
class ConfigurationServer
|
|
5
|
-
attr_accessor :
|
|
6
|
-
attr_reader :proxy
|
|
7
|
-
|
|
8
|
-
def initialize
|
|
9
|
-
@proxy = Nonnative::ConfigurationProxy.new
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def proxy=(value)
|
|
13
|
-
proxy.type = value[:type]
|
|
14
|
-
proxy.port = value[:port]
|
|
15
|
-
proxy.log = value[:log]
|
|
16
|
-
proxy.options = value[:options]
|
|
17
|
-
end
|
|
4
|
+
class ConfigurationServer < ConfigurationService
|
|
5
|
+
attr_accessor :klass
|
|
18
6
|
end
|
|
19
7
|
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Nonnative
|
|
4
|
+
class ConfigurationService
|
|
5
|
+
attr_accessor :name, :timeout, :port, :log
|
|
6
|
+
attr_reader :proxy
|
|
7
|
+
|
|
8
|
+
def initialize
|
|
9
|
+
@proxy = Nonnative::ConfigurationProxy.new
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def proxy=(value)
|
|
13
|
+
proxy.type = value[:type]
|
|
14
|
+
proxy.port = value[:port]
|
|
15
|
+
proxy.log = value[:log]
|
|
16
|
+
proxy.options = value[:options]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/lib/nonnative/pool.rb
CHANGED
|
@@ -14,6 +14,11 @@ module Nonnative
|
|
|
14
14
|
[processes, servers].each { |t| process(t, :stop, :closed?, &block) }
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
+
def process_by_name(name)
|
|
18
|
+
index = configuration.processes.find_index { |s| s.name == name }
|
|
19
|
+
processes[index].first
|
|
20
|
+
end
|
|
21
|
+
|
|
17
22
|
def server_by_name(name)
|
|
18
23
|
index = configuration.servers.find_index { |s| s.name == name }
|
|
19
24
|
servers[index].first
|
|
@@ -25,7 +30,7 @@ module Nonnative
|
|
|
25
30
|
|
|
26
31
|
def processes
|
|
27
32
|
@processes ||= configuration.processes.map do |d|
|
|
28
|
-
[Nonnative::
|
|
33
|
+
[Nonnative::Process.new(d), Nonnative::Port.new(d)]
|
|
29
34
|
end
|
|
30
35
|
end
|
|
31
36
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module Nonnative
|
|
4
|
-
class
|
|
4
|
+
class Process < Nonnative::Service
|
|
5
5
|
def start
|
|
6
|
-
unless
|
|
7
|
-
|
|
6
|
+
unless process_exists?
|
|
7
|
+
proxy.start
|
|
8
|
+
@pid = process_spawn
|
|
8
9
|
wait_start
|
|
9
10
|
end
|
|
10
11
|
|
|
@@ -12,8 +13,9 @@ module Nonnative
|
|
|
12
13
|
end
|
|
13
14
|
|
|
14
15
|
def stop
|
|
15
|
-
if
|
|
16
|
-
|
|
16
|
+
if process_exists?
|
|
17
|
+
process_kill
|
|
18
|
+
proxy.stop
|
|
17
19
|
wait_stop
|
|
18
20
|
end
|
|
19
21
|
|
|
@@ -24,7 +26,7 @@ module Nonnative
|
|
|
24
26
|
|
|
25
27
|
def wait_stop
|
|
26
28
|
timeout.perform do
|
|
27
|
-
Process.waitpid2(pid)
|
|
29
|
+
::Process.waitpid2(pid)
|
|
28
30
|
end
|
|
29
31
|
end
|
|
30
32
|
|
|
@@ -32,20 +34,20 @@ module Nonnative
|
|
|
32
34
|
|
|
33
35
|
attr_reader :pid
|
|
34
36
|
|
|
35
|
-
def
|
|
37
|
+
def process_kill
|
|
36
38
|
signal = Signal.list[service.signal || 'INT'] || Signal.list['INT']
|
|
37
|
-
Process.kill(signal, pid)
|
|
39
|
+
::Process.kill(signal, pid)
|
|
38
40
|
end
|
|
39
41
|
|
|
40
|
-
def
|
|
42
|
+
def process_spawn
|
|
41
43
|
spawn(service.command, %i[out err] => [service.log, 'a'])
|
|
42
44
|
end
|
|
43
45
|
|
|
44
|
-
def
|
|
46
|
+
def process_exists?
|
|
45
47
|
return false if pid.nil?
|
|
46
48
|
|
|
47
49
|
signal = Signal.list['EXIT']
|
|
48
|
-
Process.kill(signal, pid)
|
|
50
|
+
::Process.kill(signal, pid)
|
|
49
51
|
true
|
|
50
52
|
rescue Errno::ESRCH
|
|
51
53
|
false
|
data/lib/nonnative/server.rb
CHANGED
data/lib/nonnative/service.rb
CHANGED
data/lib/nonnative/version.rb
CHANGED
data/nonnative.gemspec
CHANGED
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
34
34
|
spec.add_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
|
|
35
35
|
|
|
36
36
|
spec.add_development_dependency 'bundler', '~> 2.1', '>= 2.1.4'
|
|
37
|
+
spec.add_development_dependency 'coveralls', '~> 0.8.23'
|
|
37
38
|
spec.add_development_dependency 'rubocop', '~> 1.12'
|
|
38
|
-
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
|
39
39
|
spec.add_development_dependency 'solargraph', '~> 0.40.4'
|
|
40
40
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nonnative
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.41.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Falkowski
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-04-
|
|
11
|
+
date: 2021-04-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: concurrent-ruby
|
|
@@ -193,33 +193,33 @@ dependencies:
|
|
|
193
193
|
- !ruby/object:Gem::Version
|
|
194
194
|
version: 2.1.4
|
|
195
195
|
- !ruby/object:Gem::Dependency
|
|
196
|
-
name:
|
|
196
|
+
name: coveralls
|
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
|
198
198
|
requirements:
|
|
199
199
|
- - "~>"
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
|
-
version:
|
|
201
|
+
version: 0.8.23
|
|
202
202
|
type: :development
|
|
203
203
|
prerelease: false
|
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
205
205
|
requirements:
|
|
206
206
|
- - "~>"
|
|
207
207
|
- !ruby/object:Gem::Version
|
|
208
|
-
version:
|
|
208
|
+
version: 0.8.23
|
|
209
209
|
- !ruby/object:Gem::Dependency
|
|
210
|
-
name:
|
|
210
|
+
name: rubocop
|
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
|
212
212
|
requirements:
|
|
213
213
|
- - "~>"
|
|
214
214
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
215
|
+
version: '1.12'
|
|
216
216
|
type: :development
|
|
217
217
|
prerelease: false
|
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
219
219
|
requirements:
|
|
220
220
|
- - "~>"
|
|
221
221
|
- !ruby/object:Gem::Version
|
|
222
|
-
version:
|
|
222
|
+
version: '1.12'
|
|
223
223
|
- !ruby/object:Gem::Dependency
|
|
224
224
|
name: solargraph
|
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -243,6 +243,7 @@ extra_rdoc_files: []
|
|
|
243
243
|
files:
|
|
244
244
|
- ".circleci/config.yml"
|
|
245
245
|
- ".config/cucumber.yml"
|
|
246
|
+
- ".coveralls.yml"
|
|
246
247
|
- ".editorconfig"
|
|
247
248
|
- ".gitignore"
|
|
248
249
|
- ".rubocop.yml"
|
|
@@ -258,11 +259,11 @@ files:
|
|
|
258
259
|
- lib/nonnative.rb
|
|
259
260
|
- lib/nonnative/before.rb
|
|
260
261
|
- lib/nonnative/close_all_socket_pair.rb
|
|
261
|
-
- lib/nonnative/command.rb
|
|
262
262
|
- lib/nonnative/configuration.rb
|
|
263
263
|
- lib/nonnative/configuration_process.rb
|
|
264
264
|
- lib/nonnative/configuration_proxy.rb
|
|
265
265
|
- lib/nonnative/configuration_server.rb
|
|
266
|
+
- lib/nonnative/configuration_service.rb
|
|
266
267
|
- lib/nonnative/delay_socket_pair.rb
|
|
267
268
|
- lib/nonnative/error.rb
|
|
268
269
|
- lib/nonnative/fault_injection_proxy.rb
|
|
@@ -276,6 +277,7 @@ files:
|
|
|
276
277
|
- lib/nonnative/observability.rb
|
|
277
278
|
- lib/nonnative/pool.rb
|
|
278
279
|
- lib/nonnative/port.rb
|
|
280
|
+
- lib/nonnative/process.rb
|
|
279
281
|
- lib/nonnative/proxy.rb
|
|
280
282
|
- lib/nonnative/proxy_factory.rb
|
|
281
283
|
- lib/nonnative/server.rb
|