Skip to content

POC: iceberg-testing conformance fixtures (submodule)#2

Open
sungwy wants to merge 1 commit into
mainfrom
conformance-iceberg-testing
Open

POC: iceberg-testing conformance fixtures (submodule)#2
sungwy wants to merge 1 commit into
mainfrom
conformance-iceberg-testing

Conversation

@sungwy

@sungwy sungwy commented Jun 26, 2026

Copy link
Copy Markdown
Owner

POC pinning the language-neutral conformance fixtures from sungwy/iceberg-testing as a git submodule (iceberg-testing/).

Test Surfaces: type-string parse + re-serialize, the Appendix B bucket-hash Known-Answer-Test (incl. byte-boundary decimals), and delete-file decode by field-id

Copilot AI review requested due to automatic review settings June 26, 2026 19:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This POC adds language-neutral Apache Iceberg conformance fixtures to the Rust repo via a git submodule, and documents which spec “surfaces” these fixtures cover (with the Rust harness intentionally deferred).

Changes:

  • Added iceberg-testing/ as a git submodule pointing to sungwy/iceberg-testing.
  • Added conformance/README.md documenting fixture scope (types parse/serialize, bucket-hash KATs, delete-file decoding) and how to consume the fixtures locally.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
conformance/README.md Documents the conformance fixture surfaces and local consumption steps; notes the harness is deferred.
.gitmodules Registers the iceberg-testing submodule URL and path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread conformance/README.md Outdated
@sungwy sungwy force-pushed the conformance-iceberg-testing branch 6 times, most recently from c52e951 to ff031f7 Compare June 26, 2026 22:33
Pin sungwy/iceberg-testing as a git submodule and add an integration test
(crates/iceberg/tests/conformance.rs) that walks its language-neutral fixtures
against this crate:

- type strings: deserialize the type and re-serialize to the canonical schema-JSON
  form (parse + round-trip)
- bucket hash: the Appendix B 32-bit Known-Answer-Test, via transform_literal

Cases this crate does not satisfy yet are listed as expected failures with a
tracking issue: geometry/geography are not implemented (apache#1884)
and fixed[...] rejects internal whitespace. Decimal whitespace and the byte-boundary
decimal bucket hashes pass, where some other implementations diverge.

The Tests CI job checks out the submodule so the suite runs; the tests skip cleanly
when it is absent. Adds serde_json as a dev-dependency.
@sungwy sungwy force-pushed the conformance-iceberg-testing branch from ff031f7 to 841245c Compare June 29, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants