covered 0.15.0 → 0.15.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21a316a4045662e72cde0fa4d4c7fc433597cbb25790965fb3f0eaa341f994bb
4
- data.tar.gz: af7e1f193caa3ca359ee1e9dabc61019accf5ab3ca24758271937add2b93f8bc
3
+ metadata.gz: 005b3a56275c6e1e796e3b12a76addd19e78675be9ae6cc773102f1a905cfdf1
4
+ data.tar.gz: a2218c1566644a8ecdacc85f964712e59cf3b968067c1e44e66fd5e54319f5da
5
5
  SHA512:
6
- metadata.gz: cc6b308b9360bbd6db4180e92cc00fb1af462492fffc59d6c0b6b45a00f8f388a06d13e5b4d235e2fc74eea9950be34fac291111e0a1b096e98c5673acfd5948
7
- data.tar.gz: 361693de63a9e20e8dd1181ffac6a27d0bf1e3b7c19828f3e5a8fd762a38917e8fd8268d2922116ed1026cab131836ed9300321e3f256623f05176313a5beaba
6
+ metadata.gz: 00d1fae46afb3f1d25bd5b7b7d121547a584d35479a4d16e0cd4a2a0d99f0f4cd35c2f0ccb8d90871d498a9dec4521accd31494d54532fd57af88ab645a6de1f
7
+ data.tar.gz: 0df096a51adbaf5982cf5b738d311b43a8eccf7057df14e9eacf36640ad61316ca39bc25ca81603ab93379c6e1afac17126b1cd19833f3786ee0359d6d32e7b4
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,28 @@
1
+
2
+ def initialize(context)
3
+ super
4
+
5
+ require_relative '../../lib/covered/policy/default'
6
+ end
7
+
8
+ # Validate the coverage of multiple test runs.
9
+ # @parameter paths [Array(String)] The coverage database paths.
10
+ # @parameter minumum [Float] The minimum required coverage in order to pass.
11
+ def validate(paths: nil, minimum: 1.0)
12
+ paths&.each do |path|
13
+ # It would be nice to have a better algorithm here than just ignoring mtime - perhaps using checksums?
14
+ Covered::Persist.new($covered.output, path).load!(ignore_mtime: true)
15
+ end
16
+
17
+ $covered.flush
18
+
19
+ statistics = Covered::Statistics.new
20
+
21
+ $covered.each do |coverage|
22
+ statistics << coverage
23
+ end
24
+
25
+ statistics.print($stderr)
26
+
27
+ statistics.validate!(minimum)
28
+ end
@@ -36,14 +36,24 @@ module Covered
36
36
  @touched = Set.new
37
37
  end
38
38
 
39
- def apply(record)
39
+ def apply(record, ignore_mtime: false)
40
40
  # The file must still exist:
41
41
  return unless path = expand_path(record[:path])
42
- return unless File.exist? path
42
+
43
+ unless File.exist?(path)
44
+ Console.logger.debug(self) {"Ignoring coverage, path #{path} does not exist!"}
45
+ return
46
+ end
43
47
 
44
48
  # If the file has been modified since... we can't use the coverage.
45
49
  return unless mtime = record[:mtime]
46
- return if File.mtime(path).to_f > record[:mtime]
50
+
51
+ unless ignore_mtime
52
+ if File.mtime(path).to_f > record[:mtime]
53
+ Console.logger.debug(self) {"Ignoring coverage, path #{path} has been updated: #{File.mtime(path).to_f} > #{record[:mtime]}!"}
54
+ return
55
+ end
56
+ end
47
57
 
48
58
  record[:coverage].each_with_index do |count, index|
49
59
  @output.mark(path, index, count) if count
@@ -59,20 +69,22 @@ module Covered
59
69
  }
60
70
  end
61
71
 
62
- def load!(path = @path)
72
+ def load!(**options)
63
73
  return unless File.exist?(@path)
64
74
 
65
75
  # Load existing coverage information and mark all files:
66
76
  File.open(@path, "rb") do |file|
67
77
  file.flock(File::LOCK_SH)
68
78
 
