Files
pytorch/test/cpp/jit/test.cpp
Karl Ostmo 0bfc0eeef7 restore hidden visibility by default for Linux builds (#20461)
Summary:
Symbols are given hidden visibility by default on Linux to emulate the behavior on Windows.  This helps developers catch visibility issues in their streamlined Linux dev environment before being surprised, late in the process, by Windows errors.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/20461

Reviewed By: kostmo

Differential Revision: D15410410

Pulled By: dzhulgakov

fbshipit-source-id: 1d684b5a9a80b692966a775c3f1c56b7c72ffc95
2019-05-20 16:49:37 -07:00

127 lines
4.0 KiB
C++

#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_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_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) \
_(NetDefConverter) \
_(THNNConv) \
_(ATenNativeBatchNorm) \
_(NoneSchemaMatch) \
_(ClassParser) \
_(Profiler) \
_(InsertGuards) \
_(PeepholeOptimize) \
_(RecordFunction) \
_(SubgraphMatching) \
_(ModuleDefine) \
_(QualifiedName) \
_(ClassImport) \
_(ScriptObject)
#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