coverband 5.0.1 → 5.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/Gemfile.rails4 +2 -0
  4. data/Gemfile.rails6 +2 -0
  5. data/README.md +11 -2
  6. data/changes.md +7 -1
  7. data/lib/coverband/adapters/base.rb +5 -1
  8. data/lib/coverband/adapters/file_store.rb +1 -1
  9. data/lib/coverband/adapters/redis_store.rb +1 -1
  10. data/lib/coverband/collectors/view_tracker.rb +2 -4
  11. data/lib/coverband/utils/tasks.rb +1 -1
  12. data/lib/coverband/version.rb +1 -1
  13. data/test/forked/rails_full_stack_test.rb +1 -1
  14. data/test/forked/rails_full_stack_views_test.rb +48 -0
  15. data/test/forked/rails_view_tracker_stack_test.rb +44 -0
  16. data/test/rails4_dummy/app/controllers/dummy_view_controller.rb +16 -0
  17. data/test/rails4_dummy/app/views/dummy_view/show.html.erb +5 -0
  18. data/test/rails4_dummy/app/views/dummy_view/show_haml.html.haml +4 -0
  19. data/test/rails4_dummy/app/views/dummy_view/show_slim.html.slim +4 -0
  20. data/test/rails4_dummy/config/application.rb +1 -0
  21. data/test/rails4_dummy/config/routes.rb +3 -0
  22. data/test/rails5_dummy/app/controllers/dummy_view_controller.rb +16 -0
  23. data/test/rails5_dummy/app/views/dummy_view/show.html.erb +5 -0
  24. data/test/rails5_dummy/app/views/dummy_view/show_haml.html.haml +4 -0
  25. data/test/rails5_dummy/app/views/dummy_view/show_slim.html.slim +4 -0
  26. data/test/rails5_dummy/config/application.rb +2 -0
  27. data/test/rails5_dummy/config/coverband.rb +3 -1
  28. data/test/rails5_dummy/config/routes.rb +3 -0
  29. data/test/rails6_dummy/app/controllers/dummy_view_controller.rb +16 -0
  30. data/test/rails6_dummy/app/views/dummy_view/show.html.erb +5 -0
  31. data/test/rails6_dummy/app/views/dummy_view/show_haml.html.haml +4 -0
  32. data/test/rails6_dummy/app/views/dummy_view/show_slim.html.slim +4 -0
  33. data/test/rails6_dummy/config/application.rb +1 -0
  34. data/test/rails6_dummy/config/routes.rb +3 -0
  35. data/views/view_tracker.erb +2 -2
  36. metadata +30 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2869a30161428e6236dee380660fe39797c6fd6029225c4987d8de79cfce9019
4
- data.tar.gz: 43f2998da3c1735f452c71aaf93179d714933e4f7da11d420477155a8427ab85
3
+ metadata.gz: 3b98c9059d81fec16d880a8fad573126d84a01ca07a62ff5ffad37cae5291dbf
4
+ data.tar.gz: '01649a623307249c03338564770702c3f912a62ee478818fdb65864aba98194f'
5
5
  SHA512:
6
- metadata.gz: d083c07eb9c101e87f19902b9f7c531e4f06f7b7f8421912f77cd25d74340f1f6824d97059d410711b092a36e5a52dc01afa1ea30af714331fb3bdc905ac4ce7
7
- data.tar.gz: e1fd6726954fdb473fc21570207923942953faa3360ca4dfea9a6fb825fbb42fef77e3b593469f5a28e42f9a1e7115f96815822405ad26d34c113f364aa8ee69
6
+ metadata.gz: c9f5bf66e7dcb8c324f77f3fcbe7760f7b8a591c7060126f27917be485e35cd8b865d939a343db98f727fdaec93c9411eb02af30cf1e035bec0626ea16913973
7
+ data.tar.gz: 50bdcda8675352e9a98880e35de84229e744ed2a323dd4328870f2084cde8f39befecde59aaf55810d1b71d8c9f4f224aa71de22b031e2a4bb8f44cfe9bf32a1
data/Gemfile CHANGED
@@ -15,5 +15,7 @@ else
15
15
  end
16
16
 
17
17
  gem "rails", "~>5"
18
+ gem "haml"
19
+ gem "slim"
18
20
  # these gems are used for testing gem tracking
19
21
  gem "irb", require: false
@@ -5,3 +5,5 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in coverband.gemspec
6
6
  gemspec
7
7
  gem 'rails', '~>4'
