pytorch/test/cpp/tensorexpr
Will Constable 4f34cd6d1e Replace all CHECK_ and DCHECK_ with TORCH_* macros (#82032)
Avoid exposing defines that conflict with google logging, since this blocks external usage of libtorch in certain cases.

All the 'interesting' changes should be in these two files, and the rest should just be mechanical changes via sed.
c10/util/logging_is_not_google_glog.h
c10/util/logging_is_google_glog.h

Fixes https://github.com/pytorch/pytorch/issues/81415

cc @miladm @malfet
Pull Request resolved: https://github.com/pytorch/pytorch/pull/82032
Approved by: https://github.com/soumith, https://github.com/miladm
2022-07-26 01:20:44 +00:00
..
CMakeLists.txt Moving Remove Tensor Type Specializations to after custom passes 2022-04-11 22:12:01 +00:00
gtest_assert_float_eq.h
padded_buffer.cpp Replace all CHECK_ and DCHECK_ with TORCH_* macros (#82032) 2022-07-26 01:20:44 +00:00
padded_buffer.h
README.md
test_approx.cpp
test_aten.cpp
test_base.h Fix sign-compare violations in cpp tests 2022-04-04 23:05:31 +00:00
test_boundsinference.cpp [TensorExpr] Delet DimArg class. (#72390) 2022-02-11 01:21:59 +00:00
test_conv.cpp turn on -Werror=unused-function in our Bazel CPU build 2022-06-10 22:11:54 +00:00
test_cpp_codegen.cpp
test_cuda.cpp [TensorExpr] Delet DimArg class. (#72390) 2022-02-11 01:21:59 +00:00
test_dynamic_shapes.cpp Lock thread/block computation (#73800) 2022-03-04 22:32:08 +00:00
test_expr.cpp [NNC] Add utility functions to check channels-last contiguous (#75938) 2022-04-22 06:42:39 -07:00
test_external_calls.cpp [NNC] Lowering function generates the output buffer with the specified stride (#76529) 2022-05-04 20:04:22 +00:00
test_graph_opt.cpp [TensorExpr] Add some graph-rewrite passes to prepare models for AOT compilation. (#66515) 2022-01-07 01:03:53 -08:00
test_ir_printer.cpp [TensorExpr] Delet DimArg class. (#72390) 2022-02-11 01:21:59 +00:00
test_ir_verifier.cpp
test_kernel.cpp Replace all CHECK_ and DCHECK_ with TORCH_* macros (#82032) 2022-07-26 01:20:44 +00:00
test_llvm.cpp [TensorExpr] Delet DimArg class. (#72390) 2022-02-11 01:21:59 +00:00
test_loopnest.cpp Simplify IfThenElse and CompareSelect within for-loop (#76793) 2022-05-15 20:21:28 +00:00
test_memdependency.cpp [BE] Use CamelCase for enum class members (#79772) 2022-06-17 05:53:57 +00:00
test_memplanning.cpp [tensorexpre] Add typecast when src and dest buf types are different in PlacementAllocate (#71934) 2022-02-23 19:36:50 +00:00
test_ops.cpp [NNC] Lowering function generates the output buffer with the specified stride (#76529) 2022-05-04 20:04:22 +00:00
test_quantization.cpp Replace all CHECK_ and DCHECK_ with TORCH_* macros (#82032) 2022-07-26 01:20:44 +00:00
test_reductions.cpp turn on -Werror=unused-variable in our Bazel CPU build 2022-06-11 02:46:34 +00:00
test_registerizer.cpp
test_simplify.cpp Simplify IfThenElse and CompareSelect within for-loop (#76793) 2022-05-15 20:21:28 +00:00
test_te_fuser_pass.cpp Revert D34808051: [tensorexpr] Enabled aten::stack in the fuser pass with static shapes 2022-03-31 04:25:43 +00:00
test_type_specializations.cpp Moving Remove Tensor Type Specializations to after custom passes 2022-04-11 22:12:01 +00:00
test_type.cpp turn on -Werror=unused-variable in our Bazel CPU build 2022-06-11 02:46:34 +00:00
test_utils.h
tutorial.cpp turn on -Werror=unused-function in our Bazel CPU build 2022-06-10 22:11:54 +00:00

TensorExpr C++ Tests

How to add 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.

Here is an example test file you can copy-paste.

#include <test/cpp/tensorexpr/test_base.h>

// Tests go in torch::jit
namespace torch {
namespace jit {

// 1. Test cases are void() functions.
// 2. They start with the prefix `test`
void testCaseOne() {
    // ...
}

void testCaseTwo() {
    // ...
}
}
}

Then, register your test in tests.h:

// Add to TH_FORALL_TESTS_CUDA instead for CUDA-requiring tests
#define TH_FORALL_TESTS(_)             \
  _(ADFormulas)                        \
  _(Attributes)                        \
  ...
  _(CaseOne)  // note that the `test` prefix is omitted.
  _(CaseTwo)

We glob all the test files together in CMakeLists.txt so that you don't have to edit it every time you add a test. Unfortunately, this means that in order to get the build to pick up your new test file, you need to re-run cmake:

python setup.py build --cmake

How do I run the tests?

The following commands assume you are in PyTorch root.

# (re)build the test binary
ninja build/bin/test_tensorexpr
# run
build/bin/test_tensorexpr --gtest_filter='glob_style_filter*'