bashcov 3.3.0 → 4.0.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 +5 -2
- data/.simplecov +5 -5
- data/CHANGELOG.md +24 -1
- data/Gemfile.nix.lock +50 -53
- data/README.md +2 -4
- data/Rakefile +3 -3
- data/TESTING.md +1 -2
- data/bin/bashcov +1 -1
- data/flake.nix +2 -2
- data/gemset.nix +76 -127
- data/lib/bashcov/detective.rb +2 -0
- data/lib/bashcov/lexer.rb +15 -10
- data/lib/bashcov/runner.rb +1 -1
- data/lib/bashcov/version.rb +1 -1
- data/lib/bashcov/xtrace.rb +2 -2
- data/lib/bashcov.rb +1 -1
- data/screenshot.png +0 -0
- metadata +5 -5
- data/test.sh +0 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bf955fd7135b192e4da886b5f8348f73422e06fd658bfdf11935533f3522f197
|
|
4
|
+
data.tar.gz: d63c79fce3a315693f96a32a6a4fe7a40c94ea32c3bfd7a0019c9a94cb67c145
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b7e891c4b1b9d272c0c11f44bb008deda2aff88f33bf5d0c9068d5f4a396f7efaa1bd915610b498126d07bef2e9512b2a4efd88dd76cef19d58b9d89d796b51b
|
|
7
|
+
data.tar.gz: 7a26df75b930a634741ef9f9e6a1d23c80be4a05dd1164623c7f1b907f3ae76450ed3694fe2d64201e59171fdde8638af9db726853849fc644acf8309bc583e0
|
data/.rubocop.yml
CHANGED
|
@@ -68,8 +68,11 @@ Style/StringLiterals:
|
|
|
68
68
|
Style/SpecialGlobalVars:
|
|
69
69
|
Enabled: false
|
|
70
70
|
|
|
71
|
+
Style/TrailingCommaInArguments:
|
|
72
|
+
EnforcedStyleForMultiline: consistent_comma
|
|
73
|
+
|
|
71
74
|
Style/TrailingCommaInArrayLiteral:
|
|
72
|
-
EnforcedStyleForMultiline:
|
|
75
|
+
EnforcedStyleForMultiline: consistent_comma
|
|
73
76
|
|
|
74
77
|
Style/TrailingCommaInHashLiteral:
|
|
75
|
-
EnforcedStyleForMultiline:
|
|
78
|
+
EnforcedStyleForMultiline: consistent_comma
|
data/.simplecov
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
SimpleCov.
|
|
3
|
+
SimpleCov.configure do
|
|
4
4
|
minimum_coverage 95
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
skip "/features/"
|
|
6
|
+
skip "/spec/"
|
|
7
|
+
skip "/tmp/"
|
|
8
|
+
skip "/.git/"
|
|
9
9
|
end
|
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
|
-
## Unreleased ([changes](https://github.com/infertux/bashcov/compare/
|
|
1
|
+
## Unreleased ([changes](https://github.com/infertux/bashcov/compare/v4.0.0...master))
|
|
2
2
|
|
|
3
3
|
* TBD
|
|
4
4
|
|
|
5
|
+
## v4.0.0, 2026-08-25 ([changes](https://github.com/infertux/bashcov/compare/v3.3.0...v4.0.0))
|
|
6
|
+
|
|
7
|
+
* [BUGFIX] Fix build for Nix
|
|
8
|
+
* [MISC] Update Nix lockfile
|
|
9
|
+
* [MISC] Ignore .ruby-version file
|
|
10
|
+
* [FEATURE] Update coverage result to match SimpleCov new API
|
|
11
|
+
* [BUGFIX] Fix build for Bash 4.4
|
|
12
|
+
* [BUGFIX] Run Cucumber examples in random order
|
|
13
|
+
* [MISC] Test against all Ruby versions
|
|
14
|
+
* [MISC] Add screenshot to README
|
|
15
|
+
* [MISC] Run Cucumber against Bash 5.3
|
|
16
|
+
* [BUGFIX] Fix call to `find` command with zsh safeguard
|
|
17
|
+
* [BUGFIX] Fix deprecation warnings
|
|
18
|
+
* [MISC] Upgrade Ruby image for GitLab CI
|
|
19
|
+
* [FEATURE] - Upgrade simplecov dependency
|
|
20
|
+
* [BUGFIX] Fix support for Bash 5.3
|
|
21
|
+
* [MISC] Enforce consistent commas with Rubocop
|
|
22
|
+
* [BUGFIX] Make sure StringScanner is always loaded
|
|
23
|
+
* [BUGFIX] Use reliable Bash mirror
|
|
24
|
+
* [BUGFIX] Fix GitHub Action
|
|
25
|
+
* [BUGFIX] Fix Rubocop violation
|
|
26
|
+
* [BUGFIX] Fix deprecation warning for actions/checkout
|
|
27
|
+
|
|
5
28
|
## v3.3.0, 2026-02-18 ([changes](https://github.com/infertux/bashcov/compare/v3.2.0...v3.3.0))
|
|
6
29
|
|
|
7
30
|
* [MISC] Add workflow to build Gem
|
data/Gemfile.nix.lock
CHANGED
|
@@ -1,89 +1,91 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
bashcov (
|
|
5
|
-
simplecov (~>
|
|
4
|
+
bashcov (4.0.0)
|
|
5
|
+
simplecov (~> 1.1)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
aruba (2.
|
|
10
|
+
aruba (2.4.1)
|
|
11
11
|
bundler (>= 1.17)
|
|
12
12
|
contracts (>= 0.16.0, < 0.18.0)
|
|
13
|
-
cucumber (>= 8.0, <
|
|
13
|
+
cucumber (>= 8.0, < 12.0)
|
|
14
|
+
irb (~> 1.16)
|
|
14
15
|
rspec-expectations (>= 3.4, < 5.0)
|
|
15
16
|
thor (~> 1.0)
|
|
16
17
|
ast (2.4.3)
|
|
17
18
|
base64 (0.3.0)
|
|
18
19
|
benchmark (0.5.0)
|
|
19
|
-
bigdecimal (4.
|
|
20
|
+
bigdecimal (4.1.2)
|
|
20
21
|
builder (3.3.0)
|
|
21
22
|
bundler-audit (0.9.3)
|
|
22
23
|
bundler (>= 1.2.0)
|
|
23
24
|
thor (~> 1.0)
|
|
24
25
|
contracts (0.17.3)
|
|
25
|
-
cucumber (
|
|
26
|
+
cucumber (11.1.1)
|
|
26
27
|
base64 (~> 0.2)
|
|
27
28
|
builder (~> 3.2)
|
|
28
29
|
cucumber-ci-environment (> 9, < 12)
|
|
29
|
-
cucumber-core (
|
|
30
|
+
cucumber-core (>= 16.2.0, < 17)
|
|
30
31
|
cucumber-cucumber-expressions (> 17, < 20)
|
|
31
|
-
cucumber-html-formatter (> 21, <
|
|
32
|
+
cucumber-html-formatter (> 21, < 24)
|
|
32
33
|
diff-lcs (~> 1.5)
|
|
33
34
|
logger (~> 1.6)
|
|
34
35
|
mini_mime (~> 1.1)
|
|
35
36
|
multi_test (~> 1.1)
|
|
36
|
-
sys-uname (~> 1.
|
|
37
|
+
sys-uname (~> 1.5)
|
|
37
38
|
cucumber-ci-environment (11.0.0)
|
|
38
|
-
cucumber-core (16.
|
|
39
|
+
cucumber-core (16.2.0)
|
|
39
40
|
cucumber-gherkin (> 36, < 40)
|
|
40
41
|
cucumber-messages (> 31, < 33)
|
|
41
42
|
cucumber-tag-expressions (> 6, < 9)
|
|
42
|
-
cucumber-cucumber-expressions (
|
|
43
|
+
cucumber-cucumber-expressions (19.0.1)
|
|
43
44
|
bigdecimal
|
|
44
|
-
cucumber-gherkin (
|
|
45
|
-
cucumber-messages (>= 31, <
|
|
46
|
-
cucumber-html-formatter (
|
|
45
|
+
cucumber-gherkin (39.1.0)
|
|
46
|
+
cucumber-messages (>= 31, < 33)
|
|
47
|
+
cucumber-html-formatter (23.1.0)
|
|
47
48
|
cucumber-messages (> 23, < 33)
|
|
48
|
-
cucumber-messages (
|
|
49
|
+
cucumber-messages (32.3.1)
|
|
49
50
|
cucumber-tag-expressions (8.1.0)
|
|
50
|
-
date (3.5.1)
|
|
51
51
|
diff-lcs (1.6.2)
|
|
52
|
-
|
|
53
|
-
erb (6.0.1)
|
|
52
|
+
erb (6.0.7)
|
|
54
53
|
ffi (1.16.3)
|
|
55
|
-
io-console (0.
|
|
56
|
-
irb (1.
|
|
54
|
+
io-console (0.9.2)
|
|
55
|
+
irb (1.18.0)
|
|
57
56
|
pp (>= 0.6.0)
|
|
57
|
+
prism (>= 1.3.0)
|
|
58
58
|
rdoc (>= 4.0.0)
|
|
59
59
|
reline (>= 0.4.2)
|
|
60
|
-
json (2.
|
|
61
|
-
language_server-protocol (3.17.0.
|
|
60
|
+
json (2.21.2)
|
|
61
|
+
language_server-protocol (3.17.0.6)
|
|
62
62
|
lint_roller (1.1.0)
|
|
63
63
|
logger (1.7.0)
|
|
64
64
|
memoist3 (1.0.0)
|
|
65
65
|
mini_mime (1.1.5)
|
|
66
66
|
multi_test (1.1.0)
|
|
67
|
-
parallel (1.
|
|
68
|
-
parser (3.3.
|
|
67
|
+
parallel (2.1.0)
|
|
68
|
+
parser (3.3.12.0)
|
|
69
69
|
ast (~> 2.4.1)
|
|
70
70
|
racc
|
|
71
|
-
pp (0.6.
|
|
71
|
+
pp (0.6.4)
|
|
72
72
|
prettyprint
|
|
73
73
|
prettyprint (0.2.0)
|
|
74
|
-
prism (1.
|
|
75
|
-
psych (5.3.1)
|
|
76
|
-
date
|
|
77
|
-
stringio
|
|
74
|
+
prism (1.9.0)
|
|
78
75
|
racc (1.8.1)
|
|
79
76
|
rainbow (3.1.1)
|
|
80
|
-
rake (13.
|
|
81
|
-
|
|
77
|
+
rake (13.4.2)
|
|
78
|
+
rbs (4.2.0)
|
|
79
|
+
logger
|
|
80
|
+
prism (>= 1.6.0)
|
|
81
|
+
tsort
|
|
82
|
+
rdoc (8.0.0)
|
|
82
83
|
erb
|
|
83
|
-
|
|
84
|
+
prism (>= 1.6.0)
|
|
85
|
+
rbs (>= 4.0.0)
|
|
84
86
|
tsort
|
|
85
|
-
regexp_parser (2.
|
|
86
|
-
reline (0.
|
|
87
|
+
regexp_parser (2.12.0)
|
|
88
|
+
reline (0.7.0)
|
|
87
89
|
io-console (~> 0.5)
|
|
88
90
|
rspec (3.13.2)
|
|
89
91
|
rspec-core (~> 3.13.0)
|
|
@@ -94,47 +96,42 @@ GEM
|
|
|
94
96
|
rspec-expectations (3.13.5)
|
|
95
97
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
96
98
|
rspec-support (~> 3.13.0)
|
|
97
|
-
rspec-mocks (3.13.
|
|
99
|
+
rspec-mocks (3.13.8)
|
|
98
100
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
99
101
|
rspec-support (~> 3.13.0)
|
|
100
|
-
rspec-support (3.13.
|
|
101
|
-
rubocop (1.
|
|
102
|
-
json (
|
|
102
|
+
rspec-support (3.13.7)
|
|
103
|
+
rubocop (1.90.0)
|
|
104
|
+
json (>= 2.3)
|
|
103
105
|
language_server-protocol (~> 3.17.0.2)
|
|
104
106
|
lint_roller (~> 1.1.0)
|
|
105
|
-
parallel (
|
|
107
|
+
parallel (>= 1.10)
|
|
106
108
|
parser (>= 3.3.0.2)
|
|
107
109
|
rainbow (>= 2.2.2, < 4.0)
|
|
108
110
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
109
|
-
rubocop-ast (>= 1.
|
|
111
|
+
rubocop-ast (>= 1.49.0, < 2.0)
|
|
110
112
|
ruby-progressbar (~> 1.7)
|
|
111
113
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
112
|
-
rubocop-ast (1.
|
|
114
|
+
rubocop-ast (1.50.0)
|
|
113
115
|
parser (>= 3.3.7.2)
|
|
114
116
|
prism (~> 1.7)
|
|
115
117
|
rubocop-rake (0.7.1)
|
|
116
118
|
lint_roller (~> 1.1)
|
|
117
119
|
rubocop (>= 1.72.1)
|
|
118
|
-
rubocop-rspec (3.
|
|
120
|
+
rubocop-rspec (3.10.2)
|
|
119
121
|
lint_roller (~> 1.1)
|
|
120
|
-
|
|
122
|
+
regexp_parser (>= 2.0)
|
|
123
|
+
rubocop (~> 1.86, >= 1.86.2)
|
|
121
124
|
ruby-progressbar (1.13.0)
|
|
122
|
-
simplecov (
|
|
123
|
-
|
|
124
|
-
simplecov-html (~> 0.11)
|
|
125
|
-
simplecov_json_formatter (~> 0.1)
|
|
126
|
-
simplecov-html (0.13.2)
|
|
127
|
-
simplecov_json_formatter (0.1.4)
|
|
128
|
-
stringio (3.2.0)
|
|
129
|
-
sys-uname (1.4.1)
|
|
125
|
+
simplecov (1.1.1)
|
|
126
|
+
sys-uname (1.5.1)
|
|
130
127
|
ffi (~> 1.1)
|
|
131
128
|
memoist3 (~> 1.0.0)
|
|
132
|
-
thor (1.
|
|
129
|
+
thor (1.5.0)
|
|
133
130
|
tsort (0.2.0)
|
|
134
131
|
unicode-display_width (3.2.0)
|
|
135
132
|
unicode-emoji (~> 4.1)
|
|
136
133
|
unicode-emoji (4.2.0)
|
|
137
|
-
yard (0.9.
|
|
134
|
+
yard (0.9.45)
|
|
138
135
|
|
|
139
136
|
PLATFORMS
|
|
140
137
|
aarch64-linux-gnu
|
data/README.md
CHANGED
|
@@ -21,10 +21,6 @@ so your report includes coverage across your test suites and thereby gives you a
|
|
|
21
21
|
It uses the [SimpleCov](https://github.com/colszowka/simplecov) coverage library to generate HTML reports.
|
|
22
22
|
SimpleCov gets installed automatically when you install Bashcov.
|
|
23
23
|
|
|
24
|
-
Here are example coverages generated by Bashcov:
|
|
25
|
-
[test app demo](https://infertux.github.io/bashcov/test_app/ "Coverage for the bundled test application") &
|
|
26
|
-
[RVM demo](https://infertux.github.io/bashcov/rvm/ "Coverage for RVM").
|
|
27
|
-
|
|
28
24
|
## Installation
|
|
29
25
|
|
|
30
26
|
`gem install bashcov`
|
|
@@ -46,6 +42,8 @@ For more information, including other installation methods, see [`INSTALL.md`](.
|
|
|
46
42
|
|
|
47
43
|
It will create a directory named `./coverage/`, you may open `./coverage/index.html` to browse the coverage report.
|
|
48
44
|
|
|
45
|
+

|
|
46
|
+
|
|
49
47
|
### SimpleCov integration
|
|
50
48
|
|
|
51
49
|
You can leverage the underlying library [SimpleCov](https://github.com/colszowka/simplecov)
|
data/Rakefile
CHANGED
|
@@ -7,15 +7,15 @@ Bundler::Audit::Task.new
|
|
|
7
7
|
|
|
8
8
|
require "cucumber/rake/task"
|
|
9
9
|
Cucumber::Rake::Task.new do |t|
|
|
10
|
-
t.cucumber_opts = %w[--publish-quiet]
|
|
10
|
+
t.cucumber_opts = %w[--publish-quiet --backtrace --verbose --order=random]
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
require "rspec/core/rake_task"
|
|
14
|
-
RSpec::Core::RakeTask.new(:
|
|
14
|
+
RSpec::Core::RakeTask.new(:rspec) do |t|
|
|
15
15
|
t.ruby_opts = "-w"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
require "rubocop/rake_task"
|
|
19
19
|
RuboCop::RakeTask.new
|
|
20
20
|
|
|
21
|
-
task default: %i[bundle:audit cucumber
|
|
21
|
+
task default: %i[bundle:audit cucumber rspec rubocop]
|
data/TESTING.md
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
`bundle exec rake` will run a quick test suite with the current Bash and Ruby version.
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
You'll need [Docker](https://www.docker.com/) and [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) installed on your machine.
|
|
3
|
+
The full test suite runs on [GitHub](https://github.com/infertux/bashcov/actions).
|
data/bin/bashcov
CHANGED
|
@@ -22,7 +22,7 @@ SimpleCov.command_name Bashcov.command_name
|
|
|
22
22
|
SimpleCov.root Bashcov.root_directory
|
|
23
23
|
|
|
24
24
|
result = SimpleCov::Result.new(coverage)
|
|
25
|
-
if SimpleCov.
|
|
25
|
+
if SimpleCov.merging
|
|
26
26
|
SimpleCov::ResultMerger.store_result(result)
|
|
27
27
|
result = SimpleCov::ResultMerger.merged_result
|
|
28
28
|
end
|
data/flake.nix
CHANGED
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
propagatedBuildInputs = [gems'];
|
|
173
173
|
|
|
174
174
|
checkPhase = ''
|
|
175
|
-
${config.packages.gems.wrappedRuby}/bin/rake cucumber
|
|
175
|
+
${config.packages.gems.wrappedRuby}/bin/rake cucumber rspec
|
|
176
176
|
'';
|
|
177
177
|
|
|
178
178
|
# Replace shebangs like "#!/usr/bin/env bash" with Nix store
|
|
@@ -206,7 +206,7 @@
|
|
|
206
206
|
pname = "bashcov";
|
|
207
207
|
gemdir = self;
|
|
208
208
|
lockfile = ./Gemfile.nix.lock;
|
|
209
|
-
version = "
|
|
209
|
+
version = "4.0.0";
|
|
210
210
|
postBuild = ''
|
|
211
211
|
for gem in $out/${ruby.gemPath}/bundler/gems/*; do
|
|
212
212
|
ln -sfrT "$gem" $out/${ruby.gemPath}/gems/"''${gem##*/}"
|
data/gemset.nix
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
aruba = {
|
|
3
|
-
dependencies = ["contracts" "cucumber" "rspec-expectations" "thor"];
|
|
3
|
+
dependencies = ["contracts" "cucumber" "irb" "rspec-expectations" "thor"];
|
|
4
4
|
groups = ["development"];
|
|
5
5
|
platforms = [];
|
|
6
6
|
source = {
|
|
7
7
|
remotes = ["https://rubygems.org"];
|
|
8
|
-
sha256 = "
|
|
8
|
+
sha256 = "03dg1hg58733rv2jl220pckal3vqqiqkjmfgnd9wknbb2d4ik0n6";
|
|
9
9
|
type = "gem";
|
|
10
10
|
};
|
|
11
|
-
version = "2.
|
|
11
|
+
version = "2.4.1";
|
|
12
12
|
};
|
|
13
13
|
ast = {
|
|
14
14
|
groups = ["default" "development"];
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
path = ./.;
|
|
39
39
|
type = "path";
|
|
40
40
|
};
|
|
41
|
-
version = "
|
|
41
|
+
version = "4.0.0";
|
|
42
42
|
};
|
|
43
43
|
benchmark = {
|
|
44
44
|
groups = ["development"];
|
|
@@ -55,10 +55,10 @@
|
|
|
55
55
|
platforms = [];
|
|
56
56
|
source = {
|
|
57
57
|
remotes = ["https://rubygems.org"];
|
|
58
|
-
sha256 = "
|
|
58
|
+
sha256 = "1g9zi8c4i7g8zz0c3hxrw6mblrjvgn7akys60clb9si7c1k1gljk";
|
|
59
59
|
type = "gem";
|
|
60
60
|
};
|
|
61
|
-
version = "4.
|
|
61
|
+
version = "4.1.2";
|
|
62
62
|
};
|
|
63
63
|
builder = {
|
|
64
64
|
groups = ["default" "development"];
|
|
@@ -97,10 +97,10 @@
|
|
|
97
97
|
platforms = [];
|
|
98
98
|
source = {
|
|
99
99
|
remotes = ["https://rubygems.org"];
|
|
100
|
-
sha256 = "
|
|
100
|
+
sha256 = "1i2favw0kk9pdikcwpqz0pl1p95g44r0rd8kiiwsyl2bl7s49pfy";
|
|
101
101
|
type = "gem";
|
|
102
102
|
};
|
|
103
|
-
version = "
|
|
103
|
+
version = "11.1.1";
|
|
104
104
|
};
|
|
105
105
|
cucumber-ci-environment = {
|
|
106
106
|
groups = ["default" "development"];
|
|
@@ -118,10 +118,10 @@
|
|
|
118
118
|
platforms = [];
|
|
119
119
|
source = {
|
|
120
120
|
remotes = ["https://rubygems.org"];
|
|
121
|
-
sha256 = "
|
|
121
|
+
sha256 = "02wprwvf2f3ffzvbrzv8clxvm11p6s7gcjd3wpwfwbzlbjlmhasr";
|
|
122
122
|
type = "gem";
|
|
123
123
|
};
|
|
124
|
-
version = "16.
|
|
124
|
+
version = "16.2.0";
|
|
125
125
|
};
|
|
126
126
|
cucumber-cucumber-expressions = {
|
|
127
127
|
dependencies = ["bigdecimal"];
|
|
@@ -129,10 +129,10 @@
|
|
|
129
129
|
platforms = [];
|
|
130
130
|
source = {
|
|
131
131
|
remotes = ["https://rubygems.org"];
|
|
132
|
-
sha256 = "
|
|
132
|
+
sha256 = "133cwgclgrphlws6l23sssgmjj41ckhldbwpny7q238r8n8c13k4";
|
|
133
133
|
type = "gem";
|
|
134
134
|
};
|
|
135
|
-
version = "
|
|
135
|
+
version = "19.0.1";
|
|
136
136
|
};
|
|
137
137
|
cucumber-gherkin = {
|
|
138
138
|
dependencies = ["cucumber-messages"];
|
|
@@ -140,10 +140,10 @@
|
|
|
140
140
|
platforms = [];
|
|
141
141
|
source = {
|
|
142
142
|
remotes = ["https://rubygems.org"];
|
|
143
|
-
sha256 = "
|
|
143
|
+
sha256 = "1vbrnf0j3pq162ccrm349mgm4x90lz0k69h11bc671axjl62mldf";
|
|
144
144
|
type = "gem";
|
|
145
145
|
};
|
|
146
|
-
version = "
|
|
146
|
+
version = "39.1.0";
|
|
147
147
|
};
|
|
148
148
|
cucumber-html-formatter = {
|
|
149
149
|
dependencies = ["cucumber-messages"];
|
|
@@ -151,20 +151,20 @@
|
|
|
151
151
|
platforms = [];
|
|
152
152
|
source = {
|
|
153
153
|
remotes = ["https://rubygems.org"];
|
|
154
|
-
sha256 = "
|
|
154
|
+
sha256 = "1pwcvpfawpkdqw9fgdvk8i8n2k6glmmbdbh4jr5kjxn8jakv92bp";
|
|
155
155
|
type = "gem";
|
|
156
156
|
};
|
|
157
|
-
version = "
|
|
157
|
+
version = "23.1.0";
|
|
158
158
|
};
|
|
159
159
|
cucumber-messages = {
|
|
160
160
|
groups = ["default" "development"];
|
|
161
161
|
platforms = [];
|
|
162
162
|
source = {
|
|
163
163
|
remotes = ["https://rubygems.org"];
|
|
164
|
-
sha256 = "
|
|
164
|
+
sha256 = "073phbyiblkp8sh4r2ss8gxa48gjlsj94nq00rnbkbzp3i68xj6x";
|
|
165
165
|
type = "gem";
|
|
166
166
|
};
|
|
167
|
-
version = "
|
|
167
|
+
version = "32.3.1";
|
|
168
168
|
};
|
|
169
169
|
cucumber-tag-expressions = {
|
|
170
170
|
groups = ["default" "development"];
|
|
@@ -176,16 +176,6 @@
|
|
|
176
176
|
};
|
|
177
177
|
version = "8.1.0";
|
|
178
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";
|
|
188
|
-
};
|
|
189
179
|
diff-lcs = {
|
|
190
180
|
groups = ["default" "development"];
|
|
191
181
|
platforms = [];
|
|
@@ -196,25 +186,15 @@
|
|
|
196
186
|
};
|
|
197
187
|
version = "1.6.2";
|
|
198
188
|
};
|
|
199
|
-
docile = {
|
|
200
|
-
groups = ["default"];
|
|
201
|
-
platforms = [];
|
|
202
|
-
source = {
|
|
203
|
-
remotes = ["https://rubygems.org"];
|
|
204
|
-
sha256 = "07pj4z3h8wk4fgdn6s62vw1lwvhj0ac0x10vfbdkr9xzk7krn5cn";
|
|
205
|
-
type = "gem";
|
|
206
|
-
};
|
|
207
|
-
version = "1.4.1";
|
|
208
|
-
};
|
|
209
189
|
erb = {
|
|
210
190
|
groups = ["default" "development"];
|
|
211
191
|
platforms = [];
|
|
212
192
|
source = {
|
|
213
193
|
remotes = ["https://rubygems.org"];
|
|
214
|
-
sha256 = "
|
|
194
|
+
sha256 = "14pfj6zn0p1hxj6s6s0r7d424wap8zl9zxf89nj79y8fbg16vjn5";
|
|
215
195
|
type = "gem";
|
|
216
196
|
};
|
|
217
|
-
version = "6.0.
|
|
197
|
+
version = "6.0.7";
|
|
218
198
|
};
|
|
219
199
|
ffi = {
|
|
220
200
|
groups = ["development"];
|
|
@@ -231,41 +211,41 @@
|
|
|
231
211
|
platforms = [];
|
|
232
212
|
source = {
|
|
233
213
|
remotes = ["https://rubygems.org"];
|
|
234
|
-
sha256 = "
|
|
214
|
+
sha256 = "026v93kja19bfslnwi9xfq2dj4r89kkwdprim4whjg6h3n4lz9zg";
|
|
235
215
|
type = "gem";
|
|
236
216
|
};
|
|
237
|
-
version = "0.
|
|
217
|
+
version = "0.9.2";
|
|
238
218
|
};
|
|
239
219
|
irb = {
|
|
240
|
-
dependencies = ["pp" "rdoc" "reline"];
|
|
220
|
+
dependencies = ["pp" "prism" "rdoc" "reline"];
|
|
241
221
|
groups = ["development"];
|
|
242
222
|
platforms = [];
|
|
243
223
|
source = {
|
|
244
224
|
remotes = ["https://rubygems.org"];
|
|
245
|
-
sha256 = "
|
|
225
|
+
sha256 = "1qs8a9vprg7s8krgq4s0pygr91hclqqyz98ik15p0m1sf2h5956y";
|
|
246
226
|
type = "gem";
|
|
247
227
|
};
|
|
248
|
-
version = "1.
|
|
228
|
+
version = "1.18.0";
|
|
249
229
|
};
|
|
250
230
|
json = {
|
|
251
231
|
groups = ["default" "development"];
|
|
252
232
|
platforms = [];
|
|
253
233
|
source = {
|
|
254
234
|
remotes = ["https://rubygems.org"];
|
|
255
|
-
sha256 = "
|
|
235
|
+
sha256 = "0shwgjqbj856mb6m9kgkpy08nhym2gdvc2yaprlimfmky9y3n78z";
|
|
256
236
|
type = "gem";
|
|
257
237
|
};
|
|
258
|
-
version = "2.
|
|
238
|
+
version = "2.21.2";
|
|
259
239
|
};
|
|
260
240
|
language_server-protocol = {
|
|
261
241
|
groups = ["default" "development"];
|
|
262
242
|
platforms = [];
|
|
263
243
|
source = {
|
|
264
244
|
remotes = ["https://rubygems.org"];
|
|
265
|
-
sha256 = "
|
|
245
|
+
sha256 = "1w5p8c2145lmqzr25bxh4ikzjm6k8y1k5lriqqdpw9pq730w1wjy";
|
|
266
246
|
type = "gem";
|
|
267
247
|
};
|
|
268
|
-
version = "3.17.0.
|
|
248
|
+
version = "3.17.0.6";
|
|
269
249
|
};
|
|
270
250
|
lint_roller = {
|
|
271
251
|
groups = ["default" "development"];
|
|
@@ -322,10 +302,10 @@
|
|
|
322
302
|
platforms = [];
|
|
323
303
|
source = {
|
|
324
304
|
remotes = ["https://rubygems.org"];
|
|
325
|
-
sha256 = "
|
|
305
|
+
sha256 = "0mlkn1vhh9lr7vljibpgspwsswk7mzm8nw6bbr616c9fbj35hlmk";
|
|
326
306
|
type = "gem";
|
|
327
307
|
};
|
|
328
|
-
version = "1.
|
|
308
|
+
version = "2.1.0";
|
|
329
309
|
};
|
|
330
310
|
parser = {
|
|
331
311
|
dependencies = ["ast" "racc"];
|
|
@@ -333,10 +313,10 @@
|
|
|
333
313
|
platforms = [];
|
|
334
314
|
source = {
|
|
335
315
|
remotes = ["https://rubygems.org"];
|
|
336
|
-
sha256 = "
|
|
316
|
+
sha256 = "0a4q5h2hcihk79dbr20scgkm56l79qp7fsvfvkxlv8nmapvxg9i1";
|
|
337
317
|
type = "gem";
|
|
338
318
|
};
|
|
339
|
-
version = "3.3.
|
|
319
|
+
version = "3.3.12.0";
|
|
340
320
|
};
|
|
341
321
|
pp = {
|
|
342
322
|
dependencies = ["prettyprint"];
|
|
@@ -344,10 +324,10 @@
|
|
|
344
324
|
platforms = [];
|
|
345
325
|
source = {
|
|
346
326
|
remotes = ["https://rubygems.org"];
|
|
347
|
-
sha256 = "
|
|
327
|
+
sha256 = "0w5mha75hs8gdj75g8vl0sxpyp8rzvwq8a4jcmi4ah8cf370zjyz";
|
|
348
328
|
type = "gem";
|
|
349
329
|
};
|
|
350
|
-
version = "0.6.
|
|
330
|
+
version = "0.6.4";
|
|
351
331
|
};
|
|
352
332
|
prettyprint = {
|
|
353
333
|
groups = ["default" "development"];
|
|
@@ -364,21 +344,10 @@
|
|
|
364
344
|
platforms = [];
|
|
365
345
|
source = {
|
|
366
346
|
remotes = ["https://rubygems.org"];
|
|
367
|
-
sha256 = "
|
|
347
|
+
sha256 = "11ggfikcs1lv17nhmhqyyp6z8nq5pkfcj6a904047hljkxm0qlvv";
|
|
368
348
|
type = "gem";
|
|
369
349
|
};
|
|
370
|
-
version = "1.
|
|
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";
|
|
350
|
+
version = "1.9.0";
|
|
382
351
|
};
|
|
383
352
|
racc = {
|
|
384
353
|
groups = ["default" "development"];
|
|
@@ -405,31 +374,42 @@
|
|
|
405
374
|
platforms = [];
|
|
406
375
|
source = {
|
|
407
376
|
remotes = ["https://rubygems.org"];
|
|
408
|
-
sha256 = "
|
|
377
|
+
sha256 = "009p524zl0p0kfa65nii8wdmaigkmawv9pbvlcffky7islmmp0nb";
|
|
409
378
|
type = "gem";
|
|
410
379
|
};
|
|
411
|
-
version = "13.
|
|
380
|
+
version = "13.4.2";
|
|
381
|
+
};
|
|
382
|
+
rbs = {
|
|
383
|
+
dependencies = ["logger" "prism" "tsort"];
|
|
384
|
+
groups = ["default" "development"];
|
|
385
|
+
platforms = [];
|
|
386
|
+
source = {
|
|
387
|
+
remotes = ["https://rubygems.org"];
|
|
388
|
+
sha256 = "0x067q8cdam4kv5dc09iq2nzca8qm2kdl0dr22gc0ny0vj3bixsi";
|
|
389
|
+
type = "gem";
|
|
390
|
+
};
|
|
391
|
+
version = "4.2.0";
|
|
412
392
|
};
|
|
413
393
|
rdoc = {
|
|
414
|
-
dependencies = ["erb" "
|
|
394
|
+
dependencies = ["erb" "prism" "rbs" "tsort"];
|
|
415
395
|
groups = ["development"];
|
|
416
396
|
platforms = [];
|
|
417
397
|
source = {
|
|
418
398
|
remotes = ["https://rubygems.org"];
|
|
419
|
-
sha256 = "
|
|
399
|
+
sha256 = "0sf4909q2mr9z0rpygv94z12b0yamg07gz8cba2mi5k3m448rgq3";
|
|
420
400
|
type = "gem";
|
|
421
401
|
};
|
|
422
|
-
version = "
|
|
402
|
+
version = "8.0.0";
|
|
423
403
|
};
|
|
424
404
|
regexp_parser = {
|
|
425
405
|
groups = ["default" "development"];
|
|
426
406
|
platforms = [];
|
|
427
407
|
source = {
|
|
428
408
|
remotes = ["https://rubygems.org"];
|
|
429
|
-
sha256 = "
|
|
409
|
+
sha256 = "1fwfw26a32rps78920nn29shqg2zmqv72i89j1fap41isshida9m";
|
|
430
410
|
type = "gem";
|
|
431
411
|
};
|
|
432
|
-
version = "2.
|
|
412
|
+
version = "2.12.0";
|
|
433
413
|
};
|
|
434
414
|
reline = {
|
|
435
415
|
dependencies = ["io-console"];
|
|
@@ -437,10 +417,10 @@
|
|
|
437
417
|
platforms = [];
|
|
438
418
|
source = {
|
|
439
419
|
remotes = ["https://rubygems.org"];
|
|
440
|
-
sha256 = "
|
|
420
|
+
sha256 = "0gaq2lc463ap1srz7y5kh2p4dxazs7vjrpiby58d9yfvan72s0av";
|
|
441
421
|
type = "gem";
|
|
442
422
|
};
|
|
443
|
-
version = "0.
|
|
423
|
+
version = "0.7.0";
|
|
444
424
|
};
|
|
445
425
|
rspec = {
|
|
446
426
|
dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
|
|
@@ -481,20 +461,20 @@
|
|
|
481
461
|
platforms = [];
|
|
482
462
|
source = {
|
|
483
463
|
remotes = ["https://rubygems.org"];
|
|
484
|
-
sha256 = "
|
|
464
|
+
sha256 = "0iqxmw0knjiz5nf6pgr8ihs6cjzh89f0ppj3fqiz8cvms79x6sh8";
|
|
485
465
|
type = "gem";
|
|
486
466
|
};
|
|
487
|
-
version = "3.13.
|
|
467
|
+
version = "3.13.8";
|
|
488
468
|
};
|
|
489
469
|
rspec-support = {
|
|
490
470
|
groups = ["default" "development"];
|
|
491
471
|
platforms = [];
|
|
492
472
|
source = {
|
|
493
473
|
remotes = ["https://rubygems.org"];
|
|
494
|
-
sha256 = "
|
|
474
|
+
sha256 = "0z64h5rznm2zv21vjdjshz4v0h7bxvg02yc6g7yzxakj11byah06";
|
|
495
475
|
type = "gem";
|
|
496
476
|
};
|
|
497
|
-
version = "3.13.
|
|
477
|
+
version = "3.13.7";
|
|
498
478
|
};
|
|
499
479
|
rubocop = {
|
|
500
480
|
dependencies = ["json" "language_server-protocol" "lint_roller" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
|
@@ -502,10 +482,10 @@
|
|
|
502
482
|
platforms = [];
|
|
503
483
|
source = {
|
|
504
484
|
remotes = ["https://rubygems.org"];
|
|
505
|
-
sha256 = "
|
|
485
|
+
sha256 = "0hl2pxa6nydnh3jmgrjkdgmsj19r5yblgialym74w5f5nmjw1d4y";
|
|
506
486
|
type = "gem";
|
|
507
487
|
};
|
|
508
|
-
version = "1.
|
|
488
|
+
version = "1.90.0";
|
|
509
489
|
};
|
|
510
490
|
rubocop-ast = {
|
|
511
491
|
dependencies = ["parser" "prism"];
|
|
@@ -513,10 +493,10 @@
|
|
|
513
493
|
platforms = [];
|
|
514
494
|
source = {
|
|
515
495
|
remotes = ["https://rubygems.org"];
|
|
516
|
-
sha256 = "
|
|
496
|
+
sha256 = "1nw84xk6vc2ls8sxqvyhxs2agh4l0jrws85d4bi3x0501lq8ijmr";
|
|
517
497
|
type = "gem";
|
|
518
498
|
};
|
|
519
|
-
version = "1.
|
|
499
|
+
version = "1.50.0";
|
|
520
500
|
};
|
|
521
501
|
rubocop-rake = {
|
|
522
502
|
dependencies = ["lint_roller" "rubocop"];
|
|
@@ -530,15 +510,15 @@
|
|
|
530
510
|
version = "0.7.1";
|
|
531
511
|
};
|
|
532
512
|
rubocop-rspec = {
|
|
533
|
-
dependencies = ["lint_roller" "rubocop"];
|
|
513
|
+
dependencies = ["lint_roller" "regexp_parser" "rubocop"];
|
|
534
514
|
groups = ["development"];
|
|
535
515
|
platforms = [];
|
|
536
516
|
source = {
|
|
537
517
|
remotes = ["https://rubygems.org"];
|
|
538
|
-
sha256 = "
|
|
518
|
+
sha256 = "1qk5bx4vg7n17i9475h6dqkhay9m3s6vanq9y35hxl9cb762wghb";
|
|
539
519
|
type = "gem";
|
|
540
520
|
};
|
|
541
|
-
version = "3.
|
|
521
|
+
version = "3.10.2";
|
|
542
522
|
};
|
|
543
523
|
ruby-progressbar = {
|
|
544
524
|
groups = ["default" "development"];
|
|
@@ -551,45 +531,14 @@
|
|
|
551
531
|
version = "1.13.0";
|
|
552
532
|
};
|
|
553
533
|
simplecov = {
|
|
554
|
-
dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"];
|
|
555
|
-
groups = ["default"];
|
|
556
|
-
platforms = [];
|
|
557
|
-
source = {
|
|
558
|
-
remotes = ["https://rubygems.org"];
|
|
559
|
-
sha256 = "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py";
|
|
560
|
-
type = "gem";
|
|
561
|
-
};
|
|
562
|
-
version = "0.22.0";
|
|
563
|
-
};
|
|
564
|
-
simplecov-html = {
|
|
565
|
-
groups = ["default"];
|
|
566
|
-
platforms = [];
|
|
567
|
-
source = {
|
|
568
|
-
remotes = ["https://rubygems.org"];
|
|
569
|
-
sha256 = "0ikjfwydgs08nm3xzc4cn4b6z6rmcrj2imp84xcnimy2wxa8w2xx";
|
|
570
|
-
type = "gem";
|
|
571
|
-
};
|
|
572
|
-
version = "0.13.2";
|
|
573
|
-
};
|
|
574
|
-
simplecov_json_formatter = {
|
|
575
534
|
groups = ["default"];
|
|
576
535
|
platforms = [];
|
|
577
536
|
source = {
|
|
578
537
|
remotes = ["https://rubygems.org"];
|
|
579
|
-
sha256 = "
|
|
580
|
-
type = "gem";
|
|
581
|
-
};
|
|
582
|
-
version = "0.1.4";
|
|
583
|
-
};
|
|
584
|
-
stringio = {
|
|
585
|
-
groups = ["default" "development"];
|
|
586
|
-
platforms = [];
|
|
587
|
-
source = {
|
|
588
|
-
remotes = ["https://rubygems.org"];
|
|
589
|
-
sha256 = "1q92y9627yisykyscv0bdsrrgyaajc2qr56dwlzx7ysgigjv4z63";
|
|
538
|
+
sha256 = "0y0ya82s3zi2wmkadnmb3l9r13mbsvd1g63n9mlp8bhb7zqmx0i5";
|
|
590
539
|
type = "gem";
|
|
591
540
|
};
|
|
592
|
-
version = "
|
|
541
|
+
version = "1.1.1";
|
|
593
542
|
};
|
|
594
543
|
sys-uname = {
|
|
595
544
|
dependencies = ["ffi" "memoist3"];
|
|
@@ -597,20 +546,20 @@
|
|
|
597
546
|
platforms = [];
|
|
598
547
|
source = {
|
|
599
548
|
remotes = ["https://rubygems.org"];
|
|
600
|
-
sha256 = "
|
|
549
|
+
sha256 = "0yvd71lzd2k46940k9l3l3yyjyxc4j1w6nmyrcjkqfdhj5j7wkbq";
|
|
601
550
|
type = "gem";
|
|
602
551
|
};
|
|
603
|
-
version = "1.
|
|
552
|
+
version = "1.5.1";
|
|
604
553
|
};
|
|
605
554
|
thor = {
|
|
606
555
|
groups = ["default" "development"];
|
|
607
556
|
platforms = [];
|
|
608
557
|
source = {
|
|
609
558
|
remotes = ["https://rubygems.org"];
|
|
610
|
-
sha256 = "
|
|
559
|
+
sha256 = "0wsy88vg2mazl039392hqrcwvs5nb9kq8jhhrrclir2px1gybag3";
|
|
611
560
|
type = "gem";
|
|
612
561
|
};
|
|
613
|
-
version = "1.
|
|
562
|
+
version = "1.5.0";
|
|
614
563
|
};
|
|
615
564
|
tsort = {
|
|
616
565
|
groups = ["default" "development"];
|
|
@@ -648,9 +597,9 @@
|
|
|
648
597
|
platforms = [];
|
|
649
598
|
source = {
|
|
650
599
|
remotes = ["https://rubygems.org"];
|
|
651
|
-
sha256 = "
|
|
600
|
+
sha256 = "0lfwngmsz3xq9k9la9890cqpm4vk3rda4171yzms7f3w7x4i3qjj";
|
|
652
601
|
type = "gem";
|
|
653
602
|
};
|
|
654
|
-
version = "0.9.
|
|
603
|
+
version = "0.9.45";
|
|
655
604
|
};
|
|
656
605
|
}
|
data/lib/bashcov/detective.rb
CHANGED
data/lib/bashcov/lexer.rb
CHANGED
|
@@ -35,34 +35,36 @@ module Bashcov
|
|
|
35
35
|
mark_multiline(
|
|
36
36
|
lines, lineno,
|
|
37
37
|
/\A[^\n]*\b=\([^()]*\)/,
|
|
38
|
-
forward: false
|
|
38
|
+
forward: false,
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
# heredoc
|
|
42
42
|
mark_multiline(
|
|
43
43
|
lines, lineno,
|
|
44
|
-
/\A[^\n]+<<-?\s*'?(\w+)'?.*$.*\1/m
|
|
44
|
+
/\A[^\n]+<<-?\s*'?(\w+)'?.*$.*\1/m,
|
|
45
45
|
)
|
|
46
46
|
|
|
47
47
|
# multiline string concatenated with backslashes
|
|
48
48
|
mark_multiline(
|
|
49
49
|
lines, lineno,
|
|
50
|
-
/\A[^\n]+\\$(\s*['"][^'"]*['"]\s*\\$){1,}\s*['"][^'"]*['"]\s
|
|
50
|
+
/\A[^\n]+\\$(\s*['"][^'"]*['"]\s*\\$){1,}\s*['"][^'"]*['"]\s*$/,
|
|
51
51
|
)
|
|
52
52
|
|
|
53
53
|
# simple line continuations with backslashes
|
|
54
54
|
mark_multiline(
|
|
55
55
|
lines, lineno,
|
|
56
|
-
/\A([^\n&|;]*[^\\&|;](\\\\)*\\\n)+[^\n&|;]*[^\n\\&|;](\\\\)
|
|
56
|
+
/\A([^\n&|;]*[^\\&|;](\\\\)*\\\n)+[^\n&|;]*[^\n\\&|;](\\\\)*$/,
|
|
57
57
|
)
|
|
58
58
|
|
|
59
59
|
# multiline string concatenated with newlines
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
[false, true].each do |direction|
|
|
61
|
+
%w[' "].each do |char|
|
|
62
|
+
mark_multiline(
|
|
63
|
+
lines, lineno,
|
|
64
|
+
/\A[^\n]+[\s=]+#{char}[^#{char}]*#{char}/m,
|
|
65
|
+
forward: direction,
|
|
66
|
+
)
|
|
67
|
+
end
|
|
66
68
|
end
|
|
67
69
|
|
|
68
70
|
mark_line(line, lineno)
|
|
@@ -72,6 +74,9 @@ module Bashcov
|
|
|
72
74
|
private
|
|
73
75
|
|
|
74
76
|
def mark_multiline(lines, lineno, regexp, forward: true)
|
|
77
|
+
# skip if we are already inside marked multiline string
|
|
78
|
+
return unless @coverage[lineno + 1].nil?
|
|
79
|
+
|
|
75
80
|
seek_forward = lines[lineno..].join
|
|
76
81
|
return unless (multiline_match = seek_forward.match(regexp))
|
|
77
82
|
|
data/lib/bashcov/runner.rb
CHANGED
data/lib/bashcov/version.rb
CHANGED
data/lib/bashcov/xtrace.rb
CHANGED
|
@@ -85,7 +85,7 @@ module Bashcov
|
|
|
85
85
|
|
|
86
86
|
field_count = FIELDS.length
|
|
87
87
|
fields = @field_stream.each(
|
|
88
|
-
self.class.delimiter, field_count, PS4_START_REGEXP
|
|
88
|
+
self.class.delimiter, field_count, PS4_START_REGEXP,
|
|
89
89
|
)
|
|
90
90
|
|
|
91
91
|
# +take(field_count)+ would be more natural here, but doesn't seem to
|
|
@@ -124,7 +124,7 @@ module Bashcov
|
|
|
124
124
|
return
|
|
125
125
|
else
|
|
126
126
|
raise XtraceError.new(
|
|
127
|
-
"expected integer for LINENO, got #{lineno.inspect}", @files
|
|
127
|
+
"expected integer for LINENO, got #{lineno.inspect}", @files,
|
|
128
128
|
)
|
|
129
129
|
end
|
|
130
130
|
|
data/lib/bashcov.rb
CHANGED
|
@@ -10,7 +10,7 @@ require "bashcov/version"
|
|
|
10
10
|
module Bashcov
|
|
11
11
|
# A +Struct+ to store Bashcov configuration
|
|
12
12
|
Options = Struct.new(
|
|
13
|
-
*%i[skip_uncovered mute bash_path root_directory command command_name]
|
|
13
|
+
*%i[skip_uncovered mute bash_path root_directory command command_name],
|
|
14
14
|
)
|
|
15
15
|
|
|
16
16
|
class << self
|
data/screenshot.png
ADDED
|
Binary file
|
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:
|
|
4
|
+
version: 4.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Cédric Félizard
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: '
|
|
18
|
+
version: '1.1'
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: '
|
|
25
|
+
version: '1.1'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: aruba
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -244,8 +244,8 @@ files:
|
|
|
244
244
|
- lib/bashcov/runner.rb
|
|
245
245
|
- lib/bashcov/version.rb
|
|
246
246
|
- lib/bashcov/xtrace.rb
|
|
247
|
+
- screenshot.png
|
|
247
248
|
- shell.nix
|
|
248
|
-
- test.sh
|
|
249
249
|
homepage: https://github.com/infertux/bashcov
|
|
250
250
|
licenses:
|
|
251
251
|
- MIT
|
|
@@ -268,7 +268,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
268
268
|
- !ruby/object:Gem::Version
|
|
269
269
|
version: '0'
|
|
270
270
|
requirements: []
|
|
271
|
-
rubygems_version: 4.0.
|
|
271
|
+
rubygems_version: 4.0.10
|
|
272
272
|
specification_version: 4
|
|
273
273
|
summary: Code coverage tool for Bash
|
|
274
274
|
test_files: []
|