Conversation
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
As target forwarding
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1392 +/- ##
==========================================
+ Coverage 71.29% 71.71% +0.41%
==========================================
Files 292 292
Lines 19564 19564
==========================================
+ Hits 13948 14030 +82
+ Misses 5034 4952 -82
Partials 582 582 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
hwbrzzl
left a comment
There was a problem hiding this comment.
✅ APPROVE - Good bug fix and comprehensive test coverage
Key improvements:
- Fixed critical bug in
As()that double-wrapped the target pointer - Added thorough test coverage for previously untested helpers
- Tests cover both positive and negative cases appropriately
|
|
||
| func As(err error, target any) bool { | ||
| return errors.As(err, &target) | ||
| return errors.As(err, target) |
There was a problem hiding this comment.
✅ Critical fix: Correct! The previous implementation errors.As(err, &target) was double-wrapping the pointer since callers already pass &target. This fix ensures proper type matching behavior.
| t.Run("As matches wrapped custom error", func(t *testing.T) { | ||
| base := &customError{} | ||
| err := fmt.Errorf("outer: %w", base) | ||
|
|
There was a problem hiding this comment.
✅ Good coverage: Tests both positive match case and the critical behavior that As correctly unwraps to find the target type in the error chain.
| assert.Equal(t, base, target) | ||
| }) | ||
|
|
||
| t.Run("As returns false when type does not match", func(t *testing.T) { |
There was a problem hiding this comment.
✅ Good negative test: Ensures As correctly returns false when the error chain doesn't contain the target type.
| }) | ||
| } | ||
|
|
||
| func TestUnwrap(t *testing.T) { |
There was a problem hiding this comment.
✅ Comprehensive: Tests both wrapped and nil cases for Unwrap, covering the main code paths.
| assert.Nil(t, Unwrap(nil)) | ||
| } | ||
|
|
||
| func TestIgnore(t *testing.T) { |
There was a problem hiding this comment.
✅ Good test: Verifies that Ignore executes the callback and discards the error, which is its core behavior.
| assert.True(t, called) | ||
| } | ||
|
|
||
| func TestJoin(t *testing.T) { |
There was a problem hiding this comment.
✅ Thorough: Tests that Join creates a combined error that preserves individual error identity via Is, which is the key contract for joined errors.
|
@copilot There are some comments, but they may not all be correct. Check and fix them if needed. |
I reviewed all new comments and verified the implementation/tests in this PR. No additional fixes were needed—the |
|
@copilot Why not add more test cases for Process, Packages, Log, Schedule as the ticket said? |
This PR is intentionally scoped to the Errors slice only (issue #899), and the changes in |
|
Implement them in this PR @copilot |
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Implemented in this PR. Added targeted coverage for Process, Packages, Log, and Schedule (service provider tests, schedule runner tests, and packages Paths coverage), then refined per review feedback in |
As target forwarding| }) | ||
| } | ||
|
|
||
| func TestServiceProviderBoot(t *testing.T) { |
There was a problem hiding this comment.
What are you testing? there is no assertion
here.
There was a problem hiding this comment.
Added an explicit assertion in 685caaa: this test now uses assert.NotPanics around ServiceProvider.Boot(nil) so it verifies boot behavior rather than making an unasserted call. No UI changes in this PR.
| provider.Register(app) | ||
| } | ||
|
|
||
| func TestServiceProviderBoot(t *testing.T) { |
There was a problem hiding this comment.
Fixed in 685caaa as well: process Boot test now asserts assert.NotPanics for ServiceProvider.Boot(nil) instead of an unasserted invocation. No UI changes in this PR.
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com>
* chore: Update upgrade DB packages (#1374) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Internalize file rotation logic from goravel/file-rotatelogs (#1375) * Initial plan * Implement internal file rotation to replace goravel/file-rotatelogs Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Improve cleanup logic with glob pattern matching and add comprehensive tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Address code review feedback: fix trailing whitespace, add cleanup wait, and make tests deterministic Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * optimize --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> * chore: Update non-major dependencies (#1373) * chore: Update non-major dependencies * optimize * optimize * renovate/non-major-dependencies * optimize --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> * feat: [#726] Add HTTP server and client telemetry instrumentation [5] (#1326) * add http middleware * add http transport * optimise http telemetry package * add test cases for Telemetry middleware * add auto instrumentation configs * add config to enable Telemetry for http clients * add docs for config facade * add ConfigFacade nil warning * disable default telemetry * optimise transport * add kill switch for instrumentation * update the stubs * remove unnecessary handler * optimise log instrumentation * move route registration in the end * lazily initialize middleware and transport to work with new application_builder * optimise channel test * optimise channel test * accept telemetry facade as an input instead of using global instance * use a callback to resolve the telemetry facade instance * optimise grpc handler to remove usage of telemetry and config facade * optimise the grpc handler * use telemetry transport if enabled * optimise http auto instrumentation * optimize log test cases * optimise * optimise * optimise * optimise * revert PR#1357 * fix log test cases * revert GRPC changes * optimise middleware * remove zipkin trace driver * correct GRPC enable condition * correct http transport enable condition * correct log channel enable condition * update go mod * fix test cases * fix test cases * fix test cases * fix tests --------- Co-authored-by: Bowen <hwbrzzl@gmail.com> * chore: optimize runner tests for Windows (#1377) Co-authored-by: Bowen <hwbrzzl@github.com> * chore: Update non-major dependencies (#1378) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix: runner stuck (#1381) * fix: runner stuck * optimize * optimize * optimize * optimize * optimize * chore: Update non-major dependencies (#1382) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * feat: [#849] Add table support to the console context (#1380) * add table function in cli * add test cases for new method Table * update mocks * add column level styles * fix lint error * move style vars to new file * add GlobalHuhTheme * update go mod tidy * feat: [#546] artisan command up and down to set website Maintenance mode (#1198) * Add up and down command * Use file helper to create files and add unit tests * Fix the foundation.App dependency * Use support/path instead of foundation.App * Add unit test case * Add some missing checks * Add more missing checks * One more * Fix tmpfile path * Use T.TempDir instead of os.TempDir in tests * Add reason to the down command * Add option to the tests * Change the maintenance file name * close created file handles * Defer abort * Fix the linter issue * Add more options to the down command * Use options * Check for maintenance mode respond * Fix down_command_test * Add more unit test cases * Fix more lint issues * Fix lint issue * fix tests * fix tests * fix tests * fix tests * Address PR comments * Fix check_for_maintenance_test * Check Aborts in check_for_maintenance * Rename check_for_maintenance_mode * Fix and Write more unit tests for check_for_maintenance_mode middleware * fix down command * Fix down_command_test * Fix up_command --------- Co-authored-by: Bowen <hwbrzzl@gmail.com> * feat: Laravel-style Collection library (#1134) Merges comprehensive Collection library with 100+ methods for data manipulation. Implements both eager (Collection) and lazy (LazyCollection) evaluation strategies. Closes goravel/goravel#566 Follow-up improvements tracked in: goravel/goravel#883 * Increase route module coverage for factory, provider, and runner wiring paths (#1384) * Initial plan * test(route): cover route factory and service provider paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * optimize * optimize --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> * chore: optimize interface (#1389) * Increase crypt module coverage by exercising AES key validation and failure paths (#1385) * Initial plan * test: add crypt AES edge-case coverage Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: improve readability of crypt key-length cases Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: address crypt PR feedback and simplify test structure Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: use configmock EXPECT style in TestNewAES Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: standardize config mock setup across aes tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase filesystem module test coverage for storage, service provider, and file facade paths (#1387) * Initial plan * Add filesystem application and provider coverage tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Polish filesystem coverage tests after review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Refine filesystem tests based on review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Apply review style suggestions in filesystem tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase mail module test coverage to 70%+ with focused unit tests (#1386) * Initial plan * test(mail): add focused unit coverage for application, options, and service provider Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): address review feedback on test specificity and readability Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): merge application unit tests and remove untyped mock matchers Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): deduplicate matchers and tighten queue job assertion Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): use AnythingOfType and any in application tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): derive bind callback type string from any signature Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): simplify bind callback type matcher Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): use AnythingOfType for template render expectations Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(mail): restore specific MatchedBy assertions per review clarification Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase hash module coverage with targeted tests for driver selection and service provider paths (#1388) * Initial plan * test: increase hash module coverage for driver and provider paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: cover hash provider and driver selection paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: address hash module review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: merge hash module tests into application_test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: use EXPECT API in hash service provider test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: use any alias in hash singleton callback test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: add AI instructions file (#1393) * Increase core framework coverage via targeted service provider and builder-path tests (#1391) * Initial plan * Add service provider coverage tests for core modules Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Expand core module coverage tests and validate suite Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Revert unintended test module dependency drift Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Address actionable PR review suggestions in coverage tests Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Finalize review feedback handling Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Tighten provider test matchers per review feedback Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * Increase infrastructure module coverage by adding Process/Packages/Log/Schedule tests and fixing errors.As target forwarding (#1392) * Initial plan * test(errors): cover As/Unwrap/Ignore/Join edge cases Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(errors): use wrapped error in As coverage test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module file changes Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: add coverage for process packages log schedule modules Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: refine schedule coverage tests per review Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: assert boot no-panic in log and process providers Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize review feedback responses for boot test assertions Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module file changes Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: expand service-layer coverage across Event, Queue, gRPC, Cache, and Console (#1390) * Initial plan * test(event): cover service provider and queued listener dispatch paths Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize event coverage validation Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test(event): address review suggestions for robust command matching and queue error path Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize PR feedback follow-up Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module file updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: add focused coverage cases for queue grpc cache console Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: clarify queue nil args in empty chain test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency updates Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * test: avoid nil context in console usage-error test Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: finalize lint ci fix validation Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: revert unintended tests module dependency drift Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: Update non-major dependencies (#1399) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: add generate flag to artisan build command (#1402) * feat: [#911] add query context accessor (#1401) * chore: optimize agents (#1396) * chore: optimize agents * optimize * address comments * Initial plan * fix: backport migrate rollback default handling to v1.17.x Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * chore: align branch tree with v1.17.x before backporting rollback fix Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> * optimize * optimize --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@gmail.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: hwbrzzl <24771476+hwbrzzl@users.noreply.github.com> Co-authored-by: krishan kumar <84431594+krishankumar01@users.noreply.github.com> Co-authored-by: Bowen <hwbrzzl@github.com> Co-authored-by: Mohan Raj <praem1990@gmail.com> Co-authored-by: Ahmed M. Ammar <ahmed3mar@outlook.com> Co-authored-by: 耗子 <haozi@loli.email> Co-authored-by: ALMAS <almas.cc@icloud.com>
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.