blob: 25c628c3a9d8436792fd346df0e65b3d57062b64 [file] [log] [blame]
#if defined(USE_GTEST)
#include <gtest/gtest.h>
#endif
#include <c10/macros/Export.h>
// To add a new test file:
// 1. Add a test_foo.h file in this directory
// 2. include test_base.h
// 3. Write your tests as pure functions starting with "test", like "testFoo"
// 4. Include test_foo.h here and add it to the appropriate macro listing
#include <test/cpp/jit/test_alias_analysis.h>
#include <test/cpp/jit/test_argument_spec.h>
#include <test/cpp/jit/test_autodiff.h>
#include <test/cpp/jit/test_class_import.h>
#include <test/cpp/jit/test_class_parser.h>
#include <test/cpp/jit/test_code_template.h>
#include <test/cpp/jit/test_constant_pooling.h>
#include <test/cpp/jit/test_constant_propagation.h>
#include <test/cpp/jit/test_create_autodiff_subgraphs.h>
#include <test/cpp/jit/test_custom_operators.h>
#include <test/cpp/jit/test_dynamic_dag.h>
#include <test/cpp/jit/test_fuser.h>
#include <test/cpp/jit/test_graph_executor.h>
#include <test/cpp/jit/test_interpreter.h>
#include <test/cpp/jit/test_ir.h>
#include <test/cpp/jit/test_irparser.h>
#include <test/cpp/jit/test_ivalue.h>
#include <test/cpp/jit/test_misc.h>
#include <test/cpp/jit/test_netdef_converter.h>
#include <test/cpp/jit/test_peephole_optimize.h>
#include <test/cpp/jit/test_qualified_name.h>
#include <test/cpp/jit/test_save_load.h>
#include <test/cpp/jit/test_subgraph_matcher.h>
#include <test/cpp/jit/test_subgraph_utils.h>
#include <torch/csrc/WindowsTorchApiMacro.h>
using namespace torch::jit::script;
using namespace torch::jit::test;
namespace torch {
namespace jit {
#define TH_FORALL_TESTS(_) \
_(ADFormulas) \
_(Attributes) \
_(Blocks) \
_(CodeTemplate) \
_(ControlFlow) \
_(CreateAutodiffSubgraphs) \
_(CustomOperators) \
_(CustomOperatorAliasing) \
_(IValueKWargs) \
_(CustomFusion) \
_(Differentiate) \
_(DifferentiateWithRequiresGrad) \
_(DynamicDAG) \
_(FromQualString) \
_(InternedStrings) \
_(IValue) \
_(PassManagement) \
_(Proto) \
_(RegisterFusionCachesKernel) \
_(SchemaParser) \
_(TopologicalIndex) \
_(TopologicalMove) \
_(SubgraphUtils) \
_(AliasAnalysis) \
_(ContainerAliasing) \
_(AliasRegistration) \
_(WriteTracking) \
_(Wildcards) \
_(MemoryDAG) \
_(IRParser) \
_(ConstantPooling) \
_(ConstantPropagation) \
_(NetDefConverter) \
_(THNNConv) \
_(ATenNativeBatchNorm) \
_(NoneSchemaMatch) \
_(ClassParser) \
_(Profiler) \
_(InsertAndEliminateRedundantGuards) \
_(InsertBailOuts) \
_(PeepholeOptimize) \
_(RecordFunction) \
_(SubgraphMatching) \
_(ModuleDefine) \
_(QualifiedName) \
_(ClassImport) \
_(ScriptObject) \
_(SaveExtraFilesHook)
#define TH_FORALL_TESTS_CUDA(_) \
_(ArgumentSpec) \
_(CompleteArgumentSpec) \
_(Fusion) \
_(GraphExecutor) \
_(ModuleConversion) \
_(Interp)
#if defined(USE_GTEST)
#define JIT_GTEST(name) \
TEST(JitTest, name) { \
test##name(); \
}
TH_FORALL_TESTS(JIT_GTEST)
#undef JIT_TEST
#define JIT_GTEST_CUDA(name) \
TEST(JitTest, name##_CUDA) { \
test##name(); \
}
TH_FORALL_TESTS_CUDA(JIT_GTEST_CUDA)
#undef JIT_TEST_CUDA
#endif
#define JIT_TEST(name) test##name();
TORCH_API void runJITCPPTests(bool runCuda) {
TH_FORALL_TESTS(JIT_TEST)
if (runCuda) {
TH_FORALL_TESTS_CUDA(JIT_TEST)
}
// This test is special since it requires prior setup in python.
// So it's included here but not in the pure cpp gtest suite
testEvalModeForLoadedModule();
}
#undef JIT_TEST
} // namespace jit
} // namespace torch