8
+ gem "haml"
9
+ gem "slim"
@@ -5,3 +5,5 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in coverband.gemspec
6
6
  gemspec
7
7
  gem 'rails', '~>6'
8
+ gem "haml"
9
+ gem "slim"
data/README.md CHANGED
@@ -128,10 +128,16 @@ or you can enable basic auth by setting `ENV['COVERBAND_PASSWORD']` or via your
128
128
  The coverage server can also be started standalone with a rake task:
129
129
 
130
130
  ```
131
- bundle exec rake coverband:coverage_server
131
+ bundle exec rake coverband:coverage_server
132
132
  ```
133
133
 
134
- The web UI should then be available here: http://localhost:1022/
134
+ The web UI should then be available here: http://localhost:9022/
135
+
136
+ If you want to run on an alternative port:
137
+
138
+ ```
139
+ COVERBAND_COVERAGE_PORT=8086 bundle exec rake coverband:coverage_server
140
+ ```
135
141
 
136
142
  This is especially useful for projects that are api only and cannot support the mounted rack app. To get production coverage, point coverband at your production redis server and ensure to checkout the production version of your project code locally.
137
143
 
@@ -380,6 +386,9 @@ If you submit a change please make sure the tests and benchmarks are passing.
380
386
  - related it will try to report something, but the line numbers reported for `ERB` files are often off and aren't considered useful. I recommend filtering out .erb using the `config.ignore` option. The default configuration excludes these files
381
387
  - **NOTE:** We now have file level coverage for view files, but don't support line level detail
382
388
  - The view file detection doesn't workf or mailers at the moment only for web related views / JSON templates. This is due to how Rails active mailer notifications work.
389
+ - **Coverage does NOT work when used alongside Scout APM Auto Instrumentation**
390
+ - In an environment that uses Scout's `AUTO_INSTRUMENT=true` (usually production or staging) it stops reporting any coverage, it will show one or two files that have been loaded at the start but everything else will show up as having 0% coverage
391
+ - Bug tracked here: https://github.com/scoutapp/scout_apm_ruby/issues/343
383
392
 
384
393
  ### Debugging Redis Store
385
394
 
data/changes.md CHANGED
@@ -53,12 +53,18 @@ Will be the fully modern release that drops maintenance legacy support in favor
53
53
 
54
54
  # Alpha / Beta / Release Candidates
55
55
 
56
- ### Coverband 5.0.2
56
+ ### Coverband 5.0.3
57
57
 
58
58
  - ?
59
59
 
60
60
  # Released
61
61
 
62
+ ### Coverband 5.0.2
63
+
64
+ - change default port of local server
65
+ - update on readme about issue with scout app, thanks @mrbongiolo
66
+ - fix on configuration page not loading when redis can't load
67
+
62
68
  ### Coverband 5.0.1
63
69
 
64
70
  - fix for race condition on view tracker redis configuration setting ensuring it is set after it is configured... bug only impacted apps that have multiple redis connections for the same system and have Coverband not on the default REDIS_URL
@@ -40,7 +40,11 @@ module Coverband
40
40
  end
41
41
 
42
42
  def size_in_mib
43
- format("%<size>.2f", size: (size.to_f / 2**20))
43
+ if size
44
+ format("%<size>.2f", size: (size.to_f / 2**20))
45
+ else
46
+ "N/A"
47
+ end
44
48
  end
45
49
 
46
50
  def save_report(_report)
@@ -20,7 +20,7 @@ module Coverband
20
20
  # files matching the path pattern, in this case `log/coverage.log.*`
21
21
  #
22
22
  # run: `bundle exec rake coverband:coverage_server`
23
- # open http://localhost:1022/
23
+ # open http://localhost:9022/
24
24
  #
25
25
  # one could also build a report via code, the output is suitable to feed into SimpleCov
26
26
  #
@@ -44,7 +44,7 @@ module Coverband
44
44
  end
45
45
 
46
46
  def size
47
- @redis.get(base_key).bytesize
47
+ @redis.get(base_key) ? @redis.get(base_key).bytesize : "N/A"
48
48
  end
49
49
 
50
50
  ###
@@ -10,22 +10,20 @@ module Coverband
10
10
  # This is a port of Flatfoot, a project I open sourced years ago,
11
11
  # but am now rolling into Coverband
12
12
  # https://github.com/livingsocial/flatfoot
13
- #
14
- # TODO: test and ensure slim, haml, and other support
15
13
  ###
16
14
  class ViewTracker