69
- Console.logger.debug(self) {"Loading from #{@path}..."}
79
+ Console.logger.debug(self) {"Loading from #{@path} with #{options}..."}
70
80
 
71
- make_unpacker(file).each(&self.method(:apply))
81
+ make_unpacker(file).each do |record|
82
+ self.apply(record, **options)
83
+ end
72
84
  end
73
85
  end
74
86
 
75
- def save!(path = @path)
87
+ def save!
76
88
  # Dump all coverage:
77
89
  File.open(@path, "wb") do |file|
78
90
  file.flock(File::LOCK_EX)
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Covered
22
- VERSION = "0.15.0"
22
+ VERSION = "0.15.3"
23
23
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: covered
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -159,15 +159,7 @@ executables: []
159
159
  extensions: []
160
160
  extra_rdoc_files: []
161
161
  files:
162
- - ".github/workflows/development.yml"
163
- - ".github/workflows/documentation.yml"
164
- - examples/coverage/covered.rb
165
- - examples/coverage/erb/coverage.rb
166
- - examples/coverage/erb/template.erb
167
- - examples/coverage/parser.rb
168
- - examples/coverage/simplecov.rb
169
- - examples/coverage/test.rb
170
- - examples/coverage/tracepoint.rb
162
+ - bake/covered/validate.rb
171
163
  - lib/covered.rb
172
164
  - lib/covered/cache.rb
173
165
  - lib/covered/capture.rb
@@ -185,7 +177,6 @@ files:
185
177
  - lib/covered/summary.rb
186
178
  - lib/covered/version.rb
187
179
  - lib/covered/wrapper.rb
188
- - media/example.png
189
180
  homepage: https://github.com/ioquatix/covered
190
181
  licenses:
191
182
  - MIT
