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 15 namespace py = pybind11; 16 main(int argc,char * argv[])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