Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Apache Iceberg Verification

A repository of conformance fixtures for Apache Iceberg implementations. Language-neutral inputs, each paired with the expected value the spec fixes.

Motivation

The Iceberg specification is prose. Each implementation parses and serializes it on its own, so they drift. Tests maintained in isolation in each implementation cannot catch this, because each checks its own reading of the spec against itself. A shared misreading stays green and often surfaces only as a post-release bug report.

Expected values here are derived from the spec, not copied from an implementation, so a fixture catches both implementation bugs and genuine spec ambiguity. The expected value is single-sourced, so a corrected reading is corrected in one place.

Scope

Initial scope is read conformance. A reference writer emits each fixture, and every implementation verifies that it consumes the fixture correctly. Writer conformance is a later phase.

Fixtures are what everything else is built on. Tooling that runs them may follow, and today each consumer writes its own assertions.

This repository validates artifacts, not behavior. Engine query results, live protocol behavior, and physical encoding choices such as compression codec and file format writer version are out of scope. Any spec-valid encoding is valid.

Adoption is by self-election and is incremental. An implementation pins this repository to a commit, runs the surfaces it opts into, and bumps that pin deliberately. There is no central conformance gate and no pass/fail matrix across implementations.

Contributing

TODO: CONTRIBUTING.md, covering repository layout, fixture format, and how to add or correct a fixture.

License

Licensed under the Apache License, Version 2.0.

Fixture files are test data and carry no license header, per the ASF Source Header and Copyright Notice Policy, which exempts "test data for which the addition of a source header would cause the tests to fail". Every other file carries the standard ASF source header.

About

Conformance fixtures for verifying Apache Iceberg implementations

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

13 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors