blob: b7cc81ea022eba9742d5daa734d97dd0aa2448c2 [file]
#pragma once
// This file defines assertion macros that work in both gtest and non-gtest
// builds, and has some common includes.
//
// 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
// 4. Include test_foo.h in gtest.cpp and no-gtest.cpp and register the tests
// there.
#include "torch/csrc/jit/ir.h"
#include "torch/csrc/jit/operator.h"
#if defined(USE_GTEST)
#include <gtest/gtest.h>
#include <test/cpp/common/support.h>
#else
#include "c10/util/Exception.h"
#define ASSERT_EQ(x, y) AT_ASSERT((x) == (y))
#define ASSERT_NE(x, y) AT_ASSERT((x) != (y))
#define ASSERT_TRUE AT_ASSERT
#define ASSERT_FALSE(x) ASSERT_TRUE(!(x))
#define ASSERT_THROWS_WITH(statement, substring) \
try { \
(void)statement; \
ASSERT_TRUE(false); \
} catch (const std::exception& e) { \
ASSERT_NE(std::string(e.what()).find(substring), std::string::npos); \
}
#define ASSERT_ANY_THROW(statement) \
bool threw = false; \
try { \
(void)statement; \
} catch (const std::exception& e) { \
threw = true; \
} \
ASSERT_TRUE(threw);
#endif // defined(USE_GTEST)
bool isSandcastle() {
return ((std::getenv("SANDCASTLE")) || \
(std::getenv("TW_JOB_USER") && std::string(std::getenv("TW_JOB_USER")) == "sandcastle"));
}