17
- DEFAULT_TARGET = Dir.glob("app/views/**/*.html.erb").reject { |file| file.match(/(_mailer)/) }
18
15
  attr_accessor :target, :logged_views, :views_to_record
19
16
  attr_reader :logger, :roots, :store, :ignore_patterns
20
17
 
21
18
  def initialize(options = {})
22
19
  raise NotImplementedError, "View Tracker requires Rails 4 or greater" unless self.class.supported_version?
20
+ raise "Coverband: view tracker initialized before configuration!" if !Coverband.configured? && ENV["COVERBAND_TEST"] == "test"
23
21
 
24
22
  @project_directory = File.expand_path(Coverband.configuration.root)
25
23
  @ignore_patterns = Coverband.configuration.ignore
26
24
  @store = options.fetch(:store) { Coverband.configuration.store }
27
25
  @logger = options.fetch(:logger) { Coverband.configuration.logger }
28
- @target = options.fetch(:target) { DEFAULT_TARGET }
26
+ @target = options.fetch(:target) { Dir.glob("#{@project_directory}/app/views/**/*.html.{erb,haml,slim}").reject { |file| file.match(/(_mailer)/) }.freeze }
29
27
 
30
28
  @roots = options.fetch(:roots) { Coverband.configuration.all_root_patterns }
31
29
  @roots = @roots.split(",") if @roots.is_a?(String)
@@ -13,7 +13,7 @@ namespace :coverband do
13
13
  task :coverage_server do
14
14
  Rake.application["environment"].invoke if Rake::Task.task_defined?("environment")
15
15
  Coverband.configuration.store.merge_mode = true if Coverband.configuration.store.is_a?(Coverband::Adapters::FileStore)
16
- Rack::Server.start app: Coverband::Reporters::Web.new, Port: ENV.fetch("COVERBAND_COVERAGE_PORT", 1022).to_i
16
+ Rack::Server.start app: Coverband::Reporters::Web.new, Port: ENV.fetch("COVERBAND_COVERAGE_PORT", 9022).to_i
17
17
  end
18
18
 
19
19
  ###
@@ -5,5 +5,5 @@
5
5
  # use format '4.2.1.rc.1' ~> 4.2.1.rc to prerelease versions like v4.2.1.rc.2 and v4.2.1.rc.3
6
6
  ###
7
7
  module Coverband
8
- VERSION = "5.0.1"
8
+ VERSION = "5.0.2"
9
9
  end
@@ -35,7 +35,7 @@ class RailsFullStackTest < Minitest::Test
35
35
  end
36
36
 
37
37
  # Test eager load data stored separately
38
- dummy_controller = "./test/rails#{Rails::VERSION::MAJOR}_dummy/app/controllers/dummy_controller.rb"
38
+ dummy_controller = "./app/controllers/dummy_controller.rb"
39
39
  store.type = :eager_loading
40
40
  eager_expected = [1, 1, 0, nil, nil]
