Update test convention docs to reflect class discovery for parameterized tests#57
Closed
Copilot wants to merge 10 commits intobug/AP-25573-pandas-2-3-supportfrom
Closed
Update test convention docs to reflect class discovery for parameterized tests#57Copilot wants to merge 10 commits intobug/AP-25573-pandas-2-3-supportfrom
Copilot wants to merge 10 commits intobug/AP-25573-pandas-2-3-supportfrom
Conversation
AP-25573 (Workflow tests fail with pandas 2.3)
AP-25573 (Workflow tests fail with pandas 2.3)
…mpty arrays The usual case works for empty arrays and handles dtypes of extension arrays correctly. AP-25573 (Workflow tests fail with pandas 2.3)
… of int/bool AP-25573 (Workflow tests fail with pandas 2.3)
Otherwise, if the chunked array has no chunks and we attempt to concatenate no arrays, which fails. AP-25573 (Workflow tests fail with pandas 2.3)
…are taken Bug: In pandas 2.1.0+, pd.concat changed its behavior and now calls KnimePandasExtensionArray.take with indices [0,1,2,...,n] to effectively copy the array. When take is called on struct dict encoded arrays, it delegates to storage.take(), which merges chunks of the ChunkedArray without recalculating the struct-dict encoding. This breaks the dictionary structure across chunk boundaries: keys in chunk 2 reference indices that only exist in chunk 1's data array, causing "Cannot read DataCell with empty type information" errors. Fix: Shortcut the specific case where all indices are taken sequentially by returning a copy instead of calling storage.take(). This fixes the pd.concat code path that triggers during arrow → pandas → arrow round-trips. Limitation: This is only a partial fix for the very specific case of taking all indices. The general take() and re-batching behavior for struct dict encoded arrays remains buggy when partial indices are selected or arbitrary re-batching occurs. AP-25573 (Workflow tests fail with pandas 2.3)
…ionArray.take AP-25573 (Workflow tests fail with pandas 2.3)
AP-25573 (Workflow tests fail with pandas 2.3)
…zed tests Co-authored-by: HedgehogCode <6631116+HedgehogCode@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update pytest tests and conftest.py based on feedback
Update test convention docs to reflect class discovery for parameterized tests
Feb 5, 2026
239a578 to
6f8f9dd
Compare
Contributor
|
Manually merged. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repository convention documented in
.github/instructions/python.instructions.mdincorrectly stated thatpytest.inidisables class discovery. In reality,pytest.inienables class discovery (python_classes = Test* *Test) to support parameterized pytest tests.Changes
.github/instructions/python.instructions.mdtest style convention from "Function-based tests only (pytest.ini disables class discovery)" to "Primarily function-based tests. Class-based tests (Test*and*Testpatterns) are enabled inpytest.inito support parameterized tests."This aligns the documentation with the actual pytest configuration and clarifies that while function-based tests remain the primary style, class-based patterns are enabled for parameterized test support.
💡 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.