25#define CATCH_CONFIG_RUNNER
27#include <catch2/catch_session.hpp>
28#include <catch2/catch_test_macros.hpp>
29#include <catch2/benchmark/catch_benchmark.hpp>
33int main(
int argc,
char* argv[]) {
34#ifdef SMARTSPECTRA_TEST_USE_PYTHON
35 wchar_t* program = Py_DecodeLocale(argv[0],
nullptr);
36 if (program ==
nullptr) {
37 fprintf(stderr,
"Fatal error: cannot decode argv[0]\n");
40 Py_SetProgramName(program);
43 int result = Catch::Session().run(argc, argv);
44#ifdef SMARTSPECTRA_TEST_USE_PYTHON
45 if (Py_FinalizeEx() < 0) {
48 PyMem_RawFree(program);
50 return (result < 0xff ? result : 0xff);