41
41
  results = store.coverage[dummy_controller]["data"]
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path("../rails_test_helper", File.dirname(__FILE__))
4
+
5
+ class RailsFullStackTest < Minitest::Test
6
+ include Capybara::DSL
7
+ include Capybara::Minitest::Assertions
8
+
9
+ def setup
10
+ super
11
+ rails_setup
12
+ Coverband.report_coverage
13
+ end
14
+
15
+ def teardown
16
+ super
17
+ Capybara.reset_sessions!
18
+ Capybara.use_default_driver
19
+ end
20
+
21
+ test "verify erb haml slim support" do
22
+ visit "/dummy_view/show"
23
+ assert_content("I am no dummy view tracker text")
24
+ Coverband.report_coverage
25
+ Coverband.configuration.view_tracker&.report_views_tracked
26
+ visit "/coverage/view_tracker"
27
+ assert_content("Used Views: (1)")
28
+ assert_selector("li.used-views", text: "dummy_view/show.html.erb")
29
+ assert_selector("li.unused-views", text: "dummy_view/show_haml.html.haml")
30
+ assert_selector("li.unused-views", text: "dummy_view/show_slim.html.slim")
31
+
32
+ visit "/dummy_view/show_haml"
33
+ assert_content("I am haml text")
34
+ Coverband.report_coverage
35
+ Coverband.configuration.view_tracker&.report_views_tracked
36
+ visit "/coverage/view_tracker"
37
+ assert_content("Used Views: (2)")
38
+ assert_selector("li.used-views", text: "dummy_view/show_haml.html.haml")
39
+
40
+ visit "/dummy_view/show_slim"
41
+ assert_content("I am slim text")
42
+ Coverband.report_coverage
43
+ Coverband.configuration.view_tracker&.report_views_tracked
44
+ visit "/coverage/view_tracker"
45
+ assert_content("Used Views: (3)")
46
+ assert_selector("li.used-views", text: "dummy_view/show_slim.html.slim")
47
+ end
48
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path("../rails_test_helper", File.dirname(__FILE__))
4
+
5
+ class RailsWithoutConfigStackTest < Minitest::Test
6
+ def setup
7
+ super
8
+ setup_server
9
+ end
10
+
11
+ def teardown
12
+ super
13
+ shutdown_server
14
+ end
15
+
16
+ test "check view tracker" do
17
+ output = `sleep 7 && curl http://localhost:9999/dummy_view/show`
18
+ assert output.match(/rendered view/)
19
+ assert output.match(/I am no dummy view tracker text/)
20
+ output = `sleep 1 && curl http://localhost:9999/coverage/view_tracker`
21
+ assert output.match(/Used Views: \(1\)/)
22
+ assert output.match(/dummy_view\/show/)
23
+ end
24
+
25
+ private
26
+
27
+ # NOTE: We aren't leveraging Capybara because it loads all of our other test helpers and such,
28
+ # which in turn Configures coverband making it impossible to test the configuration error
29
+ def setup_server
30
+ ENV["RAILS_ENV"] = "test"
31
+ require "rails"
32
+ fork do
33
+ exec "cd test/rails#{Rails::VERSION::MAJOR}_dummy && COVERBAND_TEST=test bundle exec rackup config.ru -p 9999 --pid /tmp/testrack.pid"
34
+ end
35
+ end
36
+
37
+ def shutdown_server
38
+ if File.exist?("/tmp/testrack.pid")
39
+ pid = `cat /tmp/testrack.pid`&.strip&.to_i
40
+ Process.kill("HUP", pid)
41
+ sleep 1
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,16 @@
1
+ class DummyViewController < ActionController::Base
2
+ def show
3
+ @text = "I am no dummy view tracker text"
4
+ render layout: false
5
+ end
6
+
7
+ def show_haml
8
+ @text = "I am haml text"
9
+ render layout: false
10
+ end
11
+
12
+ def show_slim
13
+ @text = "I am slim text"
14
+ render layout: false
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ rendered view
2
+
3
+ <div>
4
+ <%= @text %>
5
+ </div>
@@ -0,0 +1,4 @@
1
+ rendered haml view
2
+
3
+ #foo
4
+ = @text
@@ -0,0 +1,4 @@
1
+ rendered slim view
2
+
3
+ #content
4
+ = @text
@@ -10,5 +10,6 @@ Bundler.require(*Rails.groups)
10
10
  module Rails4Dummy
11
11
  class Application < Rails::Application
12
12
  config.eager_load = true
13
+ config.consider_all_requests_local = true
13
14
  end
14
15
  end
@@ -1,4 +1,7 @@
1
1
  Rails.application.routes.draw do
2
2
  get "dummy/show"
3
+ get "dummy_view/show", to: "dummy_view#show"
4
+ get "dummy_view/show_haml", to: "dummy_view#show_haml"
5
+ get "dummy_view/show_slim", to: "dummy_view#show_slim"
3
6
  mount Coverband::Reporters::Web.new, at: "/coverage"
4
7
  end
@@ -0,0 +1,16 @@
1
+ class DummyViewController < ActionController::Base
2
+ def show
3
+ @text = "I am no dummy view tracker text"
4
+ render layout: false
5
+ end
6
+
7
+ def show_haml
8
+ @text = "I am haml text"
9
+ render layout: false
10
+ end
11
+
12
+ def show_slim
13
+ @text = "I am slim text"
14
+ render layout: false
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ rendered view
2
+
3
+ <div>
4
+ <%= @text %>
5
+ </div>
@@ -0,0 +1,4 @@
1
+ rendered haml view
2
+
3
+ #foo
4
+ = @text
@@ -0,0 +1,4 @@
1
+ rendered slim view
2
+
3
+ #content
4
+ = @text
@@ -2,11 +2,13 @@
2
2
 
3
3
  require "rails"
4
4
  require "action_controller/railtie"
5
+ require "action_view/railtie"
5
6
  require "coverband"
6
7
  Bundler.require(*Rails.groups)
7
8
 
8
9
  module Rails5Dummy
9
10
  class Application < Rails::Application
10
11
  config.eager_load = true
