Commit 6b1009c6 authored by neverlord's avatar neverlord

new testing folder

parent e9b6839a
......@@ -43,3 +43,4 @@ variadic_templates_test.dSYM/
Makefile
unit_testing/Makefile
libcppa.so*
blob/cppatest
This diff is collapsed.
ACLOCAL_AMFLAGS = -I ../m4
bin_PROGRAMS = cppatest
cppatest_SOURCES = \
../src/abstract_tuple.cpp \
../src/abstract_type_list.cpp \
../src/actor_behavior.cpp \
../src/actor_count.cpp \
../src/actor.cpp \
../src/actor_proxy_cache.cpp \
../src/actor_proxy.cpp \
../src/actor_registry.cpp \
../src/addressed_message.cpp \
../src/any_tuple.cpp \
../src/any_tuple_iterator.cpp \
../src/atom.cpp \
../src/attachable.cpp \
../src/binary_deserializer.cpp \
../src/binary_serializer.cpp \
../src/blocking_message_queue.cpp \
../src/channel.cpp \
../src/local_actor.cpp \
../src/converted_thread_context.cpp \
../src/cppa.cpp \
../src/delegate.cpp \
../src/demangle.cpp \
../src/deserializer.cpp \
../src/duration.cpp \
../src/empty_tuple.cpp \
../src/exception.cpp \
../src/fiber.cpp \
../src/group.cpp \
../src/group_manager.cpp \
../src/intermediate.cpp \
../src/invokable.cpp \
../src/invoke_rules.cpp \
../src/mailman.cpp \
../src/matcher_arguments.cpp \
../src/message_queue.cpp \
../src/mock_scheduler.cpp \
../src/native_socket.cpp \
../src/network_manager.cpp \
../src/object_array.cpp \
../src/object.cpp \
../src/post_office.cpp \
../src/post_office_msg.cpp \
../src/primitive_variant.cpp \
../src/process_information.cpp \
../src/ripemd_160.cpp \
../src/scheduled_actor.cpp \
../src/scheduler.cpp \
../src/serializer.cpp \
../src/shared_spinlock.cpp \
../src/singleton_manager.cpp \
../src/string_serialization.cpp \
../src/task_scheduler.cpp \
../src/thread_pool_scheduler.cpp \
../src/to_uniform_name.cpp \
../src/unicast_network.cpp \
../src/uniform_type_info.cpp \
../src/yielding_message_queue.cpp \
../src/yield_interface.cpp \
../unit_testing/hash_of.cpp \
../unit_testing/main.cpp \
../unit_testing/ping_pong.cpp \
../unit_testing/test__a_matches_b.cpp \
../unit_testing/test__atom.cpp \
../unit_testing/test__intrusive_ptr.cpp \
../unit_testing/test__local_group.cpp \
../unit_testing/test__primitive_variant.cpp \
../unit_testing/test__queue_performance.cpp \
../unit_testing/test__remote_actor.cpp \
../unit_testing/test__ripemd_160.cpp \
../unit_testing/test__serialization.cpp \
../unit_testing/test__spawn.cpp \
../unit_testing/test__tuple.cpp \
../unit_testing/test__type_list.cpp \
../unit_testing/test__uniform_type.cpp
AM_CPPFLAGS = -I../
cppatest_CXXFLAGS = --std=c++0x -pedantic -Wall -Wextra
AM_LDFLAGS = $(BOOST_LDFLAGS) $(BOOST_THREAD_LIB)
AC_PREREQ([2.6])
AC_INIT([cppatest], [0.1])
AM_INIT_AUTOMAKE(@PACKAGE_NAME@, @PACKAGE_VERSION@)
AC_CONFIG_MACRO_DIR([../m4])
AC_PROG_CXX
# check for boost and boost_thread
AX_BOOST_BASE([1.42.0])
AX_BOOST_THREAD
# check for C++0x compatibility
AC_LANG([C++])
ORIGINAL_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS -Werror --std=c++0x"
AC_CACHE_CHECK(
[whether C++ compiler supports variadic templates],
[ac_cv_cpp_variadic_templates],
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include "../variadic_templates_test.cpp"]])],
[ac_cv_cpp_variadic_templates=yes],
[ac_cv_cpp_variadic_templates=no]))
AC_CACHE_CHECK(
[whether C++ compiler supports nullptr],
[ac_cv_cpp_nullptr],
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[static void* myptr = nullptr;]])],
[ac_cv_cpp_nullptr=yes],
[ac_cv_cpp_nullptr=no]))
AS_IF(
[test "x$ac_cv_cpp_variadic_templates" = "xyes" &&
test "x$ac_cv_cpp_nullptr" = "xyes"],
[],
[AC_MSG_ERROR([at least one required C++ compiler feature is not supported])])
CPPFLAGS="$ORIGINAL_CPPFLAGS"
# environment
AC_ARG_VAR([NO_VERSIONED_INCLUDE_DIR], [set this to 1 in order to install headers into <prefix>/cppa/ rather than into <prefix>/cppa/<version>/cppa/])
AM_CONDITIONAL([VERSIONED_INCLUDE_DIR], [test "x$NO_VERSIONED_INCLUDE_DIR" != "x1"])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
......@@ -115,8 +115,28 @@ inline bool found_key(Iterator& i, Container& cont, Key&& key)
return (i = cont.find(std::forward<Key>(key))) != cont.end();
}
void print_terminator()
{
if (std::uncaught_exception())
{
try { throw; }
catch (std::exception& e)
{
cerr << "terminate called with an active exception:\n"
<< typeid(e).name() << "; what(): " << e.what() << endl;
}
catch (...)
{
cerr << "terminate called with a non-std exception" << endl;
}
}
abort();
}
int main(int argc, char** argv)
{
std::set_terminate(print_terminator);
auto args = get_kv_pairs(argc, argv);
if (!args.empty())
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment