libuav original
Dependents: UAVCAN UAVCAN_Subscriber
test_main.cpp
00001 /* 00002 * Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com> 00003 */ 00004 00005 #include <gtest/gtest.h> 00006 #include <uavcan/build_config.hpp> 00007 #include <cstdio> 00008 #include <cstdlib> 00009 #include <execinfo.h> 00010 #include <signal.h> 00011 #include <unistd.h> 00012 00013 static void sigsegv_handler(int sig) 00014 { 00015 const int BacktraceSize = 32; 00016 void* array[BacktraceSize]; 00017 const int size = backtrace(array, BacktraceSize); 00018 00019 std::fprintf(stderr, "SIGNAL %d RECEIVED; STACKTRACE:\n", sig); 00020 backtrace_symbols_fd(array, size, STDERR_FILENO); 00021 std::exit(1); 00022 } 00023 00024 int main(int argc, char **argv) 00025 { 00026 signal(SIGSEGV, sigsegv_handler); 00027 00028 #ifndef UAVCAN_CPP_VERSION 00029 # error UAVCAN_CPP_VERSION 00030 #endif 00031 #if UAVCAN_CPP_VERSION == UAVCAN_CPP11 00032 std::cout << "C++11" << std::endl; 00033 #elif UAVCAN_CPP_VERSION == UAVCAN_CPP03 00034 std::cout << "C++03" << std::endl; 00035 #else 00036 # error UAVCAN_CPP_VERSION 00037 #endif 00038 00039 ::testing::InitGoogleTest(&argc, argv); 00040 return RUN_ALL_TESTS(); 00041 }
Generated on Tue Jul 12 2022 17:17:34 by 1.7.2