| # C++ Frontend Tests | |
| In this folder live the tests for PyTorch's C++ Frontend. They use the | |
| [GoogleTest](https://github.com/google/googletest) test framework. | |
| ## CUDA Tests | |
| To make a test runnable only on platforms with CUDA, you should suffix your | |
| test with `_CUDA`, e.g. | |
| ```cpp | |
| TEST(MyTestSuite, MyTestCase_CUDA) { } | |
| ``` | |
| To make it runnable only on platforms with at least two CUDA machines, suffix | |
| it with `_MultiCUDA` instead of `_CUDA`, e.g. | |
| ```cpp | |
| TEST(MyTestSuite, MyTestCase_MultiCUDA) { } | |
| ``` | |
| There is logic in `main.cpp` that detects the availability and number of CUDA | |
| devices and supplies the appropriate negative filters to GoogleTest. | |
| ## Integration Tests | |
| Integration tests use the MNIST dataset. You must download it by running the | |
| following command from the PyTorch root folder: | |
| ```sh | |
| $ python tools/download_mnist.py -d test/cpp/api/mnist | |
| ``` | |
| The required paths will be referenced as `test/cpp/api/mnist/...` in the test | |
| code, so you *must* run the integration tests from the PyTorch root folder. |