-
Notifications
You must be signed in to change notification settings - Fork 990
Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
We are implementing Variant, and part of doing so is ensuring that the Rust implementation is compatible with other implementations
Describe the solution you'd like
I would like a harness that
- For each test listed in
cases.json
- Reads the expected variant.bin file and creates a
Variant
from it - Reads the data from the Parquet file (should be a StructArray)
- Construct a VariantArray
- Read the value from the VariantArray (using both
VariantArray::value
and thevariant_get
kernel) - Verify that the value from the VariantArray matches the Variant read from the .bin file
Many of the cases will not to pass initially -- that is fine, we should just mark them as #[ignore]
or something and we will enable them as we work through the Variant implementation
Describe alternatives you've considered
I recommend using this PR from @rdblue
-
Here is an example of such an integration test for the go implementation ci(parquet/pqarrow): integration tests for reading shredded variants DO NOT MERGE YET arrow-go#455 written by @zeroshade (
parquet/pqarrow/variant_test.go
specifically)
Additional context