coverband 4.1.0 → 4.2.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 +5 -5
- data/.gitignore +6 -1
- data/.travis.yml +4 -2
- data/README.md +74 -51
- data/Rakefile +1 -1
- data/changes.md +45 -25
- data/coverband.gemspec +4 -0
- data/lib/coverband/adapters/base.rb +24 -1
- data/lib/coverband/adapters/redis_store.rb +29 -8
- data/lib/coverband/at_exit.rb +19 -2
- data/lib/coverband/collectors/coverage.rb +35 -73
- data/lib/coverband/collectors/delta.rb +67 -0
- data/lib/coverband/integrations/background.rb +4 -3
- data/lib/coverband/integrations/rack_server_check.rb +4 -1
- data/lib/coverband/integrations/resque.rb +4 -1
- data/lib/coverband/reporters/base.rb +21 -14
- data/lib/coverband/reporters/html_report.rb +40 -15
- data/lib/coverband/reporters/web.rb +29 -6
- data/lib/coverband/utils/html_formatter.rb +20 -4
- data/lib/coverband/utils/railtie.rb +8 -0
- data/lib/coverband/utils/result.rb +3 -2
- data/lib/coverband/utils/results.rb +63 -0
- data/lib/coverband/utils/source_file.rb +5 -0
- data/lib/coverband/version.rb +1 -1
- data/lib/coverband.rb +23 -3
- data/public/application.css +5 -0
- data/public/application.js +108 -1644
- data/public/dependencies.js +1581 -0
- data/public/favicon.png +0 -0
- data/test/benchmarks/benchmark.rake +31 -0
- data/test/benchmarks/coverage_fork.sh +37 -0
- data/test/{unit/adapters_base_test.rb → coverband/adapters/base_test.rb} +1 -1
- data/test/{unit/adapters_file_store_test.rb → coverband/adapters/file_store_test.rb} +1 -1
- data/test/{unit/adapters_redis_store_test.rb → coverband/adapters/redis_store_test.rb} +27 -10
- data/test/coverband/collectors/coverage_test.rb +73 -0
- data/test/coverband/collectors/delta_test.rb +52 -0
- data/test/{unit → coverband}/coverband_test.rb +7 -0
- data/test/coverband/integrations/background_test.rb +31 -0
- data/test/{unit → coverband/integrations}/middleware_test.rb +2 -1
- data/test/{unit/rack_server_checkout_test.rb → coverband/integrations/rack_server_check_test.rb} +1 -1
- data/test/{unit → coverband/integrations}/resque_worker_test.rb +9 -3
- data/test/{unit/reports_base_test.rb → coverband/reporters/base_test.rb} +5 -5
- data/test/{unit/reports_console_test.rb → coverband/reporters/console_test.rb} +2 -2
- data/test/{unit/reports_html_test.rb → coverband/reporters/html_test.rb} +7 -8
- data/test/{unit/reports_web_test.rb → coverband/reporters/web_test.rb} +2 -2
- data/test/{unit → integration}/full_stack_test.rb +10 -8
- data/test/{unit → integration}/rails_full_stack_test.rb +23 -4
- data/test/rails4_dummy/config/application.rb +1 -1
- data/test/rails4_dummy/config/coverband.rb +4 -1
- data/test/rails4_dummy/tmp/.keep +0 -0
- data/test/rails5_dummy/config/application.rb +1 -1
- data/test/rails5_dummy/config/coverband.rb +3 -1
- data/test/rails5_dummy/tmp/.keep +0 -0
- data/test/rails_test_helper.rb +13 -8
- data/test/test_helper.rb +9 -13
- data/test/unique_files.rb +23 -0
- data/views/file_list.erb +9 -0
- data/views/gem_list.erb +1 -1
- data/views/layout.erb +4 -3
- data/views/source_file.erb +16 -4
- data/views/source_file_loader.erb +7 -0
- metadata +100 -59
- data/test/unit/background_test.rb +0 -28
- data/test/unit/collectors_coverage_test.rb +0 -53
- data/test/unit/rails_gems_full_stack_test.rb +0 -36
- /data/test/{unit → coverband}/at_exit_test.rb +0 -0
- /data/test/{unit → coverband}/configuration_test.rb +0 -0
- /data/test/{unit → coverband/integrations}/test_resque_job.rb +0 -0
- /data/test/{unit → coverband}/utils/file_groups_test.rb +0 -0
- /data/test/{unit → coverband}/utils/file_list_test.rb +0 -0
- /data/test/{unit → coverband}/utils/gem_list_test.rb +0 -0
- /data/test/{unit → coverband}/utils/lines_classifier_test.rb +0 -0
- /data/test/{unit → coverband}/utils/result_test.rb +0 -0
- /data/test/{unit → coverband}/utils/s3_report_test.rb +0 -0
- /data/test/{unit → coverband}/utils/source_file_line_test.rb +0 -0
- /data/test/{unit → coverband}/utils/source_file_test.rb +0 -0
- /data/test/{unit/dog.rb → dog.rb} +0 -0
data/lib/coverband.rb
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
require 'logger'
|
|
4
4
|
require 'json'
|
|
5
5
|
require 'redis'
|
|
6
|
-
|
|
7
6
|
require 'coverband/version'
|
|
8
7
|
require 'coverband/at_exit'
|
|
9
8
|
require 'coverband/configuration'
|
|
@@ -19,7 +18,7 @@ require 'coverband/utils/gem_list'
|
|
|
19
18
|
require 'coverband/utils/source_file'
|
|
20
19
|
require 'coverband/utils/file_groups'
|
|
21
20
|
require 'coverband/utils/lines_classifier'
|
|
22
|
-
require 'coverband/utils/
|
|
21
|
+
require 'coverband/utils/results'
|
|
23
22
|
require 'coverband/collectors/coverage'
|
|
24
23
|
require 'coverband/reporters/base'
|
|
25
24
|
require 'coverband/reporters/html_report'
|
|
@@ -29,10 +28,14 @@ require 'coverband/integrations/rack_server_check'
|
|
|
29
28
|
require 'coverband/reporters/web'
|
|
30
29
|
require 'coverband/integrations/middleware'
|
|
31
30
|
require 'coverband/integrations/background'
|
|
32
|
-
require 'coverband/integrations/resque' if defined? Resque
|
|
33
31
|
|
|
34
32
|
module Coverband
|
|
35
33
|
CONFIG_FILE = './config/coverband.rb'
|
|
34
|
+
RUNTIME_TYPE = nil
|
|
35
|
+
EAGER_TYPE = :eager_loading
|
|
36
|
+
MERGED_TYPE = :merged
|
|
37
|
+
TYPES = [RUNTIME_TYPE, EAGER_TYPE]
|
|
38
|
+
ALL_TYPES = TYPES + [:merged]
|
|
36
39
|
|
|
37
40
|
class << self
|
|
38
41
|
attr_accessor :configuration_data
|
|
@@ -48,6 +51,7 @@ module Coverband
|
|
|
48
51
|
else
|
|
49
52
|
configuration.logger&.debug('using default configuration')
|
|
50
53
|
end
|
|
54
|
+
coverage.reset_instance
|
|
51
55
|
end
|
|
52
56
|
|
|
53
57
|
def self.report_coverage(force_report = false)
|
|
@@ -60,14 +64,30 @@ module Coverband
|
|
|
60
64
|
|
|
61
65
|
def self.start
|
|
62
66
|
Coverband::Collectors::Coverage.instance
|
|
67
|
+
# TODO Railtie sets up at_exit after forks, via middleware, perhaps this hsould be
|
|
68
|
+
# added if not rails or if rails but not rackserverrunning
|
|
63
69
|
AtExit.register
|
|
64
70
|
Background.start if configuration.background_reporting_enabled && !RackServerCheck.running?
|
|
65
71
|
end
|
|
66
72
|
|
|
73
|
+
def self.eager_loading_coverage!
|
|
74
|
+
coverage.eager_loading!
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def self.runtime_coverage!
|
|
78
|
+
coverage.runtime!
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def self.coverage
|
|
82
|
+
Coverband::Collectors::Coverage.instance
|
|
83
|
+
end
|
|
84
|
+
|
|
67
85
|
unless ENV['COVERBAND_DISABLE_AUTO_START']
|
|
68
86
|
# Coverband should be setup as early as possible
|
|
69
87
|
# to capture usage of things loaded by initializers or other Rails engines
|
|
70
88
|
configure
|
|
71
89
|
start
|
|
90
|
+
require 'coverband/utils/railtie' if defined? ::Rails::Railtie
|
|
91
|
+
require 'coverband/integrations/resque' if defined? Resque
|
|
72
92
|
end
|
|
73
93
|
end
|