From b213ba109a34bae075d7913f5e50e54c29149ca1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 02:17:34 +0000 Subject: [PATCH 1/6] Initial plan From 0f85ebd2fdc69cf754535ba597b9dadc16bf422a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 02:21:57 +0000 Subject: [PATCH 2/6] Add coverage target with rcov support Co-authored-by: kwerle <23320+kwerle@users.noreply.github.com> --- Makefile | 3 +++ ruby_language_server.gemspec | 1 + 2 files changed, 4 insertions(+) diff --git a/Makefile b/Makefile index 4c7d0b6..e4fd67a 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,9 @@ console: image test: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rake test && bundle exec rubocop' +coverage: image + docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'gem install rcov && bundle exec rcov spec/**/*_spec.rb' + shell: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh diff --git a/ruby_language_server.gemspec b/ruby_language_server.gemspec index 820e875..e6344e8 100644 --- a/ruby_language_server.gemspec +++ b/ruby_language_server.gemspec @@ -53,6 +53,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'rake' # required by guard :-( spec.add_development_dependency 'rb-readline' + spec.add_development_dependency 'rcov' spec.add_development_dependency 'rubocop', '>1.38.0' # Something broke in 1.38.0. Move to rubocop --server? spec.add_development_dependency 'rubocop-ast', '>1.32.0' # Something broke in 1.38.0. Move to rubocop --server? spec.add_development_dependency 'rubocop-minitest' From 1187c7e7fe764314b43d775bf45e2a6cc4f96465 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 02:23:32 +0000 Subject: [PATCH 3/6] Add include paths to rcov command for proper test execution Co-authored-by: kwerle <23320+kwerle@users.noreply.github.com> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e4fd67a..e08cae5 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ test: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rake test && bundle exec rubocop' coverage: image - docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'gem install rcov && bundle exec rcov spec/**/*_spec.rb' + docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'gem install rcov && bundle exec rcov -Ilib:spec spec/**/*_spec.rb' shell: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh From c85754340c8ec9ffac20678e03c9b6bdbb6c4fd8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 02:24:20 +0000 Subject: [PATCH 4/6] Remove redundant gem install from coverage target Co-authored-by: kwerle <23320+kwerle@users.noreply.github.com> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e08cae5..0aca956 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ test: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rake test && bundle exec rubocop' coverage: image - docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'gem install rcov && bundle exec rcov -Ilib:spec spec/**/*_spec.rb' + docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rcov -Ilib:spec spec/**/*_spec.rb' shell: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh From 4ef35a38f3992b2c44a9efbb68279fa559fcbd08 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 02:30:16 +0000 Subject: [PATCH 5/6] Remove -it flags from coverage target Co-authored-by: kwerle <23320+kwerle@users.noreply.github.com> --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 0aca956..480519b 100644 --- a/Makefile +++ b/Makefile @@ -26,7 +26,7 @@ test: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rake test && bundle exec rubocop' coverage: image - docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rcov -Ilib:spec spec/**/*_spec.rb' + docker run --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rcov -Ilib:spec spec/**/*_spec.rb' shell: image docker run -it --rm $(LOCAL_LINK) $(PROJECT_NAME) sh From f38436f83b72ebbb130d18aedaceeb58e4361cd1 Mon Sep 17 00:00:00 2001 From: Kurt Werle Date: Tue, 30 Dec 2025 19:15:37 -0800 Subject: [PATCH 6/6] Use simplecov instead of rcov --- .gitignore | 1 + Gemfile.lock | 12 ++++++++++++ Makefile | 2 +- ruby_language_server.gemspec | 2 +- spec/test_helper.rb | 8 ++++++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6580b98..bffc7ad 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.gem .Trash* *.log +coverage diff --git a/Gemfile.lock b/Gemfile.lock index 09ebfc9..488adff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,6 +49,7 @@ GEM debug (1.11.1) irb (~> 1.10) reline (>= 0.3.8) + docile (1.4.1) drb (2.2.3) erb (6.0.1) etc (1.4.6) @@ -165,6 +166,12 @@ GEM ruby-progressbar (1.13.0) securerandom (0.4.1) shellany (0.0.1) + simplecov (0.22.0) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.13.2) + simplecov_json_formatter (0.1.4) sqlite3 (2.9.0-aarch64-linux-musl) stringio (3.2.0) sync (0.5.0) @@ -202,6 +209,7 @@ DEPENDENCIES rubocop-rake rubocop-rspec ruby_language_server! + simplecov CHECKSUMS activemodel (8.1.1) @@ -218,6 +226,7 @@ CHECKSUMS connection_pool (3.0.2) date (3.5.1) debug (1.11.1) + docile (1.4.1) drb (2.2.3) erb (6.0.1) etc (1.4.6) @@ -271,6 +280,9 @@ CHECKSUMS ruby_language_server (0.4.2) securerandom (0.4.1) shellany (0.0.1) + simplecov (0.22.0) + simplecov-html (0.13.2) + simplecov_json_formatter (0.1.4) sqlite3 (2.9.0-aarch64-linux-musl) stringio (3.2.0) sync (0.5.0) diff --git a/Makefile b/Makefile index 378981b..d8cf9e7 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ test: image ./bin/run_in_shell "bundle exec rake test && bundle exec rubocop" coverage: image - docker run --rm $(LOCAL_LINK) $(PROJECT_NAME) sh -c 'bundle exec rcov -Ilib:spec spec/**/*_spec.rb' + ./bin/run_in_shell "COVERAGE=true bundle exec rake test" shell: image ./bin/run_in_shell sh diff --git a/ruby_language_server.gemspec b/ruby_language_server.gemspec index 99295cd..a43d72a 100644 --- a/ruby_language_server.gemspec +++ b/ruby_language_server.gemspec @@ -53,12 +53,12 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest-reporters' spec.add_development_dependency 'rake' # required by guard :-( spec.add_development_dependency 'rb-readline' - spec.add_development_dependency 'rcov' spec.add_development_dependency 'rubocop', '>1.38.0' # Something broke in 1.38.0. Move to rubocop --server? spec.add_development_dependency 'rubocop-ast', '>1.32.0' # Something broke in 1.38.0. Move to rubocop --server? spec.add_development_dependency 'rubocop-minitest' spec.add_development_dependency 'rubocop-performance' # Linter - no longer needed - use additional gems? spec.add_development_dependency 'rubocop-rake' spec.add_development_dependency 'rubocop-rspec' # Linter - no longer needed - use additional gems? + spec.add_development_dependency 'simplecov' spec.metadata['rubygems_mfa_required'] = 'true' end diff --git a/spec/test_helper.rb b/spec/test_helper.rb index 634f87c..d881380 100644 --- a/spec/test_helper.rb +++ b/spec/test_helper.rb @@ -1,5 +1,13 @@ # frozen_string_literal: true +if ENV['COVERAGE'] + require 'simplecov' + SimpleCov.start do + add_filter '/spec/' + add_filter '/vendor/' + end +end + require 'debug' require 'ostruct' require_relative '../lib/ruby_language_server'