metadata.gz.sig CHANGED
@@ -1,4 +1,5 @@
1
- ������j1����|���M�&E|��5�ٵ��R��w(G�ak��A0�1�c�
2
- N&i ���UMv̮ �L��>P`�ONٓ=�����e�G�f�w_�v6xv�AD�gP7fɛ�.��E�߅oSOM�ᚍ���BT\M��г�bRq?X����Η2�x<\���r~
3
- �\������0TW'W;ilK�"� |��L�+�0�\L҄bE�}�e�7�<z�С�G�=M�{�e�i�WD��Z��ʤk����,����G�~m_¢��rWLVi�����"��?����J���5�rY����C��f}� ��+����-�пk�M�孆
4
- �}`�aב�
1
+ ��Q��;��A������M�
2
+ ��i\l
3
+ '��`ڍ�IuJw�<`��y
4
+ ��HM_.����4��uX)W>��3e���qh\�� �MՑ鬫�P�:0����4糵����h�1�I�/�xC���^�M?i\��[�I}�3\W���Vk���1�Q�RN�{�������5�W��4�Ei�?;��)���%�)\���5��6k�T��FfS9w��OEU!��0�-.
5
+ -��TT�, ����;����=�+D>K��{�p��W��pA�o�!u���̆1u�=��d��!� cku���_���)�~�\8ذ�$����o`�Q�c�\�f^f��إV�E=uPفD��[?�e;?ܝ�
@@ -1,45 +0,0 @@
1
- name: Development
2
-
3
- on: [push, pull_request]
4
-
5
- jobs:
6
- test:
7
- name: ${{matrix.ruby}} on ${{matrix.os}}
8
- runs-on: ${{matrix.os}}-latest
9
- continue-on-error: ${{matrix.experimental}}
10
-
11
- strategy:
12
- matrix:
13
- os:
14
- - ubuntu
15
- - macos
16
-
17
- ruby:
18
- - "2.6"
19
- - "2.7"
20
- - "3.0"
21
-
22
- experimental: [false]
23
- env: [""]
24
-
25
- include:
26
- - os: ubuntu
27
- ruby: truffleruby
28
- experimental: true
29
- - os: ubuntu
30
- ruby: jruby
31
- experimental: true
32
- - os: ubuntu
33
- ruby: head
34
- experimental: true
35
-
36
- steps:
37
- - uses: actions/checkout@v2
38
- - uses: ruby/setup-ruby@v1
39
- with:
40
- ruby-version: ${{matrix.ruby}}
41
- bundler-cache: true
42
-
43
- - name: Run tests
44
- timeout-minutes: 5
45
- run: ${{matrix.env}} bundle exec rspec
@@ -1,34 +0,0 @@
1
- name: Documentation
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- env:
9
- BUNDLE_WITH: maintenance
10
-
11
- jobs:
12
- deploy:
13
- runs-on: ubuntu-latest
14
-
15
- steps:
16
- - uses: actions/checkout@v3
17
-
18
- - uses: ruby/setup-ruby@v1
19
- with:
20
- ruby-version: 3.1
21
- bundler-cache: true
22
-
23
- - name: Installing packages
24
- run: sudo apt-get install wget
25
-
26
- - name: Prepare GitHub Pages
27
- run: bundle exec bake github:pages:prepare --directory docs
28
-
29
- - name: Generate documentation
30
- timeout-minutes: 5
31
- run: bundle exec bake utopia:project:static --force no
32
-
33
- - name: Deploy GitHub Pages
34
- run: bundle exec bake github:pages:commit --directory docs
@@ -1,11 +0,0 @@
1
-
2
- ENV['COVERAGE'] ||= 'PartialSummary'
3
- require 'covered/policy/default'
4
-
5
- $covered.enable
6
-
7
- require_relative 'test'
8
-
9
- $covered.disable
10
-
11
- $covered.call($stdout)
@@ -1,21 +0,0 @@
1
-
2
- require 'erb'
3
- $LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
4
-
5
- template_path = File.expand_path("template.erb", __dir__)
6
-
7
- ENV['COVERAGE'] ||= 'PartialSummary'
8
- require 'covered/policy/default'
9
-
10
- $covered.enable
11
-
12
- template = ERB.new(File.read(template_path)).tap do |template|
13
- template.filename = template_path
14
- end
15
-
16
- @items = ["Cats", "Dogs", "Chickens"]
17
- puts template.result(binding)
18
-
19
- $covered.disable
20
-
21
- $covered.call($stdout)
@@ -1,7 +0,0 @@
1
- <% for @item in @items %>
2
- <%= @item %>
3
- <% end %>
4
-
5
- <% if 1 == 2 %>
6
- Math is broken.
7
- <% end %>
@@ -1,23 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'pry'
4
- require 'parser/current'
5
-
6
- ast = Parser::CurrentRuby.parse_file('test.rb')
7
- # ast.location.expression.source
8
-
9
- def print_methods(ast)
10
- if ast.is_a? Parser::AST::Node
11
- if ast.type == :send
12
- puts "Calling #{ast.children[1]} on #{ast.location.line}"
13
- end
14
-
15
- ast.children.each do |child|
16
- print_methods(child)
17
- end
18
- end
19
- end
20
-
21
- print_methods(ast)
22
-
23
- binding.pry
@@ -1,7 +0,0 @@
1
-
2
- require 'simplecov'
3
-
4
- SimpleCov.command_name 'Example'
5
- SimpleCov.start
6
-
7
- require_relative 'test'
@@ -1,16 +0,0 @@
1
- trace_point = TracePoint.new(:call, :return, :line, :c_call, :c_return, :b_call, :b_return) do |trace|
2
- puts [trace.path, trace.lineno].join(":")
3
- end
4
-
5
- trace_point.enable
6
-
7
- values = {foo: 10}
8
-
9
- def shell_escape(x)
10
- x
11
- end
12
-
13
- values.map{|key, value| [
14
- key.to_s.upcase,
15
- shell_escape(value) # TracePoint is never triggered for this line.
16
- ]}
@@ -1,8 +0,0 @@
1
-
2
- trace_point = TracePoint.new(:call, :return, :line, :c_call, :c_return, :b_call, :b_return) do |trace|
3
- puts [trace.path, trace.lineno].join(":")
4
- end
5
-
6
- trace_point.enable
7
-
8
- require_relative 'test'
data/media/example.png DELETED
Binary file