[Testing] Enhanced Pandas Test Suite#104
Draft
stewjb wants to merge 6 commits intospotfiresoftware:mainfrom
Draft
[Testing] Enhanced Pandas Test Suite#104stewjb wants to merge 6 commits intospotfiresoftware:mainfrom
stewjb wants to merge 6 commits intospotfiresoftware:mainfrom
Conversation
…optional test imports - Bump actions/checkout v4→v5, setup-python v5→v6, upload-artifact v4→v7, download-artifact v4→v8 across build.yaml, pylint.yaml, sbom.yaml. - Add AddressSanitizer job to build.yaml (pinned to Python 3.13, LD_PRELOAD injection, limited to html-testRunner/polars/pillow to avoid pybind11 crashes). - Add concurrency group to cancel superseded runs on push. - Make geopandas/matplotlib/seaborn imports optional in test_sbdf.py so the module loads in environments where those packages are absent; add @skipIf guards to test_read_write_geodata, test_image_matplot, test_image_seaborn. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Author
|
Here is a preview of the performance enhancements I arrived at on the pandas pathway. Note i have these on my fork. It's built on the polars branch, but I thought adding the CI and testing to main makes more sense from a testing and PR review perspective. Benchmark Results (100k rows, Pandas path)
|
…cking - Extend ASan job to also run UBSan (-fsanitize=address,undefined). UBSan shares the libasan.so LD_PRELOAD runtime so no extra preload is needed. Catches signed integer overflow, null pointer dereference, misaligned access, and other C UB in the Cython extension. UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=1 makes CI fail clearly on the first finding with a full stack trace. - Rename job 'asan' → 'sanitizers' and artifact 'test-results-asan' → 'test-results-sanitizers' to reflect the combined coverage. - Add .github/dependabot.yml to auto-PR GitHub Actions version bumps weekly, preventing future Node.js deprecation warnings from going unnoticed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All actions have been bumped to versions that natively use Node.js 24. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New tests for the export/import paths in sbdf.pyx: - test_temporal_nulls_roundtrip: mixed-null datetime/date/time/timespan columns - test_negative_timespans: negative timedelta values including sub-ms precision - test_pre_epoch_dates: dates across full year-1..9999 range (regression for the pd.to_datetime → np.asarray fix that handles pre-Timestamp dates) - test_pre_epoch_datetimes: datetimes before Unix epoch - test_time_edge_cases: midnight, end-of-day, microsecond truncation - test_all_null_temporal_columns: all-NaT datetime64/timedelta64 columns - test_numpy_datetime_with_nulls: NaT at specific positions in datetime64[ms] - test_numpy_timedelta_with_nulls: NaT at specific positions in timedelta64[ms] - test_empty_dataframe: 0-row export for bool/int/float/datetime/timedelta/string - test_multichunk_export: 100,001-row export forces a second SBDF row slice Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
f6d9544 to
5dd8573
Compare
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.
These are additional tests used in performance enhancements in the pandas path. These should pass in the current path, hence pushing this PR to show that before showing the proposed pandas updates. This PR doesn't impact any production code.
This PR should be stacked on #103. Leaving it as a draft until that one is merged.