bashcov 3.2.0 → 3.3.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/.rubocop.yml +1 -1
- data/CHANGELOG.md +16 -1
- data/Gemfile.nix.lock +68 -43
- data/Guardfile +1 -1
- data/gemset.nix +181 -56
- data/lib/bashcov/detective.rb +0 -2
- data/lib/bashcov/lexer.rb +3 -3
- data/lib/bashcov/version.rb +1 -1
- data/lib/bashcov.rb +4 -2
- metadata +45 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cfda1fc3d4c19c0782e856c20e9435b91e16487221fb97e2875b32a5cb73f653
|
|
4
|
+
data.tar.gz: a226b0ec693237618d3a50c3454a23168aff12ed7aefd79a85a796201b059729
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b44520af7881af5f84965c74cb673451536edefb64556bde376e13597173e1126ff6873aad360d484aa8886262bd5ad8915588a299819b891b02331d9d4ae784
|
|
7
|
+
data.tar.gz: df3e60d5fbfa4476b51265ae84314a41b28a592062cefa62bda00a20b3d336bc1ba66994c14092b9d24e175aed2be54643e966c97ad33844b6f3726ff1019d42
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
## Unreleased ([changes](https://github.com/infertux/bashcov/compare/v3.
|
|
1
|
+
## Unreleased ([changes](https://github.com/infertux/bashcov/compare/v3.3.0...master))
|
|
2
2
|
|
|
3
3
|
* TBD
|
|
4
4
|
|
|
5
|
+
## v3.3.0, 2026-02-18 ([changes](https://github.com/infertux/bashcov/compare/v3.2.0...v3.3.0))
|
|
6
|
+
|
|
7
|
+
* [MISC] Add workflow to build Gem
|
|
8
|
+
* [BUGFIX] Fix heredoc with space not reported as covered (fixes #102)
|
|
9
|
+
* [BUGFIX] Do not write to stdout in specs
|
|
10
|
+
* [MISC] Update dependencies for Nix
|
|
11
|
+
* [BUXFIX] Add missing test dependencies for Ruby 4.0
|
|
12
|
+
* [MISC] Bump minimal Ruby version to 3.2
|
|
13
|
+
* [MISC] Test with Debian 12
|
|
14
|
+
* [MISC] Test against all Bash versions
|
|
15
|
+
* [MISC] Run GitHub CI monthly
|
|
16
|
+
* [BUGFIX] Fix Rubocop violations
|
|
17
|
+
* [FEATURE] Support multiline subshells
|
|
18
|
+
* [FEATURE] Support function names containing the at sign
|
|
19
|
+
|
|
5
20
|
## v3.2.0, 2025-07-28 ([changes](https://github.com/infertux/bashcov/compare/v3.1.3...v3.2.0))
|
|
6
21
|
|
|
7
22
|
* [BUGFIX] Support function names containing dots (#97)
|
data/Gemfile.nix.lock
CHANGED
|
@@ -7,77 +7,98 @@ PATH
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
aruba (2.3.
|
|
11
|
-
bundler (>= 1.17
|
|
10
|
+
aruba (2.3.3)
|
|
11
|
+
bundler (>= 1.17)
|
|
12
12
|
contracts (>= 0.16.0, < 0.18.0)
|
|
13
13
|
cucumber (>= 8.0, < 11.0)
|
|
14
|
-
rspec-expectations (
|
|
14
|
+
rspec-expectations (>= 3.4, < 5.0)
|
|
15
15
|
thor (~> 1.0)
|
|
16
16
|
ast (2.4.3)
|
|
17
17
|
base64 (0.3.0)
|
|
18
|
-
|
|
18
|
+
benchmark (0.5.0)
|
|
19
|
+
bigdecimal (4.0.1)
|
|
19
20
|
builder (3.3.0)
|
|
20
|
-
bundler-audit (0.9.
|
|
21
|
-
bundler (>= 1.2.0
|
|
21
|
+
bundler-audit (0.9.3)
|
|
22
|
+
bundler (>= 1.2.0)
|
|
22
23
|
thor (~> 1.0)
|
|
23
|
-
contracts (0.17.
|
|
24
|
-
cucumber (10.
|
|
24
|
+
contracts (0.17.3)
|
|
25
|
+
cucumber (10.2.0)
|
|
25
26
|
base64 (~> 0.2)
|
|
26
27
|
builder (~> 3.2)
|
|
27
|
-
cucumber-ci-environment (> 9, <
|
|
28
|
+
cucumber-ci-environment (> 9, < 12)
|
|
28
29
|
cucumber-core (> 15, < 17)
|
|
29
|
-
cucumber-cucumber-expressions (> 17, <
|
|
30
|
-
cucumber-html-formatter (>
|
|
30
|
+
cucumber-cucumber-expressions (> 17, < 20)
|
|
31
|
+
cucumber-html-formatter (> 21, < 23)
|
|
31
32
|
diff-lcs (~> 1.5)
|
|
32
33
|
logger (~> 1.6)
|
|
33
34
|
mini_mime (~> 1.1)
|
|
34
35
|
multi_test (~> 1.1)
|
|
35
36
|
sys-uname (~> 1.3)
|
|
36
|
-
cucumber-ci-environment (
|
|
37
|
-
cucumber-core (
|
|
38
|
-
cucumber-gherkin (>
|
|
39
|
-
cucumber-messages (>
|
|
40
|
-
cucumber-tag-expressions (>
|
|
37
|
+
cucumber-ci-environment (11.0.0)
|
|
38
|
+
cucumber-core (16.1.1)
|
|
39
|
+
cucumber-gherkin (> 36, < 40)
|
|
40
|
+
cucumber-messages (> 31, < 33)
|
|
41
|
+
cucumber-tag-expressions (> 6, < 9)
|
|
41
42
|
cucumber-cucumber-expressions (18.0.1)
|
|
42
43
|
bigdecimal
|
|
43
|
-
cucumber-gherkin (
|
|
44
|
-
cucumber-messages (
|
|
45
|
-
cucumber-html-formatter (
|
|
46
|
-
cucumber-messages (>
|
|
47
|
-
cucumber-messages (
|
|
48
|
-
cucumber-tag-expressions (
|
|
44
|
+
cucumber-gherkin (37.0.1)
|
|
45
|
+
cucumber-messages (>= 31, < 32)
|
|
46
|
+
cucumber-html-formatter (22.3.0)
|
|
47
|
+
cucumber-messages (> 23, < 33)
|
|
48
|
+
cucumber-messages (31.1.0)
|
|
49
|
+
cucumber-tag-expressions (8.1.0)
|
|
50
|
+
date (3.5.1)
|
|
49
51
|
diff-lcs (1.6.2)
|
|
50
52
|
docile (1.4.1)
|
|
53
|
+
erb (6.0.1)
|
|
51
54
|
ffi (1.16.3)
|
|
52
|
-
|
|
55
|
+
io-console (0.8.2)
|
|
56
|
+
irb (1.16.0)
|
|
57
|
+
pp (>= 0.6.0)
|
|
58
|
+
rdoc (>= 4.0.0)
|
|
59
|
+
reline (>= 0.4.2)
|
|
60
|
+
json (2.18.0)
|
|
53
61
|
language_server-protocol (3.17.0.5)
|
|
54
62
|
lint_roller (1.1.0)
|
|
55
63
|
logger (1.7.0)
|
|
64
|
+
memoist3 (1.0.0)
|
|
56
65
|
mini_mime (1.1.5)
|
|
57
66
|
multi_test (1.1.0)
|
|
58
67
|
parallel (1.27.0)
|
|
59
|
-
parser (3.3.
|
|
68
|
+
parser (3.3.10.0)
|
|
60
69
|
ast (~> 2.4.1)
|
|
61
70
|
racc
|
|
62
|
-
|
|
71
|
+
pp (0.6.3)
|
|
72
|
+
prettyprint
|
|
73
|
+
prettyprint (0.2.0)
|
|
74
|
+
prism (1.7.0)
|
|
75
|
+
psych (5.3.1)
|
|
76
|
+
date
|
|
77
|
+
stringio
|
|
63
78
|
racc (1.8.1)
|
|
64
79
|
rainbow (3.1.1)
|
|
65
|
-
rake (13.3.
|
|
66
|
-
|
|
67
|
-
|
|
80
|
+
rake (13.3.1)
|
|
81
|
+
rdoc (7.0.3)
|
|
82
|
+
erb
|
|
83
|
+
psych (>= 4.0.0)
|
|
84
|
+
tsort
|
|
85
|
+
regexp_parser (2.11.3)
|
|
86
|
+
reline (0.6.3)
|
|
87
|
+
io-console (~> 0.5)
|
|
88
|
+
rspec (3.13.2)
|
|
68
89
|
rspec-core (~> 3.13.0)
|
|
69
90
|
rspec-expectations (~> 3.13.0)
|
|
70
91
|
rspec-mocks (~> 3.13.0)
|
|
71
|
-
rspec-core (3.13.
|
|
92
|
+
rspec-core (3.13.6)
|
|
72
93
|
rspec-support (~> 3.13.0)
|
|
73
94
|
rspec-expectations (3.13.5)
|
|
74
95
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
75
96
|
rspec-support (~> 3.13.0)
|
|
76
|
-
rspec-mocks (3.13.
|
|
97
|
+
rspec-mocks (3.13.7)
|
|
77
98
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
78
99
|
rspec-support (~> 3.13.0)
|
|
79
|
-
rspec-support (3.13.
|
|
80
|
-
rubocop (1.
|
|
100
|
+
rspec-support (3.13.6)
|
|
101
|
+
rubocop (1.82.1)
|
|
81
102
|
json (~> 2.3)
|
|
82
103
|
language_server-protocol (~> 3.17.0.2)
|
|
83
104
|
lint_roller (~> 1.1.0)
|
|
@@ -85,19 +106,18 @@ GEM
|
|
|
85
106
|
parser (>= 3.3.0.2)
|
|
86
107
|
rainbow (>= 2.2.2, < 4.0)
|
|
87
108
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
88
|
-
rubocop-ast (>= 1.
|
|
109
|
+
rubocop-ast (>= 1.48.0, < 2.0)
|
|
89
110
|
ruby-progressbar (~> 1.7)
|
|
90
|
-
tsort (>= 0.2.0)
|
|
91
111
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
92
|
-
rubocop-ast (1.
|
|
112
|
+
rubocop-ast (1.49.0)
|
|
93
113
|
parser (>= 3.3.7.2)
|
|
94
|
-
prism (~> 1.
|
|
114
|
+
prism (~> 1.7)
|
|
95
115
|
rubocop-rake (0.7.1)
|
|
96
116
|
lint_roller (~> 1.1)
|
|
97
117
|
rubocop (>= 1.72.1)
|
|
98
|
-
rubocop-rspec (3.
|
|
118
|
+
rubocop-rspec (3.8.0)
|
|
99
119
|
lint_roller (~> 1.1)
|
|
100
|
-
rubocop (~> 1.
|
|
120
|
+
rubocop (~> 1.81)
|
|
101
121
|
ruby-progressbar (1.13.0)
|
|
102
122
|
simplecov (0.22.0)
|
|
103
123
|
docile (~> 1.1)
|
|
@@ -105,14 +125,16 @@ GEM
|
|
|
105
125
|
simplecov_json_formatter (~> 0.1)
|
|
106
126
|
simplecov-html (0.13.2)
|
|
107
127
|
simplecov_json_formatter (0.1.4)
|
|
108
|
-
|
|
128
|
+
stringio (3.2.0)
|
|
129
|
+
sys-uname (1.4.1)
|
|
109
130
|
ffi (~> 1.1)
|
|
131
|
+
memoist3 (~> 1.0.0)
|
|
110
132
|
thor (1.4.0)
|
|
111
133
|
tsort (0.2.0)
|
|
112
|
-
unicode-display_width (3.
|
|
113
|
-
unicode-emoji (~> 4.
|
|
114
|
-
unicode-emoji (4.0
|
|
115
|
-
yard (0.9.
|
|
134
|
+
unicode-display_width (3.2.0)
|
|
135
|
+
unicode-emoji (~> 4.1)
|
|
136
|
+
unicode-emoji (4.2.0)
|
|
137
|
+
yard (0.9.38)
|
|
116
138
|
|
|
117
139
|
PLATFORMS
|
|
118
140
|
aarch64-linux-gnu
|
|
@@ -130,10 +152,13 @@ PLATFORMS
|
|
|
130
152
|
DEPENDENCIES
|
|
131
153
|
aruba
|
|
132
154
|
bashcov!
|
|
155
|
+
benchmark
|
|
133
156
|
bundler-audit
|
|
134
157
|
cucumber
|
|
135
158
|
ffi (~> 1.16.0)
|
|
159
|
+
irb
|
|
136
160
|
rake
|
|
161
|
+
rdoc
|
|
137
162
|
rspec
|
|
138
163
|
rubocop
|
|
139
164
|
rubocop-rake
|
data/Guardfile
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# More info at https://github.com/guard/guard#readme
|
|
4
4
|
|
|
5
|
-
guard "rspec"
|
|
5
|
+
guard "rspec" do
|
|
6
6
|
watch(%r{^spec/.+_spec\.rb$})
|
|
7
7
|
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
|
8
8
|
watch(%r{^lib/(.+)/(.+)\.rb$}) { |m| "spec/#{m[1]}/#{m[2]}_spec.rb" }
|
data/gemset.nix
CHANGED
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
platforms = [];
|
|
6
6
|
source = {
|
|
7
7
|
remotes = ["https://rubygems.org"];
|
|
8
|
-
sha256 = "
|
|
8
|
+
sha256 = "1m7ijdx5zz5mizymmwxkydyszfcafgljgqlvmlw5m9v86c12yyl3";
|
|
9
9
|
type = "gem";
|
|
10
10
|
};
|
|
11
|
-
version = "2.3.
|
|
11
|
+
version = "2.3.3";
|
|
12
12
|
};
|
|
13
13
|
ast = {
|
|
14
14
|
groups = ["default" "development"];
|
|
@@ -40,15 +40,25 @@
|
|
|
40
40
|
};
|
|
41
41
|
version = "3.2.0";
|
|
42
42
|
};
|
|
43
|
+
benchmark = {
|
|
44
|
+
groups = ["development"];
|
|
45
|
+
platforms = [];
|
|
46
|
+
source = {
|
|
47
|
+
remotes = ["https://rubygems.org"];
|
|
48
|
+
sha256 = "0v1337j39w1z7x9zs4q7ag0nfv4vs4xlsjx2la0wpv8s6hig2pa6";
|
|
49
|
+
type = "gem";
|
|
50
|
+
};
|
|
51
|
+
version = "0.5.0";
|
|
52
|
+
};
|
|
43
53
|
bigdecimal = {
|
|
44
54
|
groups = ["default" "development"];
|
|
45
55
|
platforms = [];
|
|
46
56
|
source = {
|
|
47
57
|
remotes = ["https://rubygems.org"];
|
|
48
|
-
sha256 = "
|
|
58
|
+
sha256 = "19y406nx17arzsbc515mjmr6k5p59afprspa1k423yd9cp8d61wb";
|
|
49
59
|
type = "gem";
|
|
50
60
|
};
|
|
51
|
-
version = "
|
|
61
|
+
version = "4.0.1";
|
|
52
62
|
};
|
|
53
63
|
builder = {
|
|
54
64
|
groups = ["default" "development"];
|
|
@@ -66,20 +76,20 @@
|
|
|
66
76
|
platforms = [];
|
|
67
77
|
source = {
|
|
68
78
|
remotes = ["https://rubygems.org"];
|
|
69
|
-
sha256 = "
|
|
79
|
+
sha256 = "1sdlr4rj7x5nbrl8zkd3dqdg4fc50bnpx37rl0l0szg4f5n7dj41";
|
|
70
80
|
type = "gem";
|
|
71
81
|
};
|
|
72
|
-
version = "0.9.
|
|
82
|
+
version = "0.9.3";
|
|
73
83
|
};
|
|
74
84
|
contracts = {
|
|
75
85
|
groups = ["default" "development"];
|
|
76
86
|
platforms = [];
|
|
77
87
|
source = {
|
|
78
88
|
remotes = ["https://rubygems.org"];
|
|
79
|
-
sha256 = "
|
|
89
|
+
sha256 = "1mqlhfsf53r5r5assnwzqq1ajbhwxcxniddpxjdhjiza2dj64bp7";
|
|
80
90
|
type = "gem";
|
|
81
91
|
};
|
|
82
|
-
version = "0.17.
|
|
92
|
+
version = "0.17.3";
|
|
83
93
|
};
|
|
84
94
|
cucumber = {
|
|
85
95
|
dependencies = ["base64" "builder" "cucumber-ci-environment" "cucumber-core" "cucumber-cucumber-expressions" "cucumber-html-formatter" "diff-lcs" "logger" "mini_mime" "multi_test" "sys-uname"];
|
|
@@ -87,20 +97,20 @@
|
|
|
87
97
|
platforms = [];
|
|
88
98
|
source = {
|
|
89
99
|
remotes = ["https://rubygems.org"];
|
|
90
|
-
sha256 = "
|
|
100
|
+
sha256 = "0n41b80fg8bz49m9rhms1g1zai2wl4m3z1841yv5h27lxhqvvvgx";
|
|
91
101
|
type = "gem";
|
|
92
102
|
};
|
|
93
|
-
version = "10.
|
|
103
|
+
version = "10.2.0";
|
|
94
104
|
};
|
|
95
105
|
cucumber-ci-environment = {
|
|
96
106
|
groups = ["default" "development"];
|
|
97
107
|
platforms = [];
|
|
98
108
|
source = {
|
|
99
109
|
remotes = ["https://rubygems.org"];
|
|
100
|
-
sha256 = "
|
|
110
|
+
sha256 = "1qnif57qqcvaz361jkbg43pnzn80jac0ys7gklymn08b3ng9mxqd";
|
|
101
111
|
type = "gem";
|
|
102
112
|
};
|
|
103
|
-
version = "
|
|
113
|
+
version = "11.0.0";
|
|
104
114
|
};
|
|
105
115
|
cucumber-core = {
|
|
106
116
|
dependencies = ["cucumber-gherkin" "cucumber-messages" "cucumber-tag-expressions"];
|
|
@@ -108,10 +118,10 @@
|
|
|
108
118
|
platforms = [];
|
|
109
119
|
source = {
|
|
110
120
|
remotes = ["https://rubygems.org"];
|
|
111
|
-
sha256 = "
|
|
121
|
+
sha256 = "12bbwa5fzi08jspvk4wr17wmlrwz2abg87m2y5imz1p23q5aiank";
|
|
112
122
|
type = "gem";
|
|
113
123
|
};
|
|
114
|
-
version = "
|
|
124
|
+
version = "16.1.1";
|
|
115
125
|
};
|
|
116
126
|
cucumber-cucumber-expressions = {
|
|
117
127
|
dependencies = ["bigdecimal"];
|
|
@@ -130,10 +140,10 @@
|
|
|
130
140
|
platforms = [];
|
|
131
141
|
source = {
|
|
132
142
|
remotes = ["https://rubygems.org"];
|
|
133
|
-
sha256 = "
|
|
143
|
+
sha256 = "1nankcfqfj3l4d3hkh4476fywjygjjk04n78jxzxnv59vjh7nhq6";
|
|
134
144
|
type = "gem";
|
|
135
145
|
};
|
|
136
|
-
version = "
|
|
146
|
+
version = "37.0.1";
|
|
137
147
|
};
|
|
138
148
|
cucumber-html-formatter = {
|
|
139
149
|
dependencies = ["cucumber-messages"];
|
|
@@ -141,30 +151,40 @@
|
|
|
141
151
|
platforms = [];
|
|
142
152
|
source = {
|
|
143
153
|
remotes = ["https://rubygems.org"];
|
|
144
|
-
sha256 = "
|
|
154
|
+
sha256 = "0a873ll5305g8gbp4sbf4006pn4bck6c491qbwxdgnw8ap88wxpr";
|
|
145
155
|
type = "gem";
|
|
146
156
|
};
|
|
147
|
-
version = "
|
|
157
|
+
version = "22.3.0";
|
|
148
158
|
};
|
|
149
159
|
cucumber-messages = {
|
|
150
160
|
groups = ["default" "development"];
|
|
151
161
|
platforms = [];
|
|
152
162
|
source = {
|
|
153
163
|
remotes = ["https://rubygems.org"];
|
|
154
|
-
sha256 = "
|
|
164
|
+
sha256 = "02jscha3irpflhl5aanjxgj6cqx198pl89zd162sdsc90f449r4i";
|
|
155
165
|
type = "gem";
|
|
156
166
|
};
|
|
157
|
-
version = "
|
|
167
|
+
version = "31.1.0";
|
|
158
168
|
};
|
|
159
169
|
cucumber-tag-expressions = {
|
|
160
170
|
groups = ["default" "development"];
|
|
161
171
|
platforms = [];
|
|
162
172
|
source = {
|
|
163
173
|
remotes = ["https://rubygems.org"];
|
|
164
|
-
sha256 = "
|
|
174
|
+
sha256 = "089fynlhyzcjng7x8ffda1gafdi1yfv2k4y9m7r5p3jgcnvc9n4v";
|
|
165
175
|
type = "gem";
|
|
166
176
|
};
|
|
167
|
-
version = "
|
|
177
|
+
version = "8.1.0";
|
|
178
|
+
};
|
|
179
|
+
date = {
|
|
180
|
+
groups = ["default" "development"];
|
|
181
|
+
platforms = [];
|
|
182
|
+
source = {
|
|
183
|
+
remotes = ["https://rubygems.org"];
|
|
184
|
+
sha256 = "1h0db8r2v5llxdbzkzyllkfniqw9gm092qn7cbaib73v9lw0c3bm";
|
|
185
|
+
type = "gem";
|
|
186
|
+
};
|
|
187
|
+
version = "3.5.1";
|
|
168
188
|
};
|
|
169
189
|
diff-lcs = {
|
|
170
190
|
groups = ["default" "development"];
|
|
@@ -186,6 +206,16 @@
|
|
|
186
206
|
};
|
|
187
207
|
version = "1.4.1";
|
|
188
208
|
};
|
|
209
|
+
erb = {
|
|
210
|
+
groups = ["default" "development"];
|
|
211
|
+
platforms = [];
|
|
212
|
+
source = {
|
|
213
|
+
remotes = ["https://rubygems.org"];
|
|
214
|
+
sha256 = "1rcpq49pyaiclpjp3c3qjl25r95hqvin2q2dczaynaj7qncxvv18";
|
|
215
|
+
type = "gem";
|
|
216
|
+
};
|
|
217
|
+
version = "6.0.1";
|
|
218
|
+
};
|
|
189
219
|
ffi = {
|
|
190
220
|
groups = ["development"];
|
|
191
221
|
platforms = [];
|
|
@@ -196,15 +226,36 @@
|
|
|
196
226
|
};
|
|
197
227
|
version = "1.16.3";
|
|
198
228
|
};
|
|
229
|
+
io-console = {
|
|
230
|
+
groups = ["default" "development"];
|
|
231
|
+
platforms = [];
|
|
232
|
+
source = {
|
|
233
|
+
remotes = ["https://rubygems.org"];
|
|
234
|
+
sha256 = "1k0lk3pwadm2myvpg893n8jshmrf2sigrd4ki15lymy7gixaxqyn";
|
|
235
|
+
type = "gem";
|
|
236
|
+
};
|
|
237
|
+
version = "0.8.2";
|
|
238
|
+
};
|
|
239
|
+
irb = {
|
|
240
|
+
dependencies = ["pp" "rdoc" "reline"];
|
|
241
|
+
groups = ["development"];
|
|
242
|
+
platforms = [];
|
|
243
|
+
source = {
|
|
244
|
+
remotes = ["https://rubygems.org"];
|
|
245
|
+
sha256 = "01h8bdksg0cr8bw5dhlhr29ix33rp822jmshy6rdqz4lmk4mdgia";
|
|
246
|
+
type = "gem";
|
|
247
|
+
};
|
|
248
|
+
version = "1.16.0";
|
|
249
|
+
};
|
|
199
250
|
json = {
|
|
200
251
|
groups = ["default" "development"];
|
|
201
252
|
platforms = [];
|
|
202
253
|
source = {
|
|
203
254
|
remotes = ["https://rubygems.org"];
|
|
204
|
-
sha256 = "
|
|
255
|
+
sha256 = "01fmiz052cvnxgdnhb3qwcy88xbv7l3liz0fkvs5qgqqwjp0c1di";
|
|
205
256
|
type = "gem";
|
|
206
257
|
};
|
|
207
|
-
version = "2.
|
|
258
|
+
version = "2.18.0";
|
|
208
259
|
};
|
|
209
260
|
language_server-protocol = {
|
|
210
261
|
groups = ["default" "development"];
|
|
@@ -236,6 +287,16 @@
|
|
|
236
287
|
};
|
|
237
288
|
version = "1.7.0";
|
|
238
289
|
};
|
|
290
|
+
memoist3 = {
|
|
291
|
+
groups = ["default" "development"];
|
|
292
|
+
platforms = [];
|
|
293
|
+
source = {
|
|
294
|
+
remotes = ["https://rubygems.org"];
|
|
295
|
+
sha256 = "0vyma0mpjibqigzl6j9lij7zh3kvqlyi88qc0mia6l7i5i044vk8";
|
|
296
|
+
type = "gem";
|
|
297
|
+
};
|
|
298
|
+
version = "1.0.0";
|
|
299
|
+
};
|
|
239
300
|
mini_mime = {
|
|
240
301
|
groups = ["default" "development"];
|
|
241
302
|
platforms = [];
|
|
@@ -272,20 +333,52 @@
|
|
|
272
333
|
platforms = [];
|
|
273
334
|
source = {
|
|
274
335
|
remotes = ["https://rubygems.org"];
|
|
275
|
-
sha256 = "
|
|
336
|
+
sha256 = "1mmb59323ldv6vxfmy98azgsla9k3di3fasvpb28hnn5bkx8fdff";
|
|
337
|
+
type = "gem";
|
|
338
|
+
};
|
|
339
|
+
version = "3.3.10.0";
|
|
340
|
+
};
|
|
341
|
+
pp = {
|
|
342
|
+
dependencies = ["prettyprint"];
|
|
343
|
+
groups = ["default" "development"];
|
|
344
|
+
platforms = [];
|
|
345
|
+
source = {
|
|
346
|
+
remotes = ["https://rubygems.org"];
|
|
347
|
+
sha256 = "1xlxmg86k5kifci1xvlmgw56x88dmqf04zfzn7zcr4qb8ladal99";
|
|
348
|
+
type = "gem";
|
|
349
|
+
};
|
|
350
|
+
version = "0.6.3";
|
|
351
|
+
};
|
|
352
|
+
prettyprint = {
|
|
353
|
+
groups = ["default" "development"];
|
|
354
|
+
platforms = [];
|
|
355
|
+
source = {
|
|
356
|
+
remotes = ["https://rubygems.org"];
|
|
357
|
+
sha256 = "14zicq3plqi217w6xahv7b8f7aj5kpxv1j1w98344ix9h5ay3j9b";
|
|
276
358
|
type = "gem";
|
|
277
359
|
};
|
|
278
|
-
version = "
|
|
360
|
+
version = "0.2.0";
|
|
279
361
|
};
|
|
280
362
|
prism = {
|
|
281
363
|
groups = ["default" "development"];
|
|
282
364
|
platforms = [];
|
|
283
365
|
source = {
|
|
284
366
|
remotes = ["https://rubygems.org"];
|
|
285
|
-
sha256 = "
|
|
367
|
+
sha256 = "00silqnlzzm97gn21lm39q95hjn058waqky44j25r67p9drjy1hh";
|
|
286
368
|
type = "gem";
|
|
287
369
|
};
|
|
288
|
-
version = "1.
|
|
370
|
+
version = "1.7.0";
|
|
371
|
+
};
|
|
372
|
+
psych = {
|
|
373
|
+
dependencies = ["date" "stringio"];
|
|
374
|
+
groups = ["default" "development"];
|
|
375
|
+
platforms = [];
|
|
376
|
+
source = {
|
|
377
|
+
remotes = ["https://rubygems.org"];
|
|
378
|
+
sha256 = "0x0r3gc66abv8i4dw0x0370b5hrshjfp6kpp7wbp178cy775fypb";
|
|
379
|
+
type = "gem";
|
|
380
|
+
};
|
|
381
|
+
version = "5.3.1";
|
|
289
382
|
};
|
|
290
383
|
racc = {
|
|
291
384
|
groups = ["default" "development"];
|
|
@@ -312,20 +405,42 @@
|
|
|
312
405
|
platforms = [];
|
|
313
406
|
source = {
|
|
314
407
|
remotes = ["https://rubygems.org"];
|
|
315
|
-
sha256 = "
|
|
408
|
+
sha256 = "175iisqb211n0qbfyqd8jz2g01q6xj038zjf4q0nm8k6kz88k7lc";
|
|
409
|
+
type = "gem";
|
|
410
|
+
};
|
|
411
|
+
version = "13.3.1";
|
|
412
|
+
};
|
|
413
|
+
rdoc = {
|
|
414
|
+
dependencies = ["erb" "psych" "tsort"];
|
|
415
|
+
groups = ["development"];
|
|
416
|
+
platforms = [];
|
|
417
|
+
source = {
|
|
418
|
+
remotes = ["https://rubygems.org"];
|
|
419
|
+
sha256 = "1yc1xa3wckwwan518qii22jagqzlr5bypflx3nkvpdqr3ncd1qyz";
|
|
316
420
|
type = "gem";
|
|
317
421
|
};
|
|
318
|
-
version = "
|
|
422
|
+
version = "7.0.3";
|
|
319
423
|
};
|
|
320
424
|
regexp_parser = {
|
|
321
425
|
groups = ["default" "development"];
|
|
322
426
|
platforms = [];
|
|
323
427
|
source = {
|
|
324
428
|
remotes = ["https://rubygems.org"];
|
|
325
|
-
sha256 = "
|
|
429
|
+
sha256 = "192mzi0wgwl024pwpbfa6c2a2xlvbh3mjd75a0sakdvkl60z64ya";
|
|
430
|
+
type = "gem";
|
|
431
|
+
};
|
|
432
|
+
version = "2.11.3";
|
|
433
|
+
};
|
|
434
|
+
reline = {
|
|
435
|
+
dependencies = ["io-console"];
|
|
436
|
+
groups = ["default" "development"];
|
|
437
|
+
platforms = [];
|
|
438
|
+
source = {
|
|
439
|
+
remotes = ["https://rubygems.org"];
|
|
440
|
+
sha256 = "0d8q5c4nh2g9pp758kizh8sfrvngynrjlm0i1zn3cnsnfd4v160i";
|
|
326
441
|
type = "gem";
|
|
327
442
|
};
|
|
328
|
-
version = "
|
|
443
|
+
version = "0.6.3";
|
|
329
444
|
};
|
|
330
445
|
rspec = {
|
|
331
446
|
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
|
|
@@ -333,10 +448,10 @@
|
|
|
333
448
|
platforms = [];
|
|
334
449
|
source = {
|
|
335
450
|
remotes = ["https://rubygems.org"];
|
|
336
|
-
sha256 = "
|
|
451
|
+
sha256 = "11q5hagj6vr694innqj4r45jrm8qcwvkxjnphqgyd66piah88qi0";
|
|
337
452
|
type = "gem";
|
|
338
453
|
};
|
|
339
|
-
version = "3.13.
|
|
454
|
+
version = "3.13.2";
|
|
340
455
|
};
|
|
341
456
|
rspec-core = {
|
|
342
457
|
dependencies = ["rspec-support"];
|
|
@@ -344,10 +459,10 @@
|
|
|
344
459
|
platforms = [];
|
|
345
460
|
source = {
|
|
346
461
|
remotes = ["https://rubygems.org"];
|
|
347
|
-
sha256 = "
|
|
462
|
+
sha256 = "0bcbh9yv6cs6pv299zs4bvalr8yxa51kcdd1pjl60yv625j3r0m8";
|
|
348
463
|
type = "gem";
|
|
349
464
|
};
|
|
350
|
-
version = "3.13.
|
|
465
|
+
version = "3.13.6";
|
|
351
466
|
};
|
|
352
467
|
rspec-expectations = {
|
|
353
468
|
dependencies = ["diff-lcs" "rspec-support"];
|
|
@@ -366,31 +481,31 @@
|
|
|
366
481
|
platforms = [];
|
|
367
482
|
source = {
|
|
368
483
|
remotes = ["https://rubygems.org"];
|
|
369
|
-
sha256 = "
|
|
484
|
+
sha256 = "071bqrk2rblk3zq3jk1xxx0dr92y0szi5pxdm8waimxici706y89";
|
|
370
485
|
type = "gem";
|
|
371
486
|
};
|
|
372
|
-
version = "3.13.
|
|
487
|
+
version = "3.13.7";
|
|
373
488
|
};
|
|
374
489
|
rspec-support = {
|
|
375
490
|
groups = ["default" "development"];
|
|
376
491
|
platforms = [];
|
|
377
492
|
source = {
|
|
378
493
|
remotes = ["https://rubygems.org"];
|
|
379
|
-
sha256 = "
|
|
494
|
+
sha256 = "1cmgz34hwj5s3jwxhyl8mszs24nci12ffbrmr5jb1si74iqf739f";
|
|
380
495
|
type = "gem";
|
|
381
496
|
};
|
|
382
|
-
version = "3.13.
|
|
497
|
+
version = "3.13.6";
|
|
383
498
|
};
|
|
384
499
|
rubocop = {
|
|
385
|
-
dependencies = ["json" "language_server-protocol" "lint_roller" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "
|
|
500
|
+
dependencies = ["json" "language_server-protocol" "lint_roller" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
|
386
501
|
groups = ["development"];
|
|
387
502
|
platforms = [];
|
|
388
503
|
source = {
|
|
389
504
|
remotes = ["https://rubygems.org"];
|
|
390
|
-
sha256 = "
|
|
505
|
+
sha256 = "0wz2np5ck54vpwcz18y9x7w80c308wza7gmfcykysq59ajkadw89";
|
|
391
506
|
type = "gem";
|
|
392
507
|
};
|
|
393
|
-
version = "1.
|
|
508
|
+
version = "1.82.1";
|
|
394
509
|
};
|
|
395
510
|
rubocop-ast = {
|
|
396
511
|
dependencies = ["parser" "prism"];
|
|
@@ -398,10 +513,10 @@
|
|
|
398
513
|
platforms = [];
|
|
399
514
|
source = {
|
|
400
515
|
remotes = ["https://rubygems.org"];
|
|
401
|
-
sha256 = "
|
|
516
|
+
sha256 = "1zbikzd6237fvlzjfxdlhwi2vbmavg1cc81y6cyr581365nnghs9";
|
|
402
517
|
type = "gem";
|
|
403
518
|
};
|
|
404
|
-
version = "1.
|
|
519
|
+
version = "1.49.0";
|
|
405
520
|
};
|
|
406
521
|
rubocop-rake = {
|
|
407
522
|
dependencies = ["lint_roller" "rubocop"];
|
|
@@ -420,10 +535,10 @@
|
|
|
420
535
|
platforms = [];
|
|
421
536
|
source = {
|
|
422
537
|
remotes = ["https://rubygems.org"];
|
|
423
|
-
sha256 = "
|
|
538
|
+
sha256 = "0cxb9i1brf1cks8anv8mdj65n9rq6jyldyd1ij9sj8zjng60si18";
|
|
424
539
|
type = "gem";
|
|
425
540
|
};
|
|
426
|
-
version = "3.
|
|
541
|
+
version = "3.8.0";
|
|
427
542
|
};
|
|
428
543
|
ruby-progressbar = {
|
|
429
544
|
groups = ["default" "development"];
|
|
@@ -466,16 +581,26 @@
|
|
|
466
581
|
};
|
|
467
582
|
version = "0.1.4";
|
|
468
583
|
};
|
|
584
|
+
stringio = {
|
|
585
|
+
groups = ["default" "development"];
|
|
586
|
+
platforms = [];
|
|
587
|
+
source = {
|
|
588
|
+
remotes = ["https://rubygems.org"];
|
|
589
|
+
sha256 = "1q92y9627yisykyscv0bdsrrgyaajc2qr56dwlzx7ysgigjv4z63";
|
|
590
|
+
type = "gem";
|
|
591
|
+
};
|
|
592
|
+
version = "3.2.0";
|
|
593
|
+
};
|
|
469
594
|
sys-uname = {
|
|
470
|
-
dependencies = ["ffi"];
|
|
595
|
+
dependencies = ["ffi" "memoist3"];
|
|
471
596
|
groups = ["default" "development"];
|
|
472
597
|
platforms = [];
|
|
473
598
|
source = {
|
|
474
599
|
remotes = ["https://rubygems.org"];
|
|
475
|
-
sha256 = "
|
|
600
|
+
sha256 = "05lsffr3v6brqyvhs621c8ghb211wac3l3a2nmgazs0fczn7h8pd";
|
|
476
601
|
type = "gem";
|
|
477
602
|
};
|
|
478
|
-
version = "1.
|
|
603
|
+
version = "1.4.1";
|
|
479
604
|
};
|
|
480
605
|
thor = {
|
|
481
606
|
groups = ["default" "development"];
|
|
@@ -503,29 +628,29 @@
|
|
|
503
628
|
platforms = [];
|
|
504
629
|
source = {
|
|
505
630
|
remotes = ["https://rubygems.org"];
|
|
506
|
-
sha256 = "
|
|
631
|
+
sha256 = "0hiwhnqpq271xqari6mg996fgjps42sffm9cpk6ljn8sd2srdp8c";
|
|
507
632
|
type = "gem";
|
|
508
633
|
};
|
|
509
|
-
version = "3.
|
|
634
|
+
version = "3.2.0";
|
|
510
635
|
};
|
|
511
636
|
unicode-emoji = {
|
|
512
637
|
groups = ["default" "development"];
|
|
513
638
|
platforms = [];
|
|
514
639
|
source = {
|
|
515
640
|
remotes = ["https://rubygems.org"];
|
|
516
|
-
sha256 = "
|
|
641
|
+
sha256 = "03zqn207zypycbz5m9mn7ym763wgpk7hcqbkpx02wrbm1wank7ji";
|
|
517
642
|
type = "gem";
|
|
518
643
|
};
|
|
519
|
-
version = "4.0
|
|
644
|
+
version = "4.2.0";
|
|
520
645
|
};
|
|
521
646
|
yard = {
|
|
522
647
|
groups = ["development"];
|
|
523
648
|
platforms = [];
|
|
524
649
|
source = {
|
|
525
650
|
remotes = ["https://rubygems.org"];
|
|
526
|
-
sha256 = "
|
|
651
|
+
sha256 = "03q1hf12csqy5q2inafzi44179zaq9n5yrb0k2j2llqhzcmbh7vj";
|
|
527
652
|
type = "gem";
|
|
528
653
|
};
|
|
529
|
-
version = "0.9.
|
|
654
|
+
version = "0.9.38";
|
|
530
655
|
};
|
|
531
656
|
}
|
data/lib/bashcov/detective.rb
CHANGED
data/lib/bashcov/lexer.rb
CHANGED
|
@@ -13,7 +13,7 @@ module Bashcov
|
|
|
13
13
|
IGNORE_END_WITH = %w[(].freeze
|
|
14
14
|
|
|
15
15
|
# Lines containing only one of these keywords are irrelevant for coverage
|
|
16
|
-
IGNORE_IS = %w[esac if then else elif fi while do done { } ;;].freeze
|
|
16
|
+
IGNORE_IS = %w[esac if then else elif fi while do done { } ;; ( )].freeze
|
|
17
17
|
|
|
18
18
|
# @param [String] filename File to analyze
|
|
19
19
|
# @param [Hash] coverage Coverage with executed lines marked
|
|
@@ -41,7 +41,7 @@ module Bashcov
|
|
|
41
41
|
# heredoc
|
|
42
42
|
mark_multiline(
|
|
43
43
|
lines, lineno,
|
|
44
|
-
/\A[^\n]
|
|
44
|
+
/\A[^\n]+<<-?\s*'?(\w+)'?.*$.*\1/m
|
|
45
45
|
)
|
|
46
46
|
|
|
47
47
|
# multiline string concatenated with backslashes
|
|
@@ -104,7 +104,7 @@ module Bashcov
|
|
|
104
104
|
line.start_with?(*IGNORE_START_WITH) ||
|
|
105
105
|
line.end_with?(*IGNORE_END_WITH)
|
|
106
106
|
|
|
107
|
-
return false if line =~ /\A[a-zA-Z_][a-zA-Z0-9_
|
|
107
|
+
return false if line =~ /\A[a-zA-Z_@][a-zA-Z0-9_@\-:.]*\(\)/ # function declared without the `function` keyword
|
|
108
108
|
return false if line =~ /\A[^)]+\)\Z/ # case statement selector, e.g. `--help)`
|
|
109
109
|
|
|
110
110
|
true
|
data/lib/bashcov/version.rb
CHANGED
data/lib/bashcov.rb
CHANGED
|
@@ -72,7 +72,9 @@ module Bashcov
|
|
|
72
72
|
# this is used early for the `BASH_VERSION` definition, so first use will likely error
|
|
73
73
|
begin
|
|
74
74
|
return @options.bash_path if @options.bash_path
|
|
75
|
-
rescue NoMethodError
|
|
75
|
+
rescue NoMethodError
|
|
76
|
+
nil
|
|
77
|
+
end
|
|
76
78
|
|
|
77
79
|
# support the same `BASHCOV_BASH_PATH` environment variable used in the spec tests
|
|
78
80
|
return ENV.fetch("BASHCOV_BASH_PATH", nil) unless ENV.fetch("BASHCOV_BASH_PATH", "").empty?
|
|
@@ -100,7 +102,7 @@ module Bashcov
|
|
|
100
102
|
# Define option accessors
|
|
101
103
|
Options.new.members.each do |option|
|
|
102
104
|
[option, "#{option}="].each do |method|
|
|
103
|
-
next if
|
|
105
|
+
next if method_defined?(method, false)
|
|
104
106
|
|
|
105
107
|
define_method method do |*args|
|
|
106
108
|
options.public_send(*[method, *args])
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bashcov
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cédric Félizard
|
|
@@ -37,6 +37,20 @@ dependencies:
|
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: '0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: benchmark
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0'
|
|
47
|
+
type: :development
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
40
54
|
- !ruby/object:Gem::Dependency
|
|
41
55
|
name: bundler-audit
|
|
42
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -79,6 +93,20 @@ dependencies:
|
|
|
79
93
|
- - "~>"
|
|
80
94
|
- !ruby/object:Gem::Version
|
|
81
95
|
version: 1.16.0
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: irb
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
103
|
+
type: :development
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
82
110
|
- !ruby/object:Gem::Dependency
|
|
83
111
|
name: rake
|
|
84
112
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -93,6 +121,20 @@ dependencies:
|
|
|
93
121
|
- - ">="
|
|
94
122
|
- !ruby/object:Gem::Version
|
|
95
123
|
version: '0'
|
|
124
|
+
- !ruby/object:Gem::Dependency
|
|
125
|
+
name: rdoc
|
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - ">="
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '0'
|
|
131
|
+
type: :development
|
|
132
|
+
prerelease: false
|
|
133
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - ">="
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: '0'
|
|
96
138
|
- !ruby/object:Gem::Dependency
|
|
97
139
|
name: rspec
|
|
98
140
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -219,14 +261,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
219
261
|
requirements:
|
|
220
262
|
- - ">="
|
|
221
263
|
- !ruby/object:Gem::Version
|
|
222
|
-
version: 3.
|
|
264
|
+
version: 3.2.0
|
|
223
265
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
224
266
|
requirements:
|
|
225
267
|
- - ">="
|
|
226
268
|
- !ruby/object:Gem::Version
|
|
227
269
|
version: '0'
|
|
228
270
|
requirements: []
|
|
229
|
-
rubygems_version:
|
|
271
|
+
rubygems_version: 4.0.6
|
|
230
272
|
specification_version: 4
|
|
231
273
|
summary: Code coverage tool for Bash
|
|
232
274
|
test_files: []
|