covered 0.25.1 → 0.26.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
- checksums.yaml.gz.sig +0 -0
- data/bake/covered/debug.rb +1 -2
- data/bake/covered/policy.rb +7 -2
- data/bake/covered/validate.rb +2 -0
- data/lib/covered/config.rb +22 -8
- data/lib/covered/policy.rb +10 -4
- data/lib/covered/version.rb +1 -1
- data/license.md +2 -1
- data/readme.md +7 -9
- data.tar.gz.sig +0 -0
- metadata +7 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b3b51e8cda089a57c22c3ef8e75f7f0da473883048f2526c343eeaff2b96578
|
4
|
+
data.tar.gz: a4ae054e1b15e1c4a0398c2bd2aaa4ee2291fab2d4f3315eaf8e0772b6e5921c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e841ed5b73e93b103adae84f250f43e204b75d8acb3de82ef4ec0dc6ef10a2db8c7c28cf00cad3a094678480bf07f7a4425e0f6284ea481f0e70c1ed68f7baa
|
7
|
+
data.tar.gz: 6e9b2dab1f92cf567126d20ea2ec77dfd7c8959ac397b1f73cfd3793d91fc7672408452ef4cf345962e55425ea13014de79a9b16f0978fbc2156a43ac2a0746d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/bake/covered/debug.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2022-
|
4
|
+
# Copyright, 2022-2024, by Samuel Williams.
|
5
5
|
|
6
6
|
def initialize(context)
|
7
7
|
super
|
@@ -15,7 +15,6 @@ end
|
|
15
15
|
# @parameter execute [Boolean] Whether to execute the code.
|
16
16
|
def parse(paths: [], execute: false)
|
17
17
|
files = output = Covered::Files.new
|
18
|
-
output = Covered::Source.new(output)
|
19
18
|
|
20
19
|
paths.each do |path|
|
21
20
|
output.mark(path, 0, 0)
|
data/bake/covered/policy.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
# Released under the MIT License.
|
4
|
-
# Copyright, 2023, by Samuel Williams.
|
4
|
+
# Copyright, 2023-2024, by Samuel Williams.
|
5
|
+
# Copyright, 2023, by Michael Adams.
|
5
6
|
|
6
7
|
def initialize(context)
|
7
8
|
super
|
@@ -12,7 +13,7 @@ end
|
|
12
13
|
# Load the current coverage policy.
|
13
14
|
# Defaults to the default coverage path if no paths are specified.
|
14
15
|
# @parameter paths [Array(String)] The coverage database paths.
|
15
|
-
def current(paths: nil)
|
16
|
+
def current(paths: nil, reports: Covered::Config.reports)
|
16
17
|
policy = Covered::Policy.new
|
17
18
|
|
18
19
|
# Load the default path if no paths are specified:
|
@@ -29,6 +30,10 @@ def current(paths: nil)
|
|
29
30
|
Covered::Persist.new(policy.output, path).load!(ignore_mtime: true)
|
30
31
|
end
|
31
32
|
|
33
|
+
if reports
|
34
|
+
policy.reports!(reports)
|
35
|
+
end
|
36
|
+
|
32
37
|
return policy
|
33
38
|
end
|
34
39
|
|
data/bake/covered/validate.rb
CHANGED
data/lib/covered/config.rb
CHANGED
@@ -21,11 +21,11 @@ module Covered
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def self.
|
24
|
+
def self.reports
|
25
25
|
ENV['COVERAGE']
|
26
26
|
end
|
27
27
|
|
28
|
-
def self.load(root: self.root,
|
28
|
+
def self.load(root: self.root, reports: self.reports)
|
29
29
|
derived = Class.new(self)
|
30
30
|
|
31
31
|
if path = self.path(root)
|
@@ -34,19 +34,19 @@ module Covered
|
|
34
34
|
derived.prepend(config)
|
35
35
|
end
|
36
36
|
|
37
|
-
return derived.new(root,
|
37
|
+
return derived.new(root, reports)
|
38
38
|
end
|
39
39
|
|
40
|
-
def initialize(root,
|
40
|
+
def initialize(root, reports)
|
41
41
|
@root = root
|
42
|
-
@
|
42
|
+
@reports = reports
|
43
43
|
@policy = nil
|
44
44
|
|
45
45
|
@environment = nil
|
46
46
|
end
|
47
47
|
|
48
48
|
def report?
|
49
|
-
!!@
|
49
|
+
!!@reports
|
50
50
|
end
|
51
51
|
|
52
52
|
alias :record? :report?
|
@@ -61,6 +61,7 @@ module Covered
|
|
61
61
|
policy.output
|
62
62
|
end
|
63
63
|
|
64
|
+
# Start coverage tracking.
|
64
65
|
def start
|
65
66
|
# Save and setup the environment:
|
66
67
|
@environment = ENV.to_h
|
@@ -70,6 +71,7 @@ module Covered
|
|
70
71
|
policy.start
|
71
72
|
end
|
72
73
|
|
74
|
+
# Finish coverage tracking.
|
73
75
|
def finish
|
74
76
|
# Finish coverage tracking:
|
75
77
|
policy.finish
|
@@ -79,6 +81,8 @@ module Covered
|
|
79
81
|
@environment = nil
|
80
82
|
end
|
81
83
|
|
84
|
+
# Generate coverage reports to the given output.
|
85
|
+
# @param output [IO] The output stream to write the coverage report to.
|
82
86
|
def call(output)
|
83
87
|
policy.call(output)
|
84
88
|
end
|
@@ -87,10 +91,18 @@ module Covered
|
|
87
91
|
policy.each(&block)
|
88
92
|
end
|
89
93
|
|
94
|
+
# Which paths to ignore when computing coverage for a given project.
|
95
|
+
# @returns [Array(String)] An array of relative paths to ignore.
|
90
96
|
def ignore_paths
|
91
97
|
['test/', 'fixtures/', 'spec/', 'vendor/', 'config/']
|
92
98
|
end
|
93
99
|
|
100
|
+
# Which paths to include when computing coverage for a given project.
|
101
|
+
# @returns [Array(String)] An array of relative patterns to include, e.g. `"lib/**/*.rb"`.
|
102
|
+
def include_patterns
|
103
|
+
["lib/**/*.rb"]
|
104
|
+
end
|
105
|
+
|
94
106
|
# Override this method to implement your own policy.
|
95
107
|
def make_policy(policy)
|
96
108
|
# Only files in the root would be tracked:
|
@@ -104,11 +116,13 @@ module Covered
|
|
104
116
|
policy.skip(Regexp.union(patterns))
|
105
117
|
|
106
118
|
# We will include all files under lib, even if they aren't loaded:
|
107
|
-
|
119
|
+
include_patterns.each do |pattern|
|
120
|
+
policy.include(pattern)
|
121
|
+
end
|
108
122
|
|
109
123
|
policy.persist!
|
110
124
|
|
111
|
-
policy.reports!(@
|
125
|
+
policy.reports!(@reports)
|
112
126
|
end
|
113
127
|
|
114
128
|
protected
|
data/lib/covered/policy.rb
CHANGED
@@ -101,9 +101,9 @@ module Covered
|
|
101
101
|
end
|
102
102
|
end
|
103
103
|
|
104
|
-
def reports!(
|
105
|
-
if
|
106
|
-
names =
|
104
|
+
def reports!(reports)
|
105
|
+
if reports.is_a?(String)
|
106
|
+
names = reports.split(',')
|
107
107
|
|
108
108
|
names.each do |name|
|
109
109
|
begin
|
@@ -113,8 +113,14 @@ module Covered
|
|
113
113
|
@reports << Autoload.new(name)
|
114
114
|
end
|
115
115
|
end
|
116
|
-
elsif
|
116
|
+
elsif reports == true
|
117
117
|
@reports << Covered::BriefSummary.new
|
118
|
+
elsif reports == false
|
119
|
+
@reports.clear
|
120
|
+
elsif reports.is_a?(Array)
|
121
|
+
@reports.concat(reports)
|
122
|
+
else
|
123
|
+
@reports << reports
|
118
124
|
end
|
119
125
|
end
|
120
126
|
|
data/lib/covered/version.rb
CHANGED
data/license.md
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
# MIT License
|
2
2
|
|
3
|
-
Copyright, 2018-
|
3
|
+
Copyright, 2018-2024, by Samuel Williams.
|
4
4
|
Copyright, 2018, by Shannon Skipper.
|
5
5
|
Copyright, 2019, by Cyril Roelandt.
|
6
6
|
Copyright, 2022, by Adam Daniels.
|
7
7
|
Copyright, 2022, by Felix Yan.
|
8
8
|
Copyright, 2023, by Stephen Ierodiaconou.
|
9
|
+
Copyright, 2023, by Michael Adams.
|
9
10
|
|
10
11
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
11
12
|
of this software and associated documentation files (the "Software"), to deal
|
data/readme.md
CHANGED
@@ -11,8 +11,7 @@ into Ruby.
|
|
11
11
|
platforms.
|
12
12
|
- Supports coverage of views - templates compiled to Ruby code can be tracked for coverage reporting.
|
13
13
|
|
14
|
-
[](https://github.com/ioquatix/covered/actions?workflow=Test)
|
14
|
+
[](https://github.com/ioquatix/covered/actions?workflow=Test)
|
16
15
|
|
17
16
|
## Motivation
|
18
17
|
|
@@ -25,10 +24,11 @@ After this concept prooved useful, [it was integrated directly into Ruby](https:
|
|
25
24
|
|
26
25
|
## Usage
|
27
26
|
|
28
|
-
Please see the [project documentation](https://github.
|
27
|
+
Please see the [project documentation](https://ioquatix.github.io/covered/) for more details.
|
29
28
|
|
30
|
-
- [Getting Started](https://github.
|
31
|
-
|
29
|
+
- [Getting Started](https://ioquatix.github.io/covered/guides/getting-started/index) - This guide explains how to get started with `covered` and integrate it with your test suite.
|
30
|
+
|
31
|
+
- [Configuration](https://ioquatix.github.io/covered/guides/configuration/index) - This guide will help you to configure covered for your project's specific requirements.
|
32
32
|
|
33
33
|
## See Also
|
34
34
|
|
@@ -48,10 +48,8 @@ We welcome contributions to this project.
|
|
48
48
|
|
49
49
|
### Developer Certificate of Origin
|
50
50
|
|
51
|
-
This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this
|
52
|
-
project must agree to this document to have their contributions accepted.
|
51
|
+
This project uses the [Developer Certificate of Origin](https://developercertificate.org/). All contributors to this project must agree to this document to have their contributions accepted.
|
53
52
|
|
54
53
|
### Contributor Covenant
|
55
54
|
|
56
|
-
This project is governed by [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and
|
57
|
-
participants agree to abide by its terms.
|
55
|
+
This project is governed by the [Contributor Covenant](https://www.contributor-covenant.org/). All contributors and participants agree to abide by its terms.
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: covered
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
8
8
|
- Adam Daniels
|
9
9
|
- Cyril Roelandt
|
10
10
|
- Felix Yan
|
11
|
+
- Michael Adams
|
11
12
|
- Shannon Skipper
|
12
13
|
- Stephen Ierodiaconou
|
13
14
|
autorequire:
|
@@ -42,7 +43,7 @@ cert_chain:
|
|
42
43
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
43
44
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
44
45
|
-----END CERTIFICATE-----
|
45
|
-
date:
|
46
|
+
date: 2024-07-11 00:00:00.000000000 Z
|
46
47
|
dependencies:
|
47
48
|
- !ruby/object:Gem::Dependency
|
48
49
|
name: console
|
@@ -105,7 +106,9 @@ homepage: https://github.com/ioquatix/covered
|
|
105
106
|
licenses:
|
106
107
|
- MIT
|
107
108
|
metadata:
|
109
|
+
documentation_uri: https://ioquatix.github.io/covered/
|
108
110
|
funding_uri: https://github.com/sponsors/ioquatix/
|
111
|
+
source_code_uri: https://github.com/ioquatix/covered.git
|
109
112
|
post_install_message:
|
110
113
|
rdoc_options: []
|
111
114
|
require_paths:
|
@@ -114,14 +117,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
117
|
requirements:
|
115
118
|
- - ">="
|
116
119
|
- !ruby/object:Gem::Version
|
117
|
-
version: '3.
|
120
|
+
version: '3.1'
|
118
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
122
|
requirements:
|
120
123
|
- - ">="
|
121
124
|
- !ruby/object:Gem::Version
|
122
125
|
version: '0'
|
123
126
|
requirements: []
|
124
|
-
rubygems_version: 3.
|
127
|
+
rubygems_version: 3.5.11
|
125
128
|
signing_key:
|
126
129
|
specification_version: 4
|
127
130
|
summary: A modern approach to code coverage.
|
metadata.gz.sig
CHANGED
Binary file
|