[DRAFT] Generalize unit tests to also allow use against REST CI backend #643
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This (currently draft) PR regroups slightly altered tests which have been updated to also allow runing against REST CI unit tests. The setup in the (private to TileDB) repo TileDB-REST-CI permits staging a REST instance for CI use. (We currently rely on a lighter-weight shell script to launch components.)
The plan is to run these tests nightly as an a scheduled action. The PR will likely remain in draft until all pieces are in place.
The main change to tests is fairly straightforward and replaces
base::tempfile()
-- which generates filenames such as/tmp/RtmpBbAPzz/file3b526c17a67c7e
where/tmp
is a default overrideable by environment variable TMP, TEMP or TEMPDIR and is and the second value, the temporary directory of the current R session, are provided by argumenttmpdir
which defaults tobase::tempdir()
. We override this with a local copy settingtmpdir
totiledb://unit
which directs the TileDB Core API to route this to the configured REST server with enabled namespaceunit
.A few tests are skipped, this is expected and known: VFD, file listing, ... are not applicable for REST. The vast majority however is, and those tests run against the REST CI. (For completeness, a few unit tests are also 'file-less': tests of dimension, domain, schema, ... when these are merely created and not materialized. We still run them because there is little value is added complexity to skip between 'REST' and 'non-REST' tests.
SC 38763