-
-
Notifications
You must be signed in to change notification settings - Fork 3
Split tests #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split tests #19
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR refactors the test suite by splitting a monolithic test file into individual test modules, improving test organization and maintainability. The changes reorganize the type system definitions and create separate test files for each test case.
- Simplified type definitions in
nix/types.nixby reusing theaspectsTypefor theprovidesoption - Split large test file into 14 individual test modules for better organization
- Created a new
checkmate/directory structure with dedicated flake and configuration
Reviewed changes
Copilot reviewed 19 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| nix/types.nix | Simplified type definitions by reusing aspectsType and reordering type union |
| checkmate/modules/tests/without_flakes.nix | Extracted test for usage without flakes into separate module |
| checkmate/modules/tests/transpose_swap.nix | Extracted transpose swap test into separate module |
| checkmate/modules/tests/transpose_common.nix | Extracted transpose common childs test into separate module |
| checkmate/modules/tests/tranpose_flake_modules.nix | Extracted flake modules transpose test into separate module |
| checkmate/modules/tests/default_empty.nix | Extracted default empty test into separate module |
| checkmate/modules/tests/aspect_toplevel_parametric.nix | Extracted top-level parametric aspect test into separate module |
| checkmate/modules/tests/aspect_provides.nix | Extracted aspect provides test into separate module |
| checkmate/modules/tests/aspect_parametric.nix | Extracted parametric aspect test into separate module |
| checkmate/modules/tests/aspect_modules_resolved.nix | Extracted modules resolved test into separate module |
| checkmate/modules/tests/aspect_fixpoint.nix | Extracted fixpoint test into separate module |
| checkmate/modules/tests/aspect_dependencies.nix | Extracted aspect dependencies test into separate module |
| checkmate/modules/tests/aspect_default_provider_override.nix | Extracted default provider override test into separate module |
| checkmate/modules/tests/aspect_default_provider_functor.nix | Extracted default provider functor test into separate module |
| checkmate/modules/tests/aspect_chain.nix | Extracted aspect chain test into separate module |
| checkmate/modules/tests.nix | Refactored to provide shared test utilities and imports |
| checkmate/modules/checkmate.nix | New configuration module for checkmate test infrastructure |
| checkmate/flake.nix | New flake configuration for checkmate test suite |
| .github/workflows/test.yml | Updated workflow to checkout code and run tests from local directory |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -0,0 +1,29 @@ | |||
| { | |||
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'tranpose' to 'transpose' in filename.
| { transpose, ... }: | ||
| { | ||
|
|
||
| flake.tests."test transpose common childs become one parent" = { |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'childs' to 'children'.
| flake.tests."test transpose common childs become one parent" = { | |
| flake.tests."test transpose common children become one parent" = { |
| three-and-four-and-five = { | ||
| classOne.bar = [ "3" ]; | ||
| includes = [ | ||
| aspects.four |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test references aspects.four from the inner fixpoint context, but four is defined in the outer aspects.aspectTwo.provides scope. This should use top.aspects.aspectTwo.provides.four to match the actual scope, or the test may not validate the intended fixpoint behavior correctly.
| aspects.four | |
| top.aspects.aspectTwo.provides.four |
2dc3431 to
be86657
Compare
* Revert "Split tests (#19)" This reverts commit 72ffc00. * update README with correct test commands (#22) * Revert "Revert "Split tests (#19)"" This reverts commit 1df56b4. * test merging aspects * fix: use custom merge functions for modules and resolve options (#23) When merging aspect configs across scopes (e.g. bar = config.foo), the modules and resolve options were incorrectly merging pre-computed values from individual scopes instead of recomputing from the merged config. The fix uses custom type merge functions that always recompute from the final merged config, ensuring resolved modules reflect all merged aspect definitions. --------- Co-authored-by: Albert O'Shea <albertoshea2@gmail.com>
No description provided.