Repository navigation
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
alamb
force-pushed
the
fold-ffi-test-binaries
branch
from
October 16, 2026 17:32
5d9a043 to
9d40536
Compare
alamb
commented
Oct 16, 2026
| /// Add an additional module here for convenience to scope this to only | ||
| /// when the feature integration-tests is built | ||
| #[cfg(feature = "integration-tests")] | ||
| mod tests { |
Contributor
Author
There was a problem hiding this comment.
we can remove this extra level of indent as a follow on PR, but I wanted to keep the diff down for this one
alamb
marked this pull request as ready for review
October 16, 2026 17:33
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #26423 +/- ##
==========================================
- Coverage 82.89% 82.88% -0.01%
==========================================
Files 1153 1153
Lines 457487 457487
Branches 457487 457487
==========================================
- Hits 379213 379202 -11
- Misses 55264 55272 +8
- Partials 23010 23013 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Which issue does this PR close?
This follows the same rationale as earlier PRs like
core_integration#10588path_partitiontest intocore_integration#11831set_comparisontest intocore_integrationbinary #26419Rationale for this change
Each
.rsfile directly indatafusion/ffi/testsbecomes its own test binary. In this case, the 10 standaloneffi_*binaries require about 2.48 GB (2,664,138,160 bytes) in total on my machine (macOS, aarch64)cargo test -p datafusion-ffi --features integration-tests --tests --no-runThe binaries were added in
ffi_integration: feat: Add ScalarUDF support in FFI crate #14579ffi_udaf: feat: Add Aggregate UDF to FFI crate #14775ffi_udf: Allow type coersion of zero input arrays to nullary #15487ffi_udtf: Add Table Functions to FFI Crate #15581ffi_udwf: feat: Add Window UDFs to FFI Crate #16261ffi_catalog: Implement CatalogProviderList in FFI #18657ffi_config: Add support for FFI config extensions #19469ffi_execution_plan: feat: support repartitioning of FFI execution plans #20449ffi_physical_optimizer: feat: implement PhysicalOptimizerRule in FFI crate #20451ffi_query_planner: feat: Implement FFI_QueryPlanner #24028What changes are included in this PR?
Combine the 10
datafusion/ffi/tests/ffi_*.rsfiles into the singleffi_integrationtest binary:Size of the binaries (debug build):
ffi_catalogffi_configffi_execution_planffi_integration(before)ffi_physical_optimizerffi_query_plannerffi_udafffi_udfffi_udtfffi_udwfffi_integrationafter (1 binary)So this goes from about 2.48 GB to about 390 MB (408,453,600 bytes) (~85% smaller) and from 10 link steps to 1.
What is the testing strategy for this PR?
CI. The same 32 tests run before and after:
cargo test -p datafusion-ffi --features integration-tests --test ffi_integrationAre there any user-facing changes?
No, developer productivity / CI efficiency