Skip to content

Backwards Compatibility Test for Arrays

Joe Maley edited this page Sep 11, 2020 · 3 revisions

Backwards Compatibility Testing

With every major version of TileDB a large set of arrays are generated in order to ensure that all future changes remain backwards compatible.

These arrays are checked into a separate git repository, TileDB-Unit-Test-Arrays in order to not bloat the size of the main repository

Travis CI and Azure Pipelines both checkout this repository automatically to run the backwards compatibility checks. The unit test for compatibility is defined in unit-backwards_compat.cc, which currently consists of making sure the array can be opened, and read queries work.

Manually Running Compatibility Tests

If you want to run the compatibility tests yourself the procedure to checkout and run the tests are below.

Fresh Checking Out of Repo

Checkout the unit test arrays

cd /path/to/tiledb
# Checkout the unit test arrays into the proper path
git clone https://github.com/TileDB-Inc/TileDB-Unit-Test-Arrays.git test/inputs/arrays/read_compatibility_test

Build TileDB

Now build TileDB as you normally would

Run TileDB Compatibility Test

The following commands will build the unit test binary and run only the compatibility tests

make -C tiledb tiledb_unit
./tiledb/test/tiledb_unit "[backwards-compat]"

Updating Existing Repo For New Arrays

If there are new arrays and you you wish to update your local development environment to have the new arrays you can follow the procedure below.

Update Unit Test Arrays Repo

Assuming you originally followed the steps above, you can simply update the repo with:

cd /path/to/tiledb
cd test/inputs/arrays
git pull

Build TileDB

Now build TileDB as you normally would

Run TileDB Compatibility Test

The following commands will build the unit test binary and run only the compatibility tests

make -C tiledb tiledb_unit
./tiledb/test/tiledb_unit "[backwards-compat]"