12
+ config.consider_all_requests_local = true
11
13
  end
12
14
  end
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  Coverband.configure do |config|
4
- config.root = Dir.pwd
4
+ # NOTE: we reuse this config in each of the fake rails projects
5
+ # the below ensures the root is set to the correct fake project
6
+ config.root = ::File.expand_path("../../../", __FILE__).to_s + "/rails#{Rails::VERSION::MAJOR}_dummy"
5
7
  config.store = Coverband::Adapters::RedisStore.new(Redis.new(db: 2, url: ENV["REDIS_URL"]), redis_namespace: "coverband_test") if defined? Redis
6
8
  config.ignore = %w[.erb$ .slim$]
7
9
  config.root_paths = []
@@ -1,4 +1,7 @@
1
1
  Rails.application.routes.draw do
2
2
  get "dummy/show"
3
+ get "dummy_view/show", to: "dummy_view#show"
4
+ get "dummy_view/show_haml", to: "dummy_view#show_haml"
5
+ get "dummy_view/show_slim", to: "dummy_view#show_slim"
3
6
  mount Coverband::Reporters::Web.new, at: "/coverage"
4
7
  end
@@ -0,0 +1,16 @@
1
+ class DummyViewController < ActionController::Base
2
+ def show
3
+ @text = "I am no dummy view tracker text"
4
+ render layout: false
5
+ end
6
+
7
+ def show_haml
8
+ @text = "I am haml text"
9
+ render layout: false
10
+ end
11
+
12
+ def show_slim
13
+ @text = "I am slim text"
14
+ render layout: false
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ rendered view
2
+
3
+ <div>
4
+ <%= @text %>
5
+ </div>
@@ -0,0 +1,4 @@
1
+ rendered haml view
2
+
3
+ #foo
4
+ = @text
@@ -0,0 +1,4 @@
1
+ rendered slim view
2
+
3
+ #content
4
+ = @text
@@ -10,5 +10,6 @@ Bundler.require(*Rails.groups)
10
10
  module Rails6Dummy
11
11
  class Application < Rails::Application
12
12
  config.eager_load = true
13
+ config.consider_all_requests_local = true
13
14
  end
14
15
  end
@@ -1,4 +1,7 @@
1
1
  Rails.application.routes.draw do
2
2
  get "dummy/show"
3
+ get "dummy_view/show", to: "dummy_view#show"
4
+ get "dummy_view/show_haml", to: "dummy_view#show_haml"
5
+ get "dummy_view/show_slim", to: "dummy_view#show_slim"
3
6
  mount Coverband::Reporters::Web.new, at: "/coverage"
4
7
  end
@@ -26,7 +26,7 @@
26
26
  <p>These views have not been rendered since recording started at <%= tracker.tracking_since %></p>
27
27
  <ul>
28
28
  <% tracker.unused_views.each do |view_file| %>
29
- <li><%= view_file %></li>
29
+ <li class="unused-views"><%= view_file %></li>
30
30
  <% end %>
31
31
  </ul>
32
32
 
@@ -34,7 +34,7 @@
34
34
  <p>These views have been rendered at least once</p>
35
35
  <ul>
36
36
  <% tracker.used_views.each_pair do |view_file, time_at| %>
37
- <li>
37
+ <li class="used-views">
38
38
  <%= view_file %>
39
39
  <span class="last_seen_at">last activity recorded <%= Time.at(time_at.to_i)%></span>
40
40
  <% if Coverband.configuration.web_enable_clear %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coverband
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.1
4
+ version: 5.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Mayer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-09-07 00:00:00.000000000 Z
12
+ date: 2020-09-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: benchmark-ips
@@ -402,11 +402,17 @@ files:
402
402
  - test/fixtures/skipped_and_executed.rb
403
403
  - test/fixtures/utf-8.rb
404
404
  - test/forked/rails_full_stack_test.rb
405
+ - test/forked/rails_full_stack_views_test.rb
405
406
  - test/forked/rails_rake_full_stack_test.rb
407
+ - test/forked/rails_view_tracker_stack_test.rb
406
408
  - test/integration/full_stack_test.rb
407
409
  - test/jruby_check.rb
408
410
  - test/rails4_dummy/Rakefile
409
411
  - test/rails4_dummy/app/controllers/dummy_controller.rb
412
+ - test/rails4_dummy/app/controllers/dummy_view_controller.rb
413
+ - test/rails4_dummy/app/views/dummy_view/show.html.erb
414
+ - test/rails4_dummy/app/views/dummy_view/show_haml.html.haml
415
+ - test/rails4_dummy/app/views/dummy_view/show_slim.html.slim
410
416
  - test/rails4_dummy/config.ru
