You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .agents/skills/review-cudf-polars-expressions/SKILL.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,12 +79,15 @@ TODO: Add more guidance on a multiple partition implementation.
79
79
80
80
## Step 4: Test the Polars expression implementation in cudf-polars
81
81
82
-
Finally, add a unit test to an existing or new file in the `python/cudf_polars/tests/expressions` directory to test the implementation.
82
+
Finally, add unit tests to an existing or new file in the `python/cudf_polars/tests/expressions` directory to test the implementation.
83
83
84
84
1. The added unit tests should cover all the lines added in the implementation. A CI job validates that there is 100% code coverage.
85
85
2. The unit tests should use the `engine` fixture from `python/cudf_polars/tests/conftest.py` to test all applicable cudf-polars engine types including single and multiple partition execution.
86
86
3. Review the existing unit tests in `python/cudf_polars/tests` to check if existing tests used this expressions. Unit tests may have existed that asserted that this expression was not supported.
87
87
4. The unit test should use `pytest.mark.skipif` with a boolean variable from `python/cudf_polars/cudf_polars/utils/versions.py` if a unit test exercises a Polars expression or an argument that doesn't exist since a particular Polars version within the cudf-polars support window defined in `python/cudf_polars/pyproject.toml`.
88
88
5. When using `assert_gpu_result_equal` for expressions that return floats, consider specifying `check_exact=False` if necessary.
89
89
90
-
TODO: Add more guidance on a multiple partition implementation.
90
+
When running the unit tests:
91
+
92
+
1. First, `git stash` the new implementation (i.e. all changes not in `python/cudf_polars/tests`) and only run the newly added tests to validate they fail without the new implementation.
93
+
2. Next, `git stash apply` the stashed files and run *all* unit tests in `python/cudf_polars/tests`. Address failures from the newly added tests or existing tests that fail because they use the Polars expressions being implemented.
0 commit comments