sol2/tests/regression_tests/simple/source/main.cpp

45 lines
1.1 KiB
C++
Raw Normal View History

2021-05-09 18:07:01 +08:00
#include <cstddef>
using f_ptr = unsigned int();
extern unsigned int regression_1000();
extern unsigned int regression_1008();
extern unsigned int regression_1067();
extern unsigned int regression_1072();
extern unsigned int regression_1087();
extern unsigned int regression_1095();
extern unsigned int regression_1096();
extern unsigned int regression_1149();
2021-05-10 18:41:45 +08:00
extern unsigned int regression_1192();
2021-10-24 06:13:25 +08:00
extern unsigned int regression_1211();
2021-05-09 18:07:01 +08:00
2021-10-24 06:13:25 +08:00
static f_ptr* const regression_tests_regressions[] = { &regression_1008,
&regression_1000,
&regression_1067,
&regression_1072,
&regression_1087,
&regression_1095,
&regression_1096,
&regression_1149,
&regression_1192,
&regression_1211 };
2021-05-09 18:07:01 +08:00
static const int regression_tests_sizeof_regressions = sizeof(regression_tests_regressions) / sizeof(regression_tests_regressions[0]);
int trampoline(f_ptr* f) {
try {
return f();
}
catch (...) {
}
return 1;
}
int main(int, char*[]) {
int r = 0;
for (std::size_t i = 0; i < regression_tests_sizeof_regressions; ++i) {
f_ptr* f = regression_tests_regressions[i];
r += static_cast<int>(trampoline(f) != 0u);
}
return r;
}