diff --git a/README.md b/README.md index af84f8f..dbd36f3 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The *RNTuple Validation Suite* provides conformance tests for the [RNTuple Binar The goal is to cover all parts of the specification with implications on the format. It can be used to validate both writer and reader implementations of the RNTuple specification. To that end, each test comes with a written description of the schema and the expected data. -We also provide a set of reference `.root` and `.json` files (see below). +Reference files for version 1.0.0 can be found under the [GitHub Release](https://github.com/root-project/rntuple-validation/releases/tag/v1.0.0). ## Test Categories diff --git a/compression/README.md b/compression/README.md index b3a45d9..9db1235 100644 --- a/compression/README.md +++ b/compression/README.md @@ -2,7 +2,7 @@ For the RNTuple Validation Suite, we assume that compression is orthogonal to the supported types and serialized data. Therefore all tests in this category write a single `Int64` field with type `std::int64_t` and column type `SplitInt64`. -The entries have ascending values and the reference `.json` files only contain the sum of all elements. +The entries have ascending values and the reference files (`compression.*.json`) only contain the sum of all elements. * [`algorithms`](algorithms): `zlib`, `lzma`, `lz4`, `zstd` * [`block`](block): big and short compression blocks diff --git a/projections/cardinality/README.md b/projections/cardinality/README.md index dc1ac57..7bc9262 100644 --- a/projections/cardinality/README.md +++ b/projections/cardinality/README.md @@ -11,3 +11,5 @@ 2. Empty vectors 3. Increasing number of elements in the vector: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `projections.cardinality.json`. diff --git a/projections/collection/README.md b/projections/collection/README.md index c68948e..6f9d977 100644 --- a/projections/collection/README.md +++ b/projections/collection/README.md @@ -9,3 +9,5 @@ 1. Ascending values 2. Empty collection + +The values can be found in the reference file `projections.collection.json`. diff --git a/projections/leaf/README.md b/projections/leaf/README.md index b34a7d5..1e2b09c 100644 --- a/projections/leaf/README.md +++ b/projections/leaf/README.md @@ -8,3 +8,5 @@ ## Entries 1. Ascending values + +The values can be found in the reference file `projections.leaf.json`. diff --git a/projections/nested/README.md b/projections/nested/README.md index 1b87330..f01c52b 100644 --- a/projections/nested/README.md +++ b/projections/nested/README.md @@ -9,3 +9,5 @@ 1. Ascending values 2. Empty collection + +The values can be found in the reference file `projections.nested.json`. diff --git a/structure/README.md b/structure/README.md index 82ff659..fe632c5 100644 --- a/structure/README.md +++ b/structure/README.md @@ -2,6 +2,7 @@ For the RNTuple Validation Suite, we assume that the structure is orthogonal to the supported types and serialized data. Therefore all tests in this category write a single `Int32` field with type `std::int32_t` the entries have ascending values. +The values can be found in the reference files (`structure.*.json`). * [`clusters`](clusters): multiple clusters * [`cluster_groups`](cluster_groups): multiple cluster groups diff --git a/structure/feature_flag/README.md b/structure/feature_flag/README.md index 9729564..df91777 100644 --- a/structure/feature_flag/README.md +++ b/structure/feature_flag/README.md @@ -1,6 +1,6 @@ # Unknown feature flag set An empty RNTuple with feature flag 137 (>62) set in the header. Reading should fail accordingly. -The error message should indicate the feature flag. +The error message should indicate the feature flag, as documented in the reference file `structure.feature_flag.json`. A later version of this test should set the flag in the footer. diff --git a/types/RVec/fundamental/README.md b/types/RVec/fundamental/README.md index 39187d6..00d64aa 100644 --- a/types/RVec/fundamental/README.md +++ b/types/RVec/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column encoding `Int32`. 2. Empty vectors 3. Increasing number of elements in the vector: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `types.RVec.fundamental.json`. diff --git a/types/RVec/nested/README.md b/types/RVec/nested/README.md index 54ed245..3230051 100644 --- a/types/RVec/nested/README.md +++ b/types/RVec/nested/README.md @@ -12,3 +12,5 @@ All child fields use the default column encoding `Int32`. 1. Single-element vectors, with ascending values 2. Empty vectors 3. Increasing number of elements in the outer vector, with arbitrary lengths of the inner vectors + +The values can be found in the reference file `types.RVec.nested.json`. diff --git a/types/array/README.md b/types/array/README.md index 2ab1c16..ed11e85 100644 --- a/types/array/README.md +++ b/types/array/README.md @@ -14,3 +14,5 @@ with the default column types. 1. Simple values 2. Zero / empty values + +The values can be found in the reference file `types.array.json`. diff --git a/types/atomic/README.md b/types/atomic/README.md index ee0f9bf..554c2e0 100644 --- a/types/atomic/README.md +++ b/types/atomic/README.md @@ -14,3 +14,5 @@ with the corresponding column types. 1. Ascending values 2. Zero values + +The values can be found in the reference file `types.atomic.json`. diff --git a/types/bitset/README.md b/types/bitset/README.md index 90a99b7..2840b0f 100644 --- a/types/bitset/README.md +++ b/types/bitset/README.md @@ -13,3 +13,5 @@ with the default column types. 1. Ascending bits set 2. All bits set 3. All bits unset + +The values can be found in the reference file `types.bitset.json`. diff --git a/types/fundamental/integer/README.md b/types/fundamental/integer/README.md index 18fdea6..8e3dbce 100644 --- a/types/fundamental/integer/README.md +++ b/types/fundamental/integer/README.md @@ -14,3 +14,5 @@ with the corresponding column types. 3. Negative values for signed integer types (to validate zigzag encoding) 4. Minimum (lowest) values 5. Maximum values + +The values can be found in the reference file `types.fundamental.integer.json`. diff --git a/types/fundamental/misc/README.md b/types/fundamental/misc/README.md index a9a473b..fa0d425 100644 --- a/types/fundamental/misc/README.md +++ b/types/fundamental/misc/README.md @@ -13,3 +13,5 @@ with the corresponding column types. 1. Ascending values 2. Low values 3. High values + +The values can be found in the reference file `types.fundamental.misc.json`. diff --git a/types/fundamental/real/README.md b/types/fundamental/real/README.md index 8ce7ed4..904e02d 100644 --- a/types/fundamental/real/README.md +++ b/types/fundamental/real/README.md @@ -19,3 +19,5 @@ with the corresponding field and column types. 4. Smallest positive normal values 5. Smallest positive subnormal values 6. Maximum values + +The values can be found in the reference file `types.fundamental.real.json`. diff --git a/types/fundamental/real32quant/README.md b/types/fundamental/real32quant/README.md index aa9bad9..5c9ba53 100644 --- a/types/fundamental/real32quant/README.md +++ b/types/fundamental/real32quant/README.md @@ -19,3 +19,5 @@ and a value range of `[-1, 1]` unless noted otherwise. 3. Middle values of the fields' value range 4. Min values of the fields' value range 5. Max values of the fields' value range + +The values can be found in the reference file `types.fundamental.real32trunc.json`. diff --git a/types/fundamental/real32trunc/README.md b/types/fundamental/real32trunc/README.md index ecf805b..1844d1f 100644 --- a/types/fundamental/real32trunc/README.md +++ b/types/fundamental/real32trunc/README.md @@ -19,3 +19,5 @@ with the corresponding field, column types and bit width. 4. Smallest positive normal values with N bits 5. Smallest positive subnormal values with N bits 6. Maximum values with N bits + +The values can be found in the reference file `types.fundamental.real32quant.json`. diff --git a/types/map/fundamental/README.md b/types/map/fundamental/README.md index 6abff33..42ea5d1 100644 --- a/types/map/fundamental/README.md +++ b/types/map/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column types for `std::string` (`Index64` for t 2. Empty maps 3. Increasing number of elements in the map: one key-value pair in the first field, two key-value pairs in the second field, etc. + +The values can be found in the reference file `types.map.fundamental.json`. diff --git a/types/map/nested/README.md b/types/map/nested/README.md index 4694d75..c60b0df 100644 --- a/types/map/nested/README.md +++ b/types/map/nested/README.md @@ -5,7 +5,7 @@ - `[Split]Index{32,64}` with the corresponding column type for the offset column of the two collection parent fields. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,6 +13,8 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the outer map, with arbitrary lengths of the inner maps +The values can be found in the reference file `types.map.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedMap` shared object. diff --git a/types/multimap/fundamental/README.md b/types/multimap/fundamental/README.md index 081bff2..f802e69 100644 --- a/types/multimap/fundamental/README.md +++ b/types/multimap/fundamental/README.md @@ -1,11 +1,11 @@ -# `std::map` +# `std::multimap` ## Fields - `[Split]Index{32,64}` with the corresponding column type for the offset column of the collection parent field. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,3 +13,5 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the map: one key-value pair in the first field, two key-value pairs in the second field, etc. + +The values can be found in the reference file `types.multimap.fundamental.json`. diff --git a/types/multimap/nested/README.md b/types/multimap/nested/README.md index 889c357..cb5b119 100644 --- a/types/multimap/nested/README.md +++ b/types/multimap/nested/README.md @@ -5,7 +5,7 @@ - `[Split]Index{32,64}` with the corresponding column type for the offset column of the two collection parent fields. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,6 +13,8 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the outer map, with arbitrary lengths of the inner maps +The values can be found in the reference file `types.multimap.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedMultimap` shared object. diff --git a/types/multiset/fundamental/README.md b/types/multiset/fundamental/README.md index ed57daa..d81bc59 100644 --- a/types/multiset/fundamental/README.md +++ b/types/multiset/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the set: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `types.multiset.fundamental.json`. diff --git a/types/multiset/nested/README.md b/types/multiset/nested/README.md index ca161ee..31df5b5 100644 --- a/types/multiset/nested/README.md +++ b/types/multiset/nested/README.md @@ -13,6 +13,8 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the outer set, with arbitrary lengths of the inner sets +The values can be found in the reference file `types.multiset.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedMultiset` shared object. diff --git a/types/optional/README.md b/types/optional/README.md index dbee5b7..b4f5d9c 100644 --- a/types/optional/README.md +++ b/types/optional/README.md @@ -16,3 +16,5 @@ with otherwise the default column types. 1. Simple values 2. No value 3. Zero / empty values + +The values can be found in the reference file `types.optional.json`. diff --git a/types/pair/README.md b/types/pair/README.md index a32cff1..35c35e7 100644 --- a/types/pair/README.md +++ b/types/pair/README.md @@ -13,3 +13,5 @@ with the default column types. 1. Simple values 2. Zero / empty values + +The values can be found in the reference file `types.pair.json`. diff --git a/types/set/fundamental/README.md b/types/set/fundamental/README.md index 7356dad..ed34ccb 100644 --- a/types/set/fundamental/README.md +++ b/types/set/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the set: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `types.set.fundamental.json`. diff --git a/types/set/nested/README.md b/types/set/nested/README.md index a3b50f0..de4a77d 100644 --- a/types/set/nested/README.md +++ b/types/set/nested/README.md @@ -13,6 +13,8 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the outer set, with arbitrary lengths of the inner sets +The values can be found in the reference file `types.set.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedSet` shared object. diff --git a/types/string/README.md b/types/string/README.md index afb941e..3621075 100644 --- a/types/string/README.md +++ b/types/string/README.md @@ -13,3 +13,5 @@ with the corresponding column type for the first (principal) column. 3. Unicode characters as UTF-8 4. Increasing length of strings: one character in the first field, two characters in the second field, etc. + +The values can be found in the reference file `types.string.json`. diff --git a/types/tuple/README.md b/types/tuple/README.md index 28b71d3..0e24a97 100644 --- a/types/tuple/README.md +++ b/types/tuple/README.md @@ -13,3 +13,5 @@ with the default column types. 1. Simple values 2. Zero / empty values + +The values can be found in the reference file `types.tuple.json`. diff --git a/types/unique_ptr/README.md b/types/unique_ptr/README.md index 94882ab..4c0b30b 100644 --- a/types/unique_ptr/README.md +++ b/types/unique_ptr/README.md @@ -16,3 +16,5 @@ with otherwise the default column types. 1. Simple values 2. No value 3. Zero / empty values + +The values can be found in the reference file `types.unique_ptr.json`. diff --git a/types/unordered_map/fundamental/README.md b/types/unordered_map/fundamental/README.md index 539ce74..d3b9894 100644 --- a/types/unordered_map/fundamental/README.md +++ b/types/unordered_map/fundamental/README.md @@ -5,7 +5,7 @@ - `[Split]Index{32,64}` with the corresponding column type for the offset column of the collection parent field. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,3 +13,5 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the map: one key-value pair in the first field, two key-value pairs in the second field, etc. + +The values can be found in the reference file `types.unordered_map.fundamental.json`. diff --git a/types/unordered_map/nested/README.md b/types/unordered_map/nested/README.md index 8b08635..9482c0c 100644 --- a/types/unordered_map/nested/README.md +++ b/types/unordered_map/nested/README.md @@ -5,7 +5,7 @@ - `[Split]Index{32,64}` with the corresponding column type for the offset column of the two collection parent fields. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,6 +13,8 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the outer map, with arbitrary lengths of the inner maps +The values can be found in the reference file `types.unordered_map.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedUnorderedMap` shared object. diff --git a/types/unordered_multimap/fundamental/README.md b/types/unordered_multimap/fundamental/README.md index 42a4fce..12dd06e 100644 --- a/types/unordered_multimap/fundamental/README.md +++ b/types/unordered_multimap/fundamental/README.md @@ -5,7 +5,7 @@ - `[Split]Index{32,64}` with the corresponding column type for the offset column of the collection parent field. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,3 +13,5 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the map: one key-value pair in the first field, two key-value pairs in the second field, etc. + +The values can be found in the reference file `types.unordered_multimap.fundamental.json`. diff --git a/types/unordered_multimap/nested/README.md b/types/unordered_multimap/nested/README.md index 8f941e3..59f3a1c 100644 --- a/types/unordered_multimap/nested/README.md +++ b/types/unordered_multimap/nested/README.md @@ -5,7 +5,7 @@ - `[Split]Index{32,64}` with the corresponding column type for the offset column of the two collection parent fields. -All child fields use the default column types for `std::string` (`SplitIndex64` for the principal column, `Char` for the second column) and `std::int32_t` (`SplitInt32`). +All child fields use the default column types for `std::string` (`Index64` for the principal column, `Char` for the second column) and `std::int32_t` (`Int32`). ## Entries @@ -13,6 +13,8 @@ All child fields use the default column types for `std::string` (`SplitIndex64` 2. Empty maps 3. Increasing number of elements in the outer map, with arbitrary lengths of the inner maps +The values can be found in the reference file `types.unordered_multimap.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedUnorderedMultimap` shared object. diff --git a/types/unordered_multiset/fundamental/README.md b/types/unordered_multiset/fundamental/README.md index e5404f5..7f854b4 100644 --- a/types/unordered_multiset/fundamental/README.md +++ b/types/unordered_multiset/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the set: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `types.unordered_multiset.fundamental.json`. diff --git a/types/unordered_multiset/nested/README.md b/types/unordered_multiset/nested/README.md index 5413f61..0f5e117 100644 --- a/types/unordered_multiset/nested/README.md +++ b/types/unordered_multiset/nested/README.md @@ -13,6 +13,8 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the outer set, with arbitrary lengths of the inner sets +The values can be found in the reference file `types.unordered_multiset.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedUnorderedMultiset` shared object. diff --git a/types/unordered_set/fundamental/README.md b/types/unordered_set/fundamental/README.md index 13ecc45..4a578c2 100644 --- a/types/unordered_set/fundamental/README.md +++ b/types/unordered_set/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the set: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `types.unordered_set.fundamental.json`. diff --git a/types/unordered_set/nested/README.md b/types/unordered_set/nested/README.md index 6511f6b..d19c26d 100644 --- a/types/unordered_set/nested/README.md +++ b/types/unordered_set/nested/README.md @@ -13,6 +13,8 @@ All child fields use the default column encoding `Int32`. 2. Empty sets 3. Increasing number of elements in the outer set, with arbitrary lengths of the inner sets +The values can be found in the reference file `types.unordered_set.nested.json`. + ## Dictionaries These tests require ROOT dictionaries, which can be generated with the provided `Makefile` in this directory. This will create a `libNestedUnorderedSet` shared object. diff --git a/types/user/class/README.md b/types/user/class/README.md index 14b996b..1027fd7 100644 --- a/types/user/class/README.md +++ b/types/user/class/README.md @@ -18,3 +18,5 @@ with the default column types. 1. Simple values 2. Zero / empty values + +The values can be found in the reference file `types.user.class.json`. diff --git a/types/user/enum/README.md b/types/user/enum/README.md index 5dcc827..94ffb26 100644 --- a/types/user/enum/README.md +++ b/types/user/enum/README.md @@ -10,3 +10,5 @@ with the default column types. 1. Simple values 2. Zero values + +The values can be found in the reference file `types.user.enum.json`. diff --git a/types/variant/README.md b/types/variant/README.md index 49fdaca..dae7a98 100644 --- a/types/variant/README.md +++ b/types/variant/README.md @@ -13,6 +13,8 @@ 4. Empty `std::string` 5. Empty `std::vector` +The values can be found in the reference file `types.variant.json`. + __Missing:__ A `std::variant` that is `valueless_by_exception`. This requires a type that throws during move assignment. diff --git a/types/vector/fundamental/README.md b/types/vector/fundamental/README.md index 1c644fb..ba2f2b3 100644 --- a/types/vector/fundamental/README.md +++ b/types/vector/fundamental/README.md @@ -13,3 +13,5 @@ All child fields use the default column encoding `Int32`. 2. Empty vectors 3. Increasing number of elements in the vector: one element in the first field, two elements in the second field, etc. + +The values can be found in the reference file `types.vector.fundamental.json`. diff --git a/types/vector/nested/README.md b/types/vector/nested/README.md index 2366b40..c8931a2 100644 --- a/types/vector/nested/README.md +++ b/types/vector/nested/README.md @@ -12,3 +12,5 @@ All child fields use the default column encoding `Int32`. 1. Single-element vectors, with ascending values 2. Empty vectors 3. Increasing number of elements in the outer vector, with arbitrary lengths of the inner vectors + +The values can be found in the reference file `types.vector.nested.json`.