Environment variables#

When a test is executed by canary it sets and passes the following environment variables to the test process:

  • CANARY_<NAME>_IDS: comma separated list of global ids for machine resource NAME.

For example, if the following test:

import canary

canary.directives.parameterize("cpus,gpus", ((4, 4)))

acquires CPUs 10, 11, 12, and 13, and GPUs 0, 1, 2, and 3 from the resource pool, respectively, the test environment would have the following variables defined:

  • CANARY_CPU_IDS=10,11,12,13

  • CANARY_GPU_IDS=0,1,2,3

CTest environment variables#

For CTest tests, canary defines environment variables in a manner consistent with CTest conventions.