411
417
  - test/rails4_dummy/config/application.rb
412
418
  - test/rails4_dummy/config/boot.rb
@@ -418,6 +424,10 @@ files:
418
424
  - test/rails4_dummy/tmp/.keep
419
425
  - test/rails5_dummy/Rakefile
420
426
  - test/rails5_dummy/app/controllers/dummy_controller.rb
427
+ - test/rails5_dummy/app/controllers/dummy_view_controller.rb
428
+ - test/rails5_dummy/app/views/dummy_view/show.html.erb
429
+ - test/rails5_dummy/app/views/dummy_view/show_haml.html.haml
430
+ - test/rails5_dummy/app/views/dummy_view/show_slim.html.slim
421
431
  - test/rails5_dummy/config.ru
422
432
  - test/rails5_dummy/config/application.rb
423
433
  - test/rails5_dummy/config/coverband.rb
@@ -427,6 +437,10 @@ files:
427
437
  - test/rails5_dummy/tmp/.keep
428
438
  - test/rails6_dummy/Rakefile
429
439
  - test/rails6_dummy/app/controllers/dummy_controller.rb
440
+ - test/rails6_dummy/app/controllers/dummy_view_controller.rb
441
+ - test/rails6_dummy/app/views/dummy_view/show.html.erb
442
+ - test/rails6_dummy/app/views/dummy_view/show_haml.html.haml
443
+ - test/rails6_dummy/app/views/dummy_view/show_slim.html.slim
430
444
  - test/rails6_dummy/config.ru
431
445
  - test/rails6_dummy/config/application.rb
432
446
  - test/rails6_dummy/config/boot.rb
@@ -520,11 +534,17 @@ test_files:
520
534
  - test/fixtures/skipped_and_executed.rb
521
535
  - test/fixtures/utf-8.rb
522
536
  - test/forked/rails_full_stack_test.rb
537
+ - test/forked/rails_full_stack_views_test.rb
523
538
  - test/forked/rails_rake_full_stack_test.rb
539
+ - test/forked/rails_view_tracker_stack_test.rb
524
540
  - test/integration/full_stack_test.rb
525
541
  - test/jruby_check.rb
526
542
  - test/rails4_dummy/Rakefile
527
543
  - test/rails4_dummy/app/controllers/dummy_controller.rb
544
+ - test/rails4_dummy/app/controllers/dummy_view_controller.rb
545
+ - test/rails4_dummy/app/views/dummy_view/show.html.erb
546
+ - test/rails4_dummy/app/views/dummy_view/show_haml.html.haml
547
+ - test/rails4_dummy/app/views/dummy_view/show_slim.html.slim
528
548
  - test/rails4_dummy/config.ru
529
549
  - test/rails4_dummy/config/application.rb
530
550
  - test/rails4_dummy/config/boot.rb
@@ -536,6 +556,10 @@ test_files:
536
556
  - test/rails4_dummy/tmp/.keep
537
557
  - test/rails5_dummy/Rakefile
538
558
  - test/rails5_dummy/app/controllers/dummy_controller.rb
559
+ - test/rails5_dummy/app/controllers/dummy_view_controller.rb
560
+ - test/rails5_dummy/app/views/dummy_view/show.html.erb
561
+ - test/rails5_dummy/app/views/dummy_view/show_haml.html.haml
562
+ - test/rails5_dummy/app/views/dummy_view/show_slim.html.slim
539
563
  - test/rails5_dummy/config.ru
540
564
  - test/rails5_dummy/config/application.rb
541
565
  - test/rails5_dummy/config/coverband.rb
@@ -545,6 +569,10 @@ test_files:
545
569
  - test/rails5_dummy/tmp/.keep
546
570
  - test/rails6_dummy/Rakefile
547
571
  - test/rails6_dummy/app/controllers/dummy_controller.rb
572
+ - test/rails6_dummy/app/controllers/dummy_view_controller.rb
573
+ - test/rails6_dummy/app/views/dummy_view/show.html.erb
574
+ - test/rails6_dummy/app/views/dummy_view/show_haml.html.haml
575
+ - test/rails6_dummy/app/views/dummy_view/show_slim.html.slim
548
576
  - test/rails6_dummy/config.ru
549
577
  - test/rails6_dummy/config/application.rb
550
578
  - test/rails6_dummy/config/boot.rb