1// The Catch implementation is compiled here. This is a standalone 2// translation unit to avoid recompiling it for every test change. 3 4#include <pybind11/embed.h> 5 6#ifdef _MSC_VER 7// Silence MSVC C++17 deprecation warning from Catch regarding std::uncaught_exceptions (up to catch 8// 2.0.1; this should be fixed in the next catch release after 2.0.1). 9# pragma warning(disable: 4996) 10#endif 11 12#define CATCH_CONFIG_RUNNER 13#include <catch.hpp> 14 15namespace py = pybind11; 16 17int main(int argc, char *argv[]) { 18 py::scoped_interpreter guard{}; 19 auto result = Catch::Session().run(argc, argv); 20 21 return result < 0xff ? result : 0xff; 22} 23