| # 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. |