Development documentation
Running tests
The tests will automatically include multithreading and/or GPU tests if multiple threads and/or a CUDA-enabled GPU are available. Errors appearing at the start of the test run due to unavailable backends is expected. test/runtests.jl does not include all the tests, see the test directory for more, though these extra tests do not need to be run for every change. Various environmental variables can be set to modify the tests:
VISTESTSdetermines whether to run the GLMakie.jl plotting tests which will error on remote systems where a display is not available, defaultVISTESTS=1.GPUTESTSdetermines whether to run the GPU tests, defaultGPUTESTS=1.DEVICEdetermines which GPU to run the GPU tests on, defaultDEVICE=0.GROUPcan be used to run a subset of the tests, optionsAll/Protein/Gradients/NotGradients, defaultGROUP=All.
The CI run does not carry out all tests - for example the GPU tests are not run - and this is reflected in the code coverage.
Benchmarks
The benchmark directory contains some benchmarks for the package.