| # JIT C++ Tests |
| |
| ## Adding a new test |
| First, create a new test file. Test files should have be placed in this |
| directory, with a name that starts with `test_`, like `test_foo.cpp`. |
| |
| In general a single test suite |
| |
| Add your test file to the `JIT_TEST_SRCS` list in `test/cpp/jit/CMakeLists.txt`. |
| |
| A test file may look like: |
| ```cpp |
| #include <gtest/gtest.h> |
| |
| using namespace ::torch::jit |
| |
| TEST(FooTest, BarBaz) { |
| // ... |
| } |
| |
| // Append '_CUDA' to the test case name will automatically filter it out if CUDA |
| // is not compiled. |
| TEST(FooTest, NeedsAGpu_CUDA) { |
| // ... |
| } |
| |
| // Similarly, if only one GPU is detected, tests with `_MultiCUDA` at the end |
| // will not be run. |
| TEST(FooTest, NeedsMultipleGpus_MultiCUDA) { |
| // ... |
| } |
| ``` |
| |
| ## Building and running the tests |
| The following commands assume you are in PyTorch root. |
| |
| ```bash |
| # ... Build PyTorch from source, e.g. |
| python setup.py develop |
| # (re)build just the binary |
| ninja -C build bin/test_jit |
| # run tests |
| build/bin/test_jit --gtest_filter='glob_style_filter*' |
| ``` |