diff --git a/docs/testing.md b/docs/testing.md index dc894bac3..a5a2b8747 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -3,16 +3,19 @@ All non-trivial proposed changes to the code base should be accompanied by tests. Each PullRequest build will run all tests in the repository on CPU machines. One full test run is executed on a Windows -agent, one on a Linux agent. +agent, one on a Linux agent. Tests with the pytest mark `gpu` or `azureml` will not be executed in this run. In addition, `pytest` will be run as part of the small AzureML job (smoke test) that is part of the PR build. In that test run, only specific tests will be executed. At present, it will be the tests that are marked -with the `pytest` mark `gpu`. The AzureML job executes on a GPU VM, hence you can have tests for GPU-specific -capabilities. +with the pytest mark `gpu`, `cpu_and_gpu` or `azureml`. The AzureML job executes on a GPU VM, hence you can have +tests for GPU-specific capabilities. -To mark one of your tests for execution on the GPU, prefix the test as follows: +To mark one of your tests as requiring a GPU, prefix the test as follows: @pytest.mark.gpu def test_my_gpu_code() -> None: ... +Similarly, use the mark `cpu_and_gpu` for tests that should be run twice, once on the CPU and once on the GPU. For +tests that do not require a GPU, but have longer running times and are better suited to run on the PR build, use the +mark `azureml`.