nonnative 1.29.0 → 1.37.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/.circleci/config.yml +17 -12
- data/.config/cucumber.yml +1 -1
- data/.rubocop.yml +5 -70
- data/.ruby-version +1 -1
- data/CHANGELOG.md +148 -0
- data/Gemfile.lock +108 -105
- data/Makefile +9 -9
- data/README.md +2 -6
- data/lib/nonnative.rb +4 -1
- data/lib/nonnative/configuration.rb +12 -10
- data/lib/nonnative/delay_socket_pair.rb +1 -1
- data/lib/nonnative/go_command.rb +7 -12
- data/lib/nonnative/timeout.rb +2 -4
- data/lib/nonnative/version.rb +1 -1
- data/nonnative.gemspec +7 -9
- metadata +20 -44
- data/Rakefile +0 -4
- data/sonar-project.properties +0 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7bcf9cffec3971770b2593b373938a6c084ab34381228bb2d9e43f794fb87d4a
|
|
4
|
+
data.tar.gz: f1ef1bbb290b1a28d6036d06af5bf1230e32c22f4ea8e075c240480e807b212d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8efcbbbbccf80e445d95c94207e521c8525a835abf544dd0f47ac37dad2e9af02ba2bd1af86a0475bc0c9c3db2f8d7d1b40be7487cf33ec7dbcdd4661125af34
|
|
7
|
+
data.tar.gz: 1e69e4fd86e440c75b2ba4abf7eb1e929f3129e4d01b1a852ea9d0966e35e081ce6a4b40bb69ae3a984c1c36a743ae2b7c85f9af04a0fba5639afd451e636388
|
data/.circleci/config.yml
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
version: 2.1
|
|
2
|
-
orbs:
|
|
3
|
-
sonarcloud: sonarsource/sonarcloud@1.0.1
|
|
4
2
|
|
|
5
3
|
jobs:
|
|
6
4
|
build:
|
|
7
5
|
docker:
|
|
8
|
-
- image:
|
|
9
|
-
environment:
|
|
10
|
-
BUNDLE_JOBS: "3"
|
|
11
|
-
BUNDLE_PATH: vendor/bundle
|
|
12
|
-
BUNDLE_RETRY: "3"
|
|
6
|
+
- image: alexfalkowski/ruby:2.7
|
|
13
7
|
steps:
|
|
14
8
|
- checkout
|
|
15
9
|
- restore_cache:
|
|
16
10
|
keys:
|
|
17
11
|
- nonnative-gem-cache-{{ checksum "Gemfile.lock" }}
|
|
18
12
|
- nonnative-gem-cache-
|
|
19
|
-
- run: make
|
|
13
|
+
- run: make dep
|
|
20
14
|
- save_cache:
|
|
21
15
|
key: nonnative-gem-cache-{{ checksum "Gemfile.lock" }}
|
|
22
16
|
paths:
|
|
@@ -24,15 +18,26 @@ jobs:
|
|
|
24
18
|
- run: make features
|
|
25
19
|
- store_test_results:
|
|
26
20
|
path: reports
|
|
27
|
-
- run: make
|
|
21
|
+
- run: make lint
|
|
28
22
|
- store_artifacts:
|
|
29
23
|
path: coverage
|
|
30
24
|
- store_artifacts:
|
|
31
25
|
path: features/logs
|
|
32
|
-
|
|
26
|
+
release:
|
|
27
|
+
docker:
|
|
28
|
+
- image: alexfalkowski/release:2.0
|
|
29
|
+
steps:
|
|
30
|
+
- checkout
|
|
31
|
+
- run: release.sh
|
|
33
32
|
|
|
34
33
|
workflows:
|
|
35
34
|
nonnative:
|
|
36
35
|
jobs:
|
|
37
|
-
- build
|
|
38
|
-
|
|
36
|
+
- build
|
|
37
|
+
- release:
|
|
38
|
+
context: gh
|
|
39
|
+
requires:
|
|
40
|
+
- build
|
|
41
|
+
filters:
|
|
42
|
+
branches:
|
|
43
|
+
only: master
|
data/.config/cucumber.yml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
report: --format junit --out reports --format html --out reports/index.html --format pretty
|
|
1
|
+
report: --format junit --out reports --format html --out reports/index.html --format pretty --publish-quiet
|
data/.rubocop.yml
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
-
TargetRubyVersion: 2.
|
|
2
|
+
TargetRubyVersion: 2.7
|
|
3
3
|
DisplayCopNames: true
|
|
4
|
+
NewCops: enable
|
|
4
5
|
|
|
5
6
|
Layout/LineLength:
|
|
6
|
-
Max:
|
|
7
|
+
Max: 160
|
|
7
8
|
|
|
8
9
|
Metrics/MethodLength:
|
|
9
10
|
Max: 20
|
|
@@ -17,71 +18,5 @@ Metrics/AbcSize:
|
|
|
17
18
|
Style/Documentation:
|
|
18
19
|
Enabled: false
|
|
19
20
|
|
|
20
|
-
Lint/
|
|
21
|
-
Enabled:
|
|
22
|
-
|
|
23
|
-
Style/HashEachMethods:
|
|
24
|
-
Enabled: true
|
|
25
|
-
|
|
26
|
-
Style/HashTransformKeys:
|
|
27
|
-
Enabled: true
|
|
28
|
-
|
|
29
|
-
Style/HashTransformValues:
|
|
30
|
-
Enabled: true
|
|
31
|
-
|
|
32
|
-
Lint/StructNewOverride:
|
|
33
|
-
Enabled: true
|
|
34
|
-
|
|
35
|
-
Layout/SpaceAroundMethodCallOperator:
|
|
36
|
-
Enabled: true
|
|
37
|
-
|
|
38
|
-
Style/ExponentialNotation:
|
|
39
|
-
Enabled: true
|
|
40
|
-
|
|
41
|
-
Layout/EmptyLinesAroundAttributeAccessor:
|
|
42
|
-
Enabled: true
|
|
43
|
-
|
|
44
|
-
Style/SlicingWithRange:
|
|
45
|
-
Enabled: true
|
|
46
|
-
|
|
47
|
-
Lint/DeprecatedOpenSSLConstant:
|
|
48
|
-
Enabled: true
|
|
49
|
-
|
|
50
|
-
Lint/MixedRegexpCaptureTypes:
|
|
51
|
-
Enabled: true
|
|
52
|
-
|
|
53
|
-
Style/RedundantRegexpCharacterClass:
|
|
54
|
-
Enabled: true
|
|
55
|
-
|
|
56
|
-
Style/RedundantRegexpEscape:
|
|
57
|
-
Enabled: true
|
|
58
|
-
|
|
59
|
-
Style/RedundantFetchBlock:
|
|
60
|
-
Enabled: true
|
|
61
|
-
|
|
62
|
-
Style/AccessorGrouping:
|
|
63
|
-
Enabled: true
|
|
64
|
-
|
|
65
|
-
Style/BisectedAttrAccessor:
|
|
66
|
-
Enabled: true
|
|
67
|
-
|
|
68
|
-
Style/RedundantAssignment:
|
|
69
|
-
Enabled: true
|
|
70
|
-
|
|
71
|
-
Lint/DuplicateElsifCondition:
|
|
72
|
-
Enabled: true
|
|
73
|
-
|
|
74
|
-
Style/ArrayCoercion:
|
|
75
|
-
Enabled: true
|
|
76
|
-
|
|
77
|
-
Style/CaseLikeIf:
|
|
78
|
-
Enabled: true
|
|
79
|
-
|
|
80
|
-
Style/HashAsLastArrayItem:
|
|
81
|
-
Enabled: true
|
|
82
|
-
|
|
83
|
-
Style/HashLikeCase:
|
|
84
|
-
Enabled: true
|
|
85
|
-
|
|
86
|
-
Style/RedundantFileExtensionInRequire:
|
|
87
|
-
Enabled: true
|
|
21
|
+
Lint/HashCompareByIdentity:
|
|
22
|
+
Enabled: false
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
ruby-2.7.
|
|
1
|
+
ruby-2.7.2
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
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
|
+
|
|
5
|
+
## [1.36.0](https://github.com/alexfalkowski/nonnative/compare/v1.35.2...v1.36.0) (2021-04-21)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* remove badge from docs ([#72](https://github.com/alexfalkowski/nonnative/issues/72)) ([2cd384c](https://github.com/alexfalkowski/nonnative/commit/2cd384cb9f73da1f131829f1eaf9b0c9e1ae3cdf))
|
|
11
|
+
|
|
12
|
+
### [1.35.2](https://github.com/alexfalkowski/nonnative/compare/v1.35.1...v1.35.2) (2021-04-21)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* go command ([#71](https://github.com/alexfalkowski/nonnative/issues/71)) ([fe28cf3](https://github.com/alexfalkowski/nonnative/commit/fe28cf345be108780b47ac4c96d212b215d721a8))
|
|
18
|
+
|
|
19
|
+
### [1.35.1](https://github.com/alexfalkowski/nonnative/compare/v1.35.0...v1.35.1) (2021-04-04)
|
|
20
|
+
|
|
21
|
+
## [1.35.0](https://github.com/alexfalkowski/nonnative/compare/v1.34.0...v1.35.0) (2021-04-03)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Features
|
|
25
|
+
|
|
26
|
+
* **deps:** udate to latest ([#69](https://github.com/alexfalkowski/nonnative/issues/69)) ([8989b5d](https://github.com/alexfalkowski/nonnative/commit/8989b5dd960cc7064ed196545625c9ef8b9ee280))
|
|
27
|
+
* update ruby to version 2.7.2 [ci skip] ([90d3cb7](https://github.com/alexfalkowski/nonnative/commit/90d3cb7b24d2c4a70dd8e4fad809f008c849b34b))
|
|
28
|
+
|
|
29
|
+
## [1.34.0](https://github.com/alexfalkowski/nonnative/compare/v1.33.0...v1.34.0) (2020-10-30)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
|
|
34
|
+
* bump to version 1.34.0 ([882f3db](https://github.com/alexfalkowski/nonnative/commit/882f3db513a8ffae7661dd000d50a380c2c004d0))
|
|
35
|
+
|
|
36
|
+
## [1.33.0](https://github.com/alexfalkowski/nonnative/compare/v1.32.0...v1.33.0) (2020-10-30)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### Features
|
|
40
|
+
|
|
41
|
+
* bump to version 1.33.0 ([538ebf5](https://github.com/alexfalkowski/nonnative/commit/538ebf54c9d49ac3227f9c0a14ce9074d961c42d))
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### Bug Fixes
|
|
45
|
+
|
|
46
|
+
* make sure we don't run ci again ([bf40e54](https://github.com/alexfalkowski/nonnative/commit/bf40e5471d7701040e64c035e652df534db7e783))
|
|
47
|
+
|
|
48
|
+
## [1.32.0](https://github.com/alexfalkowski/nonnative/compare/v1.31.0...v1.32.0) (2020-10-30)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
### Features
|
|
52
|
+
|
|
53
|
+
* update deps ([a18e739](https://github.com/alexfalkowski/nonnative/commit/a18e739285cab1e75b2c4bb2da573e4b437d05b5))
|
|
54
|
+
|
|
55
|
+
## 1.31.0 (2020-10-30)
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### Features
|
|
59
|
+
|
|
60
|
+
* abort on exception for threads ([16c236a](https://github.com/alexfalkowski/nonnative/commit/16c236afbd4e434d19d26166bf515def56907369))
|
|
61
|
+
* add ability to create chaos ([5c74b1f](https://github.com/alexfalkowski/nonnative/commit/5c74b1fc732017a658bd5e86ba8d1d849028bfa7))
|
|
62
|
+
* add ability to override strategy ([668f61b](https://github.com/alexfalkowski/nonnative/commit/668f61b3d802958bd2d948ba47f54df7ad4725f4))
|
|
63
|
+
* add chaos proxy ([84f6be8](https://github.com/alexfalkowski/nonnative/commit/84f6be83e5d00a582cf6458e34a1f1c169fe81b8))
|
|
64
|
+
* add concurrent-ruby ([0ba97ae](https://github.com/alexfalkowski/nonnative/commit/0ba97ae9c5d471564d9098e50864565208e941b3))
|
|
65
|
+
* add delay to proxy ([9004d56](https://github.com/alexfalkowski/nonnative/commit/9004d5643d38e530124077f777b7fec494aa5a10))
|
|
66
|
+
* add logging to servers ([a6c16a7](https://github.com/alexfalkowski/nonnative/commit/a6c16a7c43ec52b8a6a4766e92fdfe0179bc9b4b))
|
|
67
|
+
* add name property ([7804c22](https://github.com/alexfalkowski/nonnative/commit/7804c22e1e46bc7031628fd99fbb0e1382b9b438))
|
|
68
|
+
* add no proxy ([b819f6c](https://github.com/alexfalkowski/nonnative/commit/b819f6cf10ec86c52e7429e6948369905e079d38))
|
|
69
|
+
* add proxy logs ([66e0acd](https://github.com/alexfalkowski/nonnative/commit/66e0acd4aa01ae9b7335f6df4ff6d4f3c89239ac))
|
|
70
|
+
* add random-port (0.5.1) ([0cb80f0](https://github.com/alexfalkowski/nonnative/commit/0cb80f0a05189fa9aab4ce5ea01d83f02dfe78f7))
|
|
71
|
+
* add running go command ([4c45a19](https://github.com/alexfalkowski/nonnative/commit/4c45a19c9acfa157c67e2bdd1fd470558fa2f80f))
|
|
72
|
+
* add timeout ([dbe4d9b](https://github.com/alexfalkowski/nonnative/commit/dbe4d9b7e7f4d5ecdaa89a60a5b135ccefecc43d))
|
|
73
|
+
* grpc-tools (1.32.0) ([e2ea2fe](https://github.com/alexfalkowski/nonnative/commit/e2ea2fea8cda36cc97e11d75d7b29a12302ce5b5))
|
|
74
|
+
* invalid data ([f83d35f](https://github.com/alexfalkowski/nonnative/commit/f83d35ffc7374d182d8c3e4b513b460d38121c83))
|
|
75
|
+
* loosen grc dep ([11e8de4](https://github.com/alexfalkowski/nonnative/commit/11e8de4228417483c26213f40caee351dbbdf861))
|
|
76
|
+
* loosen grc dep ([498a6d5](https://github.com/alexfalkowski/nonnative/commit/498a6d56c9e157f15ebe77d57cd0477abdc8ec34))
|
|
77
|
+
* move to use predefined port ([439971f](https://github.com/alexfalkowski/nonnative/commit/439971fa0388380701e80bce18d7bf61f07f9bc7))
|
|
78
|
+
* pass options to socket pair ([7ebb938](https://github.com/alexfalkowski/nonnative/commit/7ebb9389c4cab8639f19bf234d65359fbfdef342))
|
|
79
|
+
* process start and stop in order ([589abe9](https://github.com/alexfalkowski/nonnative/commit/589abe9bee0743dc38a57aef5f73871eb277ec28))
|
|
80
|
+
* remove timeout ([d3dc376](https://github.com/alexfalkowski/nonnative/commit/d3dc376522aefd4856e15bba84309a5e77641db6))
|
|
81
|
+
* rename proxy ([5b87699](https://github.com/alexfalkowski/nonnative/commit/5b87699c622e9db7fed865ea75d8ee294c996b5e))
|
|
82
|
+
* socket pair ([d50112e](https://github.com/alexfalkowski/nonnative/commit/d50112e72f4a3f1af93ba2bc4274282c06690048))
|
|
83
|
+
* store connections in concurrent hash ([6731d95](https://github.com/alexfalkowski/nonnative/commit/6731d9523c933a6598ce07b3d65e9678d188c0ad))
|
|
84
|
+
* update cucumber (4.1.0) ([c38ea01](https://github.com/alexfalkowski/nonnative/commit/c38ea015dad051e494a1aa90b7452193735cad79))
|
|
85
|
+
* update deps ([7c9b11f](https://github.com/alexfalkowski/nonnative/commit/7c9b11fb35c9655f2d8b161498e134ab903c82c9))
|
|
86
|
+
* update grpc (1.30.1) ([98b7262](https://github.com/alexfalkowski/nonnative/commit/98b7262d76d30a0097db138e6236a43c296ce207))
|
|
87
|
+
* update puma ([36ff809](https://github.com/alexfalkowski/nonnative/commit/36ff809264c712240f50db24971f6045faaceac3))
|
|
88
|
+
* update to ruby-2.7.1 ([192ed03](https://github.com/alexfalkowski/nonnative/commit/192ed03c9d929e7fdadc80ab7b48b4a8081daed1))
|
|
89
|
+
* use puma ([2bfbb0f](https://github.com/alexfalkowski/nonnative/commit/2bfbb0f15d7e20647e72332aa3830c9144a1148d))
|
|
90
|
+
* use request ([c757b8b](https://github.com/alexfalkowski/nonnative/commit/c757b8b1d4f513451b08dd0408256244c7a29f7f))
|
|
91
|
+
* **command:** wait for pid ([5bf9a34](https://github.com/alexfalkowski/nonnative/commit/5bf9a34ab96b10365e894dd66b260c2aa902f19b))
|
|
92
|
+
* **grpc:** wait for server ([ba90600](https://github.com/alexfalkowski/nonnative/commit/ba906008ed7a8d72f8ee8f5f37eddf541be97a8a))
|
|
93
|
+
* **http:** add put and delete ([54b7b9a](https://github.com/alexfalkowski/nonnative/commit/54b7b9a906e0e80556c058ec85386cf4997d6a1b))
|
|
94
|
+
* **http:** wait for server to start ([10e0f37](https://github.com/alexfalkowski/nonnative/commit/10e0f37e0da9e0896365c771a8886dc0eb94906b))
|
|
95
|
+
* **process:** allow to pass different signal ([6b80e69](https://github.com/alexfalkowski/nonnative/commit/6b80e690f97e3f16a315a271dca5476647ce4177))
|
|
96
|
+
* add grpc (~> 1.28) ([6cabe9e](https://github.com/alexfalkowski/nonnative/commit/6cabe9e6e6107405459be0cdf93afc9fae742d6e))
|
|
97
|
+
* add overridable waiting ([be78cf4](https://github.com/alexfalkowski/nonnative/commit/be78cf47f2cb338cd98dff5ccfd5af3b41321428))
|
|
98
|
+
* **grpc:** use run instead of run_till_terminated ([f0609af](https://github.com/alexfalkowski/nonnative/commit/f0609afe3878a8d4e5eaef77457b7a868bc234e8))
|
|
99
|
+
* add ability to use configuration file ([f3d9c92](https://github.com/alexfalkowski/nonnative/commit/f3d9c923385ad338d42ec924ea60c16dcc1a6ed7))
|
|
100
|
+
* add puma (4.3.3) ([1b3b01c](https://github.com/alexfalkowski/nonnative/commit/1b3b01c17cb3b634e17a68e8e88404ff66fa6be5))
|
|
101
|
+
* add sinatra (2.0.8.1) ([2f27876](https://github.com/alexfalkowski/nonnative/commit/2f2787648deb641dbd78875433f0928e3b754cdd))
|
|
102
|
+
* add starting servers ([47955d3](https://github.com/alexfalkowski/nonnative/commit/47955d327d251ae0df99c6f99bbe4f5e8fa1acb9))
|
|
103
|
+
* add the ability to see the type that has issues ([d119ccc](https://github.com/alexfalkowski/nonnative/commit/d119ccc0f9575740b4a14c5bf5f1912c3db11692))
|
|
104
|
+
* enable rubocop cops ([00266e5](https://github.com/alexfalkowski/nonnative/commit/00266e52cb20d058ebccc5f09f4787d1f6899400))
|
|
105
|
+
* lock cucumber ([a4817a8](https://github.com/alexfalkowski/nonnative/commit/a4817a8d57edb23ebb93610c86f5539ef79af243))
|
|
106
|
+
* lock rspec-benchmark ([03d9b62](https://github.com/alexfalkowski/nonnative/commit/03d9b627314d859cef9b002e1d903f22bad9efad))
|
|
107
|
+
* lock semantic_logger ([e340785](https://github.com/alexfalkowski/nonnative/commit/e340785fa1e97c991196e1ee1168dac3e4973cb3))
|
|
108
|
+
* make sure we don't do things serially ([d265aac](https://github.com/alexfalkowski/nonnative/commit/d265aaca9f798ab004ee125a55e0406f9b2f7739))
|
|
109
|
+
* remove logger ([b2ae52b](https://github.com/alexfalkowski/nonnative/commit/b2ae52b20ce0cf65f431ceaa315b353ed41fcc80))
|
|
110
|
+
* remove logs ([787e490](https://github.com/alexfalkowski/nonnative/commit/787e490b71884c8dcd0920778b88fd94d520dfab))
|
|
111
|
+
* remove structure ([79604f6](https://github.com/alexfalkowski/nonnative/commit/79604f631990a01f48da066014b52742e0bc71d0))
|
|
112
|
+
* remove writting to STDOUT ([be1f668](https://github.com/alexfalkowski/nonnative/commit/be1f668278a74f5c3a33538dbeda77ac9b93d316))
|
|
113
|
+
* rename to configuration process ([aac5b4c](https://github.com/alexfalkowski/nonnative/commit/aac5b4c435ea1fb3942a0c752f573ff2ca5026b6))
|
|
114
|
+
* rename to process pool ([9e4391e](https://github.com/alexfalkowski/nonnative/commit/9e4391e94fc32d69cdf651eff8995bac91f965fd))
|
|
115
|
+
* start multiple processes ([5a9c8ba](https://github.com/alexfalkowski/nonnative/commit/5a9c8baf22537dc246fc73eab3d1a645bc51f4be))
|
|
116
|
+
* start nonnative with a long start up time server will error ([6770f66](https://github.com/alexfalkowski/nonnative/commit/6770f6657ccb724c311a43e77b03595943504fef))
|
|
117
|
+
* stop nonnative with a long stopping time server will error ([3040227](https://github.com/alexfalkowski/nonnative/commit/3040227113c50aa9a7e84bf44bd03a3c0a6142be))
|
|
118
|
+
* successfully starting of grpc servers programatically ([cc92276](https://github.com/alexfalkowski/nonnative/commit/cc9227620ecb8133277871967eb835f67943ccad))
|
|
119
|
+
* successfully starting of HTTP servers programatically ([93373f1](https://github.com/alexfalkowski/nonnative/commit/93373f1b85d50328b54ee49236f55acd2c5c0180))
|
|
120
|
+
* successfully starting of HTTP servers programatically and getting health ([be9ae06](https://github.com/alexfalkowski/nonnative/commit/be9ae06952e83af666f654a9782b596673709c87))
|
|
121
|
+
* successfully starting of HTTP servers programatically and getting metrics ([4536904](https://github.com/alexfalkowski/nonnative/commit/45369041a8d95e240b5533d2132b60fa4d31278f))
|
|
122
|
+
* successfully starting of HTTP servers programatically with not found message ([111d81d](https://github.com/alexfalkowski/nonnative/commit/111d81da298a7203c08fa5725e2310736b613fb9))
|
|
123
|
+
* update rspec-expectations (3.9.2) ([1f656a9](https://github.com/alexfalkowski/nonnative/commit/1f656a975e2fd6b1af830ca38f24d978a105d0e0))
|
|
124
|
+
* update rubocop (0.82.0) ([48e462d](https://github.com/alexfalkowski/nonnative/commit/48e462d980f858102a45367fc420b7c66596a22f))
|
|
125
|
+
* update solargraph (0.39.7) ([8caff98](https://github.com/alexfalkowski/nonnative/commit/8caff98e5fea79c7123cc49f573ef2122ef14b33))
|
|
126
|
+
* use 0.0.0.0 ([1e77298](https://github.com/alexfalkowski/nonnative/commit/1e77298620666578472220c0e02c5121a4d9838f))
|
|
127
|
+
* use better naming. ([228c9ed](https://github.com/alexfalkowski/nonnative/commit/228c9ed9607c30834f0f5dfa46114a2ed84b67a3))
|
|
128
|
+
* use ruby 2.6.6 ([fdb61da](https://github.com/alexfalkowski/nonnative/commit/fdb61da719e6cf3d35db7d8af6acea19481a8ff9))
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
### Bug Fixes
|
|
132
|
+
|
|
133
|
+
* add comments ([cb93b23](https://github.com/alexfalkowski/nonnative/commit/cb93b23a3c8ae463b656fb4a43e2b7dab83db2f5))
|
|
134
|
+
* add small sleeps as prcesses and severs take time to start. ([1e3d363](https://github.com/alexfalkowski/nonnative/commit/1e3d36302c0fc0c58f7b2239db39876acf4ec2fc))
|
|
135
|
+
* ignore exceptions ([4076cf2](https://github.com/alexfalkowski/nonnative/commit/4076cf2019924b89f2766edbafed603d08c63cc6))
|
|
136
|
+
* only raise an error after we have finished start or stop ([b7b0b17](https://github.com/alexfalkowski/nonnative/commit/b7b0b17cc4cac53abcb052a76afc29312b0b971b))
|
|
137
|
+
* pass service like in command ([43a961b](https://github.com/alexfalkowski/nonnative/commit/43a961b7bfa5e954371d14553009969f89af87a4))
|
|
138
|
+
* register at exit first ([7dad865](https://github.com/alexfalkowski/nonnative/commit/7dad865a29117b830c7717d167e14f88c9d6f2af))
|
|
139
|
+
* remove rescue ([230ae39](https://github.com/alexfalkowski/nonnative/commit/230ae395406552bbe7610a9c37322573c2d6f92b))
|
|
140
|
+
* remove thwait ([62cf089](https://github.com/alexfalkowski/nonnative/commit/62cf089e3b10bae8290d8cfbb2b8c4e4c50aef1f))
|
|
141
|
+
* remove unused vriables ([0d38d8a](https://github.com/alexfalkowski/nonnative/commit/0d38d8a12d108370682e2f7cad5f5a4f62e5835f))
|
|
142
|
+
* start servers first ([9a483f0](https://github.com/alexfalkowski/nonnative/commit/9a483f02709b4b954205dc66bf7ea7fa20110a37))
|
|
143
|
+
* stop servers first ([a736496](https://github.com/alexfalkowski/nonnative/commit/a73649666010820697539c621fb9a7e8677008a7))
|
|
144
|
+
* sync state ([75ab8e8](https://github.com/alexfalkowski/nonnative/commit/75ab8e8a9ea421aac8e970a3b7b1c2c1c556b425))
|
|
145
|
+
* **chaos:** ignore ECONNRESET ([c5ff8df](https://github.com/alexfalkowski/nonnative/commit/c5ff8dfcb3af8dbe8fb9fb5a6f04dd2308eadbaa))
|
|
146
|
+
* **grpc:** make servers consistent ([ece8404](https://github.com/alexfalkowski/nonnative/commit/ece8404d0a56ded351df317f3dacaac054f67f0a))
|
|
147
|
+
* **grpc:** pass timout to wait ([0a18218](https://github.com/alexfalkowski/nonnative/commit/0a18218ff675a4bf76d39ac2c547a87955013e42))
|
|
148
|
+
* **http:** allow to run multiple servers ([6e640de](https://github.com/alexfalkowski/nonnative/commit/6e640ded9312d89de125f0b2bb9a34c982163a41))
|
data/Gemfile.lock
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nonnative (1.
|
|
4
|
+
nonnative (1.37.0)
|
|
5
5
|
concurrent-ruby (~> 1.0, >= 1.0.5)
|
|
6
|
-
cucumber (>=
|
|
6
|
+
cucumber (>= 5, < 6)
|
|
7
7
|
grpc (>= 1, < 2)
|
|
8
|
-
puma (~>
|
|
8
|
+
puma (~> 5.0)
|
|
9
9
|
rest-client (~> 2.1)
|
|
10
10
|
rspec-benchmark (~> 0.6.0)
|
|
11
11
|
rspec-expectations (~> 3.9, >= 3.9.2)
|
|
@@ -14,101 +14,104 @@ PATH
|
|
|
14
14
|
GEM
|
|
15
15
|
remote: https://rubygems.org/
|
|
16
16
|
specs:
|
|
17
|
-
activesupport (6.
|
|
17
|
+
activesupport (6.1.3.1)
|
|
18
18
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
19
|
-
i18n (>=
|
|
20
|
-
minitest (
|
|
21
|
-
tzinfo (~>
|
|
22
|
-
zeitwerk (~> 2.
|
|
23
|
-
ast (2.4.
|
|
19
|
+
i18n (>= 1.6, < 2)
|
|
20
|
+
minitest (>= 5.1)
|
|
21
|
+
tzinfo (~> 2.0)
|
|
22
|
+
zeitwerk (~> 2.3)
|
|
23
|
+
ast (2.4.2)
|
|
24
24
|
backport (1.1.2)
|
|
25
|
-
benchmark (0.1.
|
|
25
|
+
benchmark (0.1.1)
|
|
26
26
|
benchmark-malloc (0.2.0)
|
|
27
27
|
benchmark-perf (0.6.0)
|
|
28
28
|
benchmark-trend (0.4.0)
|
|
29
29
|
builder (3.2.4)
|
|
30
|
-
concurrent-ruby (1.1.
|
|
31
|
-
cucumber (
|
|
32
|
-
builder (~> 3.2, >= 3.2.
|
|
33
|
-
cucumber-core (~>
|
|
34
|
-
cucumber-create-meta (~>
|
|
35
|
-
cucumber-cucumber-expressions (~> 10.
|
|
36
|
-
cucumber-gherkin (~>
|
|
37
|
-
cucumber-html-formatter (~>
|
|
38
|
-
cucumber-messages (~>
|
|
39
|
-
cucumber-wire (~>
|
|
40
|
-
diff-lcs (~> 1.
|
|
30
|
+
concurrent-ruby (1.1.8)
|
|
31
|
+
cucumber (5.3.0)
|
|
32
|
+
builder (~> 3.2, >= 3.2.4)
|
|
33
|
+
cucumber-core (~> 8.0, >= 8.0.1)
|
|
34
|
+
cucumber-create-meta (~> 2.0, >= 2.0.2)
|
|
35
|
+
cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
|
|
36
|
+
cucumber-gherkin (~> 15.0, >= 15.0.2)
|
|
37
|
+
cucumber-html-formatter (~> 9.0, >= 9.0.0)
|
|
38
|
+
cucumber-messages (~> 13.1, >= 13.1.0)
|
|
39
|
+
cucumber-wire (~> 4.0, >= 4.0.1)
|
|
40
|
+
diff-lcs (~> 1.4, >= 1.4.4)
|
|
41
41
|
multi_test (~> 0.1, >= 0.1.2)
|
|
42
|
-
sys-uname (~> 1.
|
|
43
|
-
cucumber-core (
|
|
44
|
-
cucumber-gherkin (~>
|
|
45
|
-
cucumber-messages (~>
|
|
42
|
+
sys-uname (~> 1.2, >= 1.2.1)
|
|
43
|
+
cucumber-core (8.0.1)
|
|
44
|
+
cucumber-gherkin (~> 15.0, >= 15.0.2)
|
|
45
|
+
cucumber-messages (~> 13.0, >= 13.0.1)
|
|
46
46
|
cucumber-tag-expressions (~> 2.0, >= 2.0.4)
|
|
47
|
-
cucumber-create-meta (
|
|
48
|
-
cucumber-messages (~>
|
|
47
|
+
cucumber-create-meta (2.0.4)
|
|
48
|
+
cucumber-messages (~> 13.1, >= 13.1.0)
|
|
49
49
|
sys-uname (~> 1.2, >= 1.2.1)
|
|
50
|
-
cucumber-cucumber-expressions (10.
|
|
51
|
-
cucumber-gherkin (
|
|
52
|
-
cucumber-messages (~>
|
|
53
|
-
cucumber-html-formatter (
|
|
54
|
-
cucumber-messages (~>
|
|
55
|
-
cucumber-messages (
|
|
50
|
+
cucumber-cucumber-expressions (10.3.0)
|
|
51
|
+
cucumber-gherkin (15.0.2)
|
|
52
|
+
cucumber-messages (~> 13.0, >= 13.0.1)
|
|
53
|
+
cucumber-html-formatter (9.0.0)
|
|
54
|
+
cucumber-messages (~> 13.0, >= 13.0.1)
|
|
55
|
+
cucumber-messages (13.2.1)
|
|
56
56
|
protobuf-cucumber (~> 3.10, >= 3.10.8)
|
|
57
57
|
cucumber-tag-expressions (2.0.4)
|
|
58
|
-
cucumber-wire (
|
|
59
|
-
cucumber-core (~>
|
|
60
|
-
cucumber-cucumber-expressions (~> 10.
|
|
61
|
-
cucumber-messages (~>
|
|
62
|
-
diff-lcs (1.
|
|
63
|
-
docile (1.3.
|
|
58
|
+
cucumber-wire (4.0.1)
|
|
59
|
+
cucumber-core (~> 8.0, >= 8.0.1)
|
|
60
|
+
cucumber-cucumber-expressions (~> 10.3, >= 10.3.0)
|
|
61
|
+
cucumber-messages (~> 13.0, >= 13.0.1)
|
|
62
|
+
diff-lcs (1.4.4)
|
|
63
|
+
docile (1.3.5)
|
|
64
64
|
domain_name (0.5.20190701)
|
|
65
65
|
unf (>= 0.0.5, < 1.0.0)
|
|
66
66
|
e2mmap (0.1.0)
|
|
67
|
-
ffi (1.
|
|
68
|
-
google-protobuf (3.
|
|
69
|
-
googleapis-common-protos-types (1.0.
|
|
70
|
-
google-protobuf (~> 3.
|
|
71
|
-
grpc (1.
|
|
72
|
-
google-protobuf (~> 3.
|
|
67
|
+
ffi (1.15.0)
|
|
68
|
+
google-protobuf (3.15.8)
|
|
69
|
+
googleapis-common-protos-types (1.0.6)
|
|
70
|
+
google-protobuf (~> 3.14)
|
|
71
|
+
grpc (1.37.0)
|
|
72
|
+
google-protobuf (~> 3.15)
|
|
73
73
|
googleapis-common-protos-types (~> 1.0)
|
|
74
|
-
grpc-tools (1.
|
|
74
|
+
grpc-tools (1.37.0)
|
|
75
75
|
http-accept (1.7.0)
|
|
76
76
|
http-cookie (1.0.3)
|
|
77
77
|
domain_name (~> 0.5)
|
|
78
|
-
i18n (1.8.
|
|
78
|
+
i18n (1.8.10)
|
|
79
79
|
concurrent-ruby (~> 1.0)
|
|
80
80
|
jaro_winkler (1.5.4)
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
kramdown (2.3.1)
|
|
82
|
+
rexml
|
|
83
|
+
kramdown-parser-gfm (1.1.0)
|
|
84
|
+
kramdown (~> 2.0)
|
|
83
85
|
middleware (0.1.0)
|
|
84
86
|
mime-types (3.3.1)
|
|
85
87
|
mime-types-data (~> 3.2015)
|
|
86
|
-
mime-types-data (3.
|
|
87
|
-
mini_portile2 (2.
|
|
88
|
-
minitest (5.14.
|
|
88
|
+
mime-types-data (3.2021.0225)
|
|
89
|
+
mini_portile2 (2.5.0)
|
|
90
|
+
minitest (5.14.4)
|
|
89
91
|
multi_test (0.1.2)
|
|
90
92
|
mustermann (1.1.1)
|
|
91
93
|
ruby2_keywords (~> 0.0.1)
|
|
92
94
|
netrc (0.11.0)
|
|
93
|
-
nio4r (2.5.
|
|
94
|
-
nokogiri (1.
|
|
95
|
-
mini_portile2 (~> 2.
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
nio4r (2.5.7)
|
|
96
|
+
nokogiri (1.11.3)
|
|
97
|
+
mini_portile2 (~> 2.5.0)
|
|
98
|
+
racc (~> 1.4)
|
|
99
|
+
parallel (1.20.1)
|
|
100
|
+
parser (3.0.1.0)
|
|
98
101
|
ast (~> 2.4.1)
|
|
99
102
|
protobuf-cucumber (3.10.8)
|
|
100
103
|
activesupport (>= 3.2)
|
|
101
104
|
middleware
|
|
102
105
|
thor
|
|
103
106
|
thread_safe
|
|
104
|
-
puma (
|
|
107
|
+
puma (5.2.2)
|
|
105
108
|
nio4r (~> 2.0)
|
|
109
|
+
racc (1.5.2)
|
|
106
110
|
rack (2.2.3)
|
|
107
|
-
rack-protection (2.0
|
|
111
|
+
rack-protection (2.1.0)
|
|
108
112
|
rack
|
|
109
113
|
rainbow (3.0.0)
|
|
110
|
-
|
|
111
|
-
regexp_parser (1.7.1)
|
|
114
|
+
regexp_parser (2.1.1)
|
|
112
115
|
rest-client (2.1.0)
|
|
113
116
|
http-accept (>= 1.7.0, < 2.0)
|
|
114
117
|
http-cookie (>= 1.0.2, < 2.0)
|
|
@@ -116,75 +119,76 @@ GEM
|
|
|
116
119
|
netrc (~> 0.8)
|
|
117
120
|
reverse_markdown (2.0.0)
|
|
118
121
|
nokogiri
|
|
119
|
-
rexml (3.2.
|
|
120
|
-
rspec (3.
|
|
121
|
-
rspec-core (~> 3.
|
|
122
|
-
rspec-expectations (~> 3.
|
|
123
|
-
rspec-mocks (~> 3.
|
|
122
|
+
rexml (3.2.5)
|
|
123
|
+
rspec (3.10.0)
|
|
124
|
+
rspec-core (~> 3.10.0)
|
|
125
|
+
rspec-expectations (~> 3.10.0)
|
|
126
|
+
rspec-mocks (~> 3.10.0)
|
|
124
127
|
rspec-benchmark (0.6.0)
|
|
125
128
|
benchmark-malloc (~> 0.2)
|
|
126
129
|
benchmark-perf (~> 0.6)
|
|
127
130
|
benchmark-trend (~> 0.4)
|
|
128
131
|
rspec (>= 3.0)
|
|
129
|
-
rspec-core (3.
|
|
130
|
-
rspec-support (~> 3.
|
|
131
|
-
rspec-expectations (3.
|
|
132
|
+
rspec-core (3.10.1)
|
|
133
|
+
rspec-support (~> 3.10.0)
|
|
134
|
+
rspec-expectations (3.10.1)
|
|
132
135
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
133
|
-
rspec-support (~> 3.
|
|
134
|
-
rspec-mocks (3.
|
|
136
|
+
rspec-support (~> 3.10.0)
|
|
137
|
+
rspec-mocks (3.10.2)
|
|
135
138
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
136
|
-
rspec-support (~> 3.
|
|
137
|
-
rspec-support (3.
|
|
138
|
-
rubocop (
|
|
139
|
+
rspec-support (~> 3.10.0)
|
|
140
|
+
rspec-support (3.10.2)
|
|
141
|
+
rubocop (1.13.0)
|
|
139
142
|
parallel (~> 1.10)
|
|
140
|
-
parser (>=
|
|
143
|
+
parser (>= 3.0.0.0)
|
|
141
144
|
rainbow (>= 2.2.2, < 4.0)
|
|
142
|
-
regexp_parser (>= 1.
|
|
145
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
143
146
|
rexml
|
|
144
|
-
rubocop-ast (>=
|
|
147
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
145
148
|
ruby-progressbar (~> 1.7)
|
|
146
|
-
unicode-display_width (>= 1.4.0, <
|
|
147
|
-
rubocop-ast (
|
|
148
|
-
parser (>= 2.7.
|
|
149
|
-
ruby-progressbar (1.
|
|
150
|
-
ruby2_keywords (0.0.
|
|
151
|
-
simplecov (0.
|
|
149
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
150
|
+
rubocop-ast (1.4.1)
|
|
151
|
+
parser (>= 2.7.1.5)
|
|
152
|
+
ruby-progressbar (1.11.0)
|
|
153
|
+
ruby2_keywords (0.0.4)
|
|
154
|
+
simplecov (0.21.2)
|
|
152
155
|
docile (~> 1.1)
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
simplecov-html (0.
|
|
156
|
-
|
|
156
|
+
simplecov-html (~> 0.11)
|
|
157
|
+
simplecov_json_formatter (~> 0.1)
|
|
158
|
+
simplecov-html (0.12.3)
|
|
159
|
+
simplecov_json_formatter (0.1.2)
|
|
160
|
+
sinatra (2.1.0)
|
|
157
161
|
mustermann (~> 1.0)
|
|
158
|
-
rack (~> 2.
|
|
159
|
-
rack-protection (= 2.0
|
|
162
|
+
rack (~> 2.2)
|
|
163
|
+
rack-protection (= 2.1.0)
|
|
160
164
|
tilt (~> 2.0)
|
|
161
|
-
solargraph (0.
|
|
165
|
+
solargraph (0.40.4)
|
|
162
166
|
backport (~> 1.1)
|
|
163
167
|
benchmark
|
|
164
168
|
bundler (>= 1.17.2)
|
|
165
169
|
e2mmap
|
|
166
170
|
jaro_winkler (~> 1.5)
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
parser (~>
|
|
171
|
+
kramdown (~> 2.3)
|
|
172
|
+
kramdown-parser-gfm (~> 1.1)
|
|
173
|
+
parser (~> 3.0)
|
|
170
174
|
reverse_markdown (>= 1.0.5, < 3)
|
|
171
|
-
rubocop (
|
|
175
|
+
rubocop (>= 0.52)
|
|
172
176
|
thor (~> 1.0)
|
|
173
177
|
tilt (~> 2.0)
|
|
174
178
|
yard (~> 0.9, >= 0.9.24)
|
|
175
|
-
sys-uname (1.2.
|
|
176
|
-
ffi (
|
|
179
|
+
sys-uname (1.2.2)
|
|
180
|
+
ffi (~> 1.1)
|
|
177
181
|
thor (1.0.1)
|
|
178
182
|
thread_safe (0.3.6)
|
|
179
183
|
tilt (2.0.10)
|
|
180
|
-
tzinfo (
|
|
181
|
-
|
|
184
|
+
tzinfo (2.0.4)
|
|
185
|
+
concurrent-ruby (~> 1.0)
|
|
182
186
|
unf (0.1.4)
|
|
183
187
|
unf_ext
|
|
184
188
|
unf_ext (0.0.7.7)
|
|
185
|
-
unicode-display_width (
|
|
186
|
-
yard (0.9.
|
|
187
|
-
zeitwerk (2.4.
|
|
189
|
+
unicode-display_width (2.0.0)
|
|
190
|
+
yard (0.9.26)
|
|
191
|
+
zeitwerk (2.4.2)
|
|
188
192
|
|
|
189
193
|
PLATFORMS
|
|
190
194
|
ruby
|
|
@@ -193,10 +197,9 @@ DEPENDENCIES
|
|
|
193
197
|
bundler (~> 2.1, >= 2.1.4)
|
|
194
198
|
grpc-tools (>= 1, < 2)
|
|
195
199
|
nonnative!
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
solargraph (~> 0.39.11)
|
|
200
|
+
rubocop (~> 1.12)
|
|
201
|
+
simplecov (~> 0.21.2)
|
|
202
|
+
solargraph (~> 0.40.4)
|
|
200
203
|
|
|
201
204
|
BUNDLED WITH
|
|
202
205
|
2.1.4
|
data/Makefile
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
.PHONY: features
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
dep:
|
|
4
4
|
bin/setup
|
|
5
5
|
|
|
6
|
-
outdated
|
|
6
|
+
outdated:
|
|
7
7
|
bundle outdated --only-explicit
|
|
8
8
|
|
|
9
9
|
features: clean
|
|
10
10
|
bundle exec cucumber --profile report --fail-fast $(feature)
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
lint:
|
|
13
13
|
bundle exec rubocop
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
bundle exec rubocop -
|
|
15
|
+
fix-lint:
|
|
16
|
+
bundle exec rubocop -A
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
clean-logs:
|
|
19
19
|
rm -rf features/logs/*.log
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
clean-reports:
|
|
22
22
|
rm -rf reports
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
clean-coverage:
|
|
25
25
|
rm -rf coverage
|
|
26
26
|
|
|
27
|
-
clean:
|
|
27
|
+
clean: clean-logs clean-reports clean-coverage
|
data/README.md
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
[](https://circleci.com/gh/alexfalkowski/nonnative)
|
|
2
|
-
[](https://sonarcloud.io/dashboard?id=alexfalkowski_nonnative)
|
|
3
2
|
|
|
4
3
|
# Nonnative
|
|
5
4
|
|
|
@@ -374,7 +373,6 @@ server.proxy.close_all # To use close_all.
|
|
|
374
373
|
server.proxy.reset # To reset it back to a good state.
|
|
375
374
|
```
|
|
376
375
|
|
|
377
|
-
|
|
378
376
|
### Go
|
|
379
377
|
|
|
380
378
|
As we love using go as a language for services we have added support to start binaries with defined parameters. This expects that you build your services in the format of `command sub_command --params`
|
|
@@ -382,8 +380,6 @@ As we love using go as a language for services we have added support to start bi
|
|
|
382
380
|
To get this to work you will need to create a `main_test.go` file with these contents:
|
|
383
381
|
|
|
384
382
|
```go
|
|
385
|
-
// +build features
|
|
386
|
-
|
|
387
383
|
package main
|
|
388
384
|
|
|
389
385
|
import (
|
|
@@ -401,11 +397,11 @@ func TestFeatures(t *testing.T) {
|
|
|
401
397
|
Then to compile this binary you will need to do the following:
|
|
402
398
|
|
|
403
399
|
```sh
|
|
404
|
-
go test -mod vendor -c -
|
|
400
|
+
go test -mod vendor -c -covermode=count -o your_binary -coverpkg=./... github.com/your_location
|
|
405
401
|
```
|
|
406
402
|
|
|
407
403
|
Then to get an executable you do the following:
|
|
408
404
|
|
|
409
405
|
```ruby
|
|
410
|
-
Nonnative
|
|
406
|
+
Nonnative.go_executable('reports', 'your_binary', 'sub_command', '--config config.yaml')
|
|
411
407
|
```
|
data/lib/nonnative.rb
CHANGED
|
@@ -29,7 +29,6 @@ require 'nonnative/server'
|
|
|
29
29
|
require 'nonnative/http_client'
|
|
30
30
|
require 'nonnative/http_server'
|
|
31
31
|
require 'nonnative/grpc_server'
|
|
32
|
-
require 'nonnative/grpc_server'
|
|
33
32
|
require 'nonnative/observability'
|
|
34
33
|
require 'nonnative/proxy_factory'
|
|
35
34
|
require 'nonnative/proxy'
|
|
@@ -47,6 +46,10 @@ module Nonnative
|
|
|
47
46
|
class << self
|
|
48
47
|
attr_reader :pool
|
|
49
48
|
|
|
49
|
+
def go_executable(output, exec, cmd, *params)
|
|
50
|
+
Nonnative::GoCommand.new(exec, output).executable(cmd, params)
|
|
51
|
+
end
|
|
52
|
+
|
|
50
53
|
def load_configuration(path)
|
|
51
54
|
@configuration ||= Nonnative::Configuration.load_file(path) # rubocop:disable Naming/MemoizedInstanceVariableName
|
|
52
55
|
end
|
|
@@ -40,19 +40,21 @@ module Nonnative
|
|
|
40
40
|
s.port = fd['port']
|
|
41
41
|
s.log = fd['log']
|
|
42
42
|
|
|
43
|
-
proxy
|
|
44
|
-
|
|
45
|
-
if proxy
|
|
46
|
-
s.proxy = {
|
|
47
|
-
type: proxy['type'],
|
|
48
|
-
port: proxy['port'],
|
|
49
|
-
log: proxy['log'],
|
|
50
|
-
options: proxy['options']
|
|
51
|
-
}
|
|
52
|
-
end
|
|
43
|
+
proxy s, fd['proxy']
|
|
53
44
|
end
|
|
54
45
|
end
|
|
55
46
|
end
|
|
47
|
+
|
|
48
|
+
def proxy(server, proxy)
|
|
49
|
+
return unless proxy
|
|
50
|
+
|
|
51
|
+
server.proxy = {
|
|
52
|
+
type: proxy['type'],
|
|
53
|
+
port: proxy['port'],
|
|
54
|
+
log: proxy['log'],
|
|
55
|
+
options: proxy['options']
|
|
56
|
+
}
|
|
57
|
+
end
|
|
56
58
|
end
|
|
57
59
|
|
|
58
60
|
def initialize
|
data/lib/nonnative/go_command.rb
CHANGED
|
@@ -2,30 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
module Nonnative
|
|
4
4
|
class GoCommand
|
|
5
|
-
def initialize(
|
|
6
|
-
@
|
|
5
|
+
def initialize(exec, output)
|
|
6
|
+
@exec = exec
|
|
7
7
|
@output = output
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
def executable(cmd, *params)
|
|
11
11
|
params = params.join(' ')
|
|
12
|
-
"#{
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def execute(cmd, *params)
|
|
16
|
-
Open3.popen3(executable(cmd, params)) do |_stdin, stdout, stderr, wait_thr|
|
|
17
|
-
return stdout.read, stderr.read, wait_thr.value
|
|
18
|
-
end
|
|
12
|
+
"#{exec} #{flags(cmd, params).join(' ')} #{cmd} #{params}".strip
|
|
19
13
|
end
|
|
20
14
|
|
|
21
15
|
private
|
|
22
16
|
|
|
23
|
-
attr_reader :
|
|
17
|
+
attr_reader :exec, :output
|
|
24
18
|
|
|
25
19
|
def flags(cmd, params)
|
|
26
|
-
m = File.basename(
|
|
20
|
+
m = File.basename(exec, File.extname(exec))
|
|
27
21
|
p = params.gsub(/\W/, '')
|
|
28
|
-
|
|
22
|
+
name = [m, cmd, p].reject(&:empty?).join('-')
|
|
23
|
+
path = "#{output}/#{name}"
|
|
29
24
|
|
|
30
25
|
[
|
|
31
26
|
"-test.cpuprofile=#{path}-cpu.prof",
|
data/lib/nonnative/timeout.rb
CHANGED
data/lib/nonnative/version.rb
CHANGED
data/nonnative.gemspec
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
lib = File.expand_path('lib', __dir__)
|
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
+
|
|
5
6
|
require 'nonnative/version'
|
|
6
7
|
|
|
7
8
|
Gem::Specification.new do |spec|
|
|
@@ -14,20 +15,18 @@ Gem::Specification.new do |spec|
|
|
|
14
15
|
spec.description = spec.summary
|
|
15
16
|
spec.homepage = 'https://github.com/alexfalkowski/nonnative'
|
|
16
17
|
spec.license = 'Unlicense'
|
|
17
|
-
|
|
18
|
-
# Specify which files should be added to the gem when it is released.
|
|
19
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
20
18
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
21
19
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
22
20
|
end
|
|
23
21
|
spec.bindir = 'exe'
|
|
24
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
25
23
|
spec.require_paths = ['lib']
|
|
24
|
+
spec.required_ruby_version = ['>= 2.7.0', '< 2.8.0']
|
|
26
25
|
|
|
27
26
|
spec.add_dependency 'concurrent-ruby', '~> 1.0', '>= 1.0.5'
|
|
28
|
-
spec.add_dependency 'cucumber', ['>=
|
|
27
|
+
spec.add_dependency 'cucumber', ['>= 5', '< 6']
|
|
29
28
|
spec.add_dependency 'grpc', ['>= 1', '< 2']
|
|
30
|
-
spec.add_dependency 'puma', '~>
|
|
29
|
+
spec.add_dependency 'puma', '~> 5.0'
|
|
31
30
|
spec.add_dependency 'rest-client', '~> 2.1'
|
|
32
31
|
spec.add_dependency 'rspec-benchmark', '~> 0.6.0'
|
|
33
32
|
spec.add_dependency 'rspec-expectations', '~> 3.9', '>= 3.9.2'
|
|
@@ -35,8 +34,7 @@ Gem::Specification.new do |spec|
|
|
|
35
34
|
|
|
36
35
|
spec.add_development_dependency 'bundler', '~> 2.1', '>= 2.1.4'
|
|
37
36
|
spec.add_development_dependency 'grpc-tools', ['>= 1', '< 2']
|
|
38
|
-
spec.add_development_dependency '
|
|
39
|
-
spec.add_development_dependency '
|
|
40
|
-
spec.add_development_dependency '
|
|
41
|
-
spec.add_development_dependency 'solargraph', '~> 0.39.11'
|
|
37
|
+
spec.add_development_dependency 'rubocop', '~> 1.12'
|
|
38
|
+
spec.add_development_dependency 'simplecov', '~> 0.21.2'
|
|
39
|
+
spec.add_development_dependency 'solargraph', '~> 0.40.4'
|
|
42
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.37.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:
|
|
11
|
+
date: 2021-04-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: concurrent-ruby
|
|
@@ -36,20 +36,20 @@ dependencies:
|
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
39
|
+
version: '5'
|
|
40
40
|
- - "<"
|
|
41
41
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: '
|
|
42
|
+
version: '6'
|
|
43
43
|
type: :runtime
|
|
44
44
|
prerelease: false
|
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
46
|
requirements:
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '
|
|
49
|
+
version: '5'
|
|
50
50
|
- - "<"
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
|
-
version: '
|
|
52
|
+
version: '6'
|
|
53
53
|
- !ruby/object:Gem::Dependency
|
|
54
54
|
name: grpc
|
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -76,20 +76,14 @@ dependencies:
|
|
|
76
76
|
requirements:
|
|
77
77
|
- - "~>"
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 4.3.3
|
|
79
|
+
version: '5.0'
|
|
83
80
|
type: :runtime
|
|
84
81
|
prerelease: false
|
|
85
82
|
version_requirements: !ruby/object:Gem::Requirement
|
|
86
83
|
requirements:
|
|
87
84
|
- - "~>"
|
|
88
85
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
90
|
-
- - ">="
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: 4.3.3
|
|
86
|
+
version: '5.0'
|
|
93
87
|
- !ruby/object:Gem::Dependency
|
|
94
88
|
name: rest-client
|
|
95
89
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,68 +192,48 @@ dependencies:
|
|
|
198
192
|
- - "<"
|
|
199
193
|
- !ruby/object:Gem::Version
|
|
200
194
|
version: '2'
|
|
201
|
-
- !ruby/object:Gem::Dependency
|
|
202
|
-
name: rake
|
|
203
|
-
requirement: !ruby/object:Gem::Requirement
|
|
204
|
-
requirements:
|
|
205
|
-
- - "~>"
|
|
206
|
-
- !ruby/object:Gem::Version
|
|
207
|
-
version: '13.0'
|
|
208
|
-
- - ">="
|
|
209
|
-
- !ruby/object:Gem::Version
|
|
210
|
-
version: 13.0.1
|
|
211
|
-
type: :development
|
|
212
|
-
prerelease: false
|
|
213
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
214
|
-
requirements:
|
|
215
|
-
- - "~>"
|
|
216
|
-
- !ruby/object:Gem::Version
|
|
217
|
-
version: '13.0'
|
|
218
|
-
- - ">="
|
|
219
|
-
- !ruby/object:Gem::Version
|
|
220
|
-
version: 13.0.1
|
|
221
195
|
- !ruby/object:Gem::Dependency
|
|
222
196
|
name: rubocop
|
|
223
197
|
requirement: !ruby/object:Gem::Requirement
|
|
224
198
|
requirements:
|
|
225
199
|
- - "~>"
|
|
226
200
|
- !ruby/object:Gem::Version
|
|
227
|
-
version: '
|
|
201
|
+
version: '1.12'
|
|
228
202
|
type: :development
|
|
229
203
|
prerelease: false
|
|
230
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
231
205
|
requirements:
|
|
232
206
|
- - "~>"
|
|
233
207
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: '
|
|
208
|
+
version: '1.12'
|
|
235
209
|
- !ruby/object:Gem::Dependency
|
|
236
210
|
name: simplecov
|
|
237
211
|
requirement: !ruby/object:Gem::Requirement
|
|
238
212
|
requirements:
|
|
239
213
|
- - "~>"
|
|
240
214
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: 0.
|
|
215
|
+
version: 0.21.2
|
|
242
216
|
type: :development
|
|
243
217
|
prerelease: false
|
|
244
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
245
219
|
requirements:
|
|
246
220
|
- - "~>"
|
|
247
221
|
- !ruby/object:Gem::Version
|
|
248
|
-
version: 0.
|
|
222
|
+
version: 0.21.2
|
|
249
223
|
- !ruby/object:Gem::Dependency
|
|
250
224
|
name: solargraph
|
|
251
225
|
requirement: !ruby/object:Gem::Requirement
|
|
252
226
|
requirements:
|
|
253
227
|
- - "~>"
|
|
254
228
|
- !ruby/object:Gem::Version
|
|
255
|
-
version: 0.
|
|
229
|
+
version: 0.40.4
|
|
256
230
|
type: :development
|
|
257
231
|
prerelease: false
|
|
258
232
|
version_requirements: !ruby/object:Gem::Requirement
|
|
259
233
|
requirements:
|
|
260
234
|
- - "~>"
|
|
261
235
|
- !ruby/object:Gem::Version
|
|
262
|
-
version: 0.
|
|
236
|
+
version: 0.40.4
|
|
263
237
|
description: Allows you to keep using the power of ruby to test other systems
|
|
264
238
|
email:
|
|
265
239
|
- alexrfalkowski@gmail.com
|
|
@@ -273,12 +247,12 @@ files:
|
|
|
273
247
|
- ".gitignore"
|
|
274
248
|
- ".rubocop.yml"
|
|
275
249
|
- ".ruby-version"
|
|
250
|
+
- CHANGELOG.md
|
|
276
251
|
- Gemfile
|
|
277
252
|
- Gemfile.lock
|
|
278
253
|
- LICENSE
|
|
279
254
|
- Makefile
|
|
280
255
|
- README.md
|
|
281
|
-
- Rakefile
|
|
282
256
|
- bin/console
|
|
283
257
|
- bin/setup
|
|
284
258
|
- lib/nonnative.rb
|
|
@@ -315,7 +289,6 @@ files:
|
|
|
315
289
|
- lib/nonnative/timeout.rb
|
|
316
290
|
- lib/nonnative/version.rb
|
|
317
291
|
- nonnative.gemspec
|
|
318
|
-
- sonar-project.properties
|
|
319
292
|
homepage: https://github.com/alexfalkowski/nonnative
|
|
320
293
|
licenses:
|
|
321
294
|
- Unlicense
|
|
@@ -328,14 +301,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
328
301
|
requirements:
|
|
329
302
|
- - ">="
|
|
330
303
|
- !ruby/object:Gem::Version
|
|
331
|
-
version:
|
|
304
|
+
version: 2.7.0
|
|
305
|
+
- - "<"
|
|
306
|
+
- !ruby/object:Gem::Version
|
|
307
|
+
version: 2.8.0
|
|
332
308
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
333
309
|
requirements:
|
|
334
310
|
- - ">="
|
|
335
311
|
- !ruby/object:Gem::Version
|
|
336
312
|
version: '0'
|
|
337
313
|
requirements: []
|
|
338
|
-
rubygems_version: 3.1.
|
|
314
|
+
rubygems_version: 3.1.4
|
|
339
315
|
signing_key:
|
|
340
316
|
specification_version: 4
|
|
341
317
|
summary: Allows you to keep using the power of ruby to test other systems
|
data/Rakefile
DELETED
data/sonar-project.properties
DELETED