Skip to content

Conversation

Blacksmoke16
Copy link
Member

@Blacksmoke16 Blacksmoke16 commented Jan 20, 2025

Context

As primarily a one person developer, I rely heavily on Athena's test suite to ensure things are working as expected as I make changes. The recent push to better integrate code coverage reporting is a direct result of this.

This PR makes some minor tweaks to how coverage is handled locally and does a pass on the methods flagged via crystal tool unreachable, fixing a fair amount of holes in Athena's test coverage and fixes several bugs as a result.

Changelog

  • Breaking: Rename ACON::Completion::Input#must_suggest_values_for? to ACON::Completion::Input#must_suggest_option_values_for? to better describe what it does
  • Clear component coverage/ dir when running coverage specs for that component
  • Include spec/ directories in code coverage reporting to allow capturing duplicate named spec methods
  • Fix typing of #now and #clock= for Athena::Clock::Aware
  • Fix various methods that were failing once they started being used
  • Improve test coverage in most components

Before merging, remember to add the athena-framework/athena prefix to the PR number in the PR title

Copy link

codecov bot commented Jan 20, 2025

Codecov Report

Attention: Patch coverage is 99.79381% with 1 line in your changes missing coverage. Please review.

✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/components/console/spec/helper/table_spec.cr 0.00% 1 Missing ⚠️
Flag Coverage Δ
compiled 20.14% <5.99%> (+12.01%) ⬆️
unit 96.49% <99.79%> (+3.70%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
clock 100.00% <100.00%> (+1.81%) ⬆️
console 97.09% <99.46%> (+4.34%) ⬆️
dependency_injection 98.05% <ø> (+33.76%) ⬆️
dotenv 98.58% <ø> (+1.77%) ⬆️
event_dispatcher 95.46% <100.00%> (+12.71%) ⬆️
framework 98.13% <100.00%> (+4.02%) ⬆️
image_size 96.63% <100.00%> (+1.60%) ⬆️
mercure 94.95% <100.00%> (+1.58%) ⬆️
negotiation 97.94% <100.00%> (+0.25%) ⬆️
routing 98.39% <100.00%> (+5.43%) ⬆️
serializer 96.55% <ø> (+9.31%) ⬆️
spec 96.29% <ø> (+2.74%) ⬆️
validator 95.87% <100.00%> (+3.47%) ⬆️

📢 Thoughts on this report? Let us know!

@Blacksmoke16 Blacksmoke16 added kind:bug An existing feature isn't working as expected kind:specs breaking and removed kind:enhancement New functionality to an existing feature labels Jan 20, 2025
@Blacksmoke16 Blacksmoke16 marked this pull request as ready for review January 20, 2025 14:36
@Blacksmoke16 Blacksmoke16 merged commit a8c6731 into master Jan 20, 2025
13 of 14 checks passed
@Blacksmoke16 Blacksmoke16 deleted the coverage-tweaks branch January 20, 2025 16:22
PallasAthenaie pushed a commit to athena-framework/clock that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/console that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/event-dispatcher that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/image-size that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/framework that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/mercure that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/negotiation that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/routing that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
PallasAthenaie pushed a commit to athena-framework/validator that referenced this pull request Jan 20, 2025
* Breaking: Rename `ACON::Completion::Input#must_suggest_values_for?` to `#must_suggest_option_values_for?` to better describe what it does
* Clear component `coverage/` dir when running coverage specs for that component
* Include `spec/` directories in code coverage reporting to allow capturing duplicate named spec methods
* Fix typing of `#now` and `#clock=` for `Athena::Clock::Aware`
* Fix various methods that were failing once they started being used
* Improve test coverage in most components
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

1 participant