restructure testing/checking directories
We should a have a breif discussion of why the current state is confusing, and restructure the test directories.
We currently have several kinds of tests:
- Chapel unit tests, so you don't have to compile the whole server to test a specific module... 1min compile vs. a 10min+ compile.
- Python client/server tests to test a fully built arkouda server and a python client.
Questions to consider:
Directory structure
CI testing
PYPI
Mason
Chapel Unit Testing
make check vs. something like make test, or even make unittest
I propose we restructre the test directories as
test/
server/
modules/
diagnostic/
The server/ and modules/ dirs would be meant for CI-compatible tests that return a success/fail code for automated flows. The diagnostic/ dir would be for tests that a human runs and examines the output manually. Thus, most of the current tests/ dir would move to test/server, and most of the current test/ dir would move to test/modules, with a few from each going to test/diagnostic.
I further propose we setup make check to run everything in test/server. All the server tests complete relatively quickly on a single locale or multi-locale XC, although they can take minutes on a simulated multi-locale build on a laptop. I think the makefile already has logic for building individual Chapel unit tests (or all of them) using make test, so we could leave that convention in place and just update the target directory. My two cents.
I forgot to explicitly state that the test/server dir would be for python tests that exercise the server, while the test/modules dir would be for Chapel unit tests that do not depend on having an arkouda_server built.
Also, should we consider moving benchmarks/ to test/benchmarks/?
@Bears-R-Us/arkouda-core-dev @ronawho @bmcdonald3 what do you guys think, should we implement this? or should we close it?
This seems like a fairly simple and straightforward change to me that would make things a bit easier to understand, so I would be in favor of making this change, as I often struggle with the autocomplete of test vs tests. I could plan on implementing this in the near future if that sounds good with everyone. It seems to me like a good thing to get sorted out before the arkouda-contrib repo starts seeing a lot of use.