/* THIS FILE IS AUTOMATICALLY GENERATED BY EXOTIC - DO NOT EDIT THIS FILE! */ /* exotic/0.4 (Mon Nov 7 11:15:31 CET 2011) */ #define __EXOTIC__STANDALONE__ /* * Exotic (EXtatic.Org Test InfrastuCture) * Copyright (c) 2007, Jan Vidar Krey */ #ifndef EXO_TEST #define EXO_TEST(NAME, block) int exotic_test_ ## NAME (void) block #endif #ifndef HAVE_EXOTIC_AUTOTEST_H #define HAVE_EXOTIC_AUTOTEST_H #ifdef __cplusplus extern "C" { #endif typedef int(*exo_test_t)(); enum exo_toggle { cfg_default, cfg_off, cfg_on }; struct exotic_handle { enum exo_toggle config_show_summary; enum exo_toggle config_show_pass; enum exo_toggle config_show_fail; unsigned int fail; unsigned int pass; struct exo_test_data* first; struct exo_test_data* current; }; extern int exotic_initialize(struct exotic_handle* handle, int argc, char** argv); extern void exotic_add_test(struct exotic_handle* handle, exo_test_t, const char* name); extern int exotic_run(struct exotic_handle* handle); #ifdef __cplusplus } #endif #endif /* HAVE_EXOTIC_AUTOTEST_H */ #include "test_commands.tcc" #include "test_credentials.tcc" #include "test_eventqueue.tcc" #include "test_hub.tcc" #include "test_inf.tcc" #include "test_ipfilter.tcc" #include "test_list.tcc" #include "test_memory.tcc" #include "test_message.tcc" #include "test_misc.tcc" #include "test_sid.tcc" #include "test_tiger.tcc" #include "test_timer.tcc" #include "test_tokenizer.tcc" #include "test_usermanager.tcc" int main(int argc, char** argv) { struct exotic_handle handle; if (exotic_initialize(&handle, argc, argv) == -1) return -1; /* Register the tests to be run */ exotic_add_test(&handle, &exotic_test_setup, "setup"); exotic_add_test(&handle, &exotic_test_command_setup_user, "command_setup_user"); exotic_add_test(&handle, &exotic_test_command_create, "command_create"); exotic_add_test(&handle, &exotic_test_command_access_1, "command_access_1"); exotic_add_test(&handle, &exotic_test_command_access_2, "command_access_2"); exotic_add_test(&handle, &exotic_test_command_access_3, "command_access_3"); exotic_add_test(&handle, &exotic_test_command_syntax_1, "command_syntax_1"); exotic_add_test(&handle, &exotic_test_command_syntax_2, "command_syntax_2"); exotic_add_test(&handle, &exotic_test_command_missing_args_1, "command_missing_args_1"); exotic_add_test(&handle, &exotic_test_command_missing_args_2, "command_missing_args_2"); exotic_add_test(&handle, &exotic_test_command_missing_args_3, "command_missing_args_3"); exotic_add_test(&handle, &exotic_test_command_number_1, "command_number_1"); exotic_add_test(&handle, &exotic_test_command_number_2, "command_number_2"); exotic_add_test(&handle, &exotic_test_command_number_3, "command_number_3"); exotic_add_test(&handle, &exotic_test_command_user_1, "command_user_1"); exotic_add_test(&handle, &exotic_test_command_user_2, "command_user_2"); exotic_add_test(&handle, &exotic_test_command_user_3, "command_user_3"); exotic_add_test(&handle, &exotic_test_command_user_4, "command_user_4"); exotic_add_test(&handle, &exotic_test_command_user_5, "command_user_5"); exotic_add_test(&handle, &exotic_test_command_command_1, "command_command_1"); exotic_add_test(&handle, &exotic_test_command_command_2, "command_command_2"); exotic_add_test(&handle, &exotic_test_command_command_3, "command_command_3"); exotic_add_test(&handle, &exotic_test_command_command_4, "command_command_4"); exotic_add_test(&handle, &exotic_test_command_command_5, "command_command_5"); exotic_add_test(&handle, &exotic_test_command_command_6, "command_command_6"); exotic_add_test(&handle, &exotic_test_command_command_7, "command_command_7"); exotic_add_test(&handle, &exotic_test_command_command_8, "command_command_8"); exotic_add_test(&handle, &exotic_test_command_cred_1, "command_cred_1"); exotic_add_test(&handle, &exotic_test_command_cred_2, "command_cred_2"); exotic_add_test(&handle, &exotic_test_command_cred_3, "command_cred_3"); exotic_add_test(&handle, &exotic_test_command_cred_4, "command_cred_4"); exotic_add_test(&handle, &exotic_test_command_cred_5, "command_cred_5"); exotic_add_test(&handle, &exotic_test_command_cred_6, "command_cred_6"); exotic_add_test(&handle, &exotic_test_command_cred_7, "command_cred_7"); exotic_add_test(&handle, &exotic_test_command_cred_8, "command_cred_8"); exotic_add_test(&handle, &exotic_test_command_parse_3, "command_parse_3"); exotic_add_test(&handle, &exotic_test_command_parse_4, "command_parse_4"); exotic_add_test(&handle, &exotic_test_command_argument_integer_1, "command_argument_integer_1"); exotic_add_test(&handle, &exotic_test_command_argument_integer_2, "command_argument_integer_2"); exotic_add_test(&handle, &exotic_test_command_argument_integer_3, "command_argument_integer_3"); exotic_add_test(&handle, &exotic_test_command_argument_user_1, "command_argument_user_1"); exotic_add_test(&handle, &exotic_test_command_argument_cid_1, "command_argument_cid_1"); exotic_add_test(&handle, &exotic_test_command_argument_cred_1, "command_argument_cred_1"); exotic_add_test(&handle, &exotic_test_command_argument_cred_2, "command_argument_cred_2"); exotic_add_test(&handle, &exotic_test_command_argument_cred_3, "command_argument_cred_3"); exotic_add_test(&handle, &exotic_test_command_argument_cred_4, "command_argument_cred_4"); exotic_add_test(&handle, &exotic_test_command_argument_cred_5, "command_argument_cred_5"); exotic_add_test(&handle, &exotic_test_command_argument_cred_6, "command_argument_cred_6"); exotic_add_test(&handle, &exotic_test_command_user_destroy, "command_user_destroy"); exotic_add_test(&handle, &exotic_test_command_destroy, "command_destroy"); exotic_add_test(&handle, &exotic_test_cleanup, "cleanup"); exotic_add_test(&handle, &exotic_test_cred_to_string_1, "cred_to_string_1"); exotic_add_test(&handle, &exotic_test_cred_to_string_2, "cred_to_string_2"); exotic_add_test(&handle, &exotic_test_cred_to_string_3, "cred_to_string_3"); exotic_add_test(&handle, &exotic_test_cred_to_string_4, "cred_to_string_4"); exotic_add_test(&handle, &exotic_test_cred_to_string_5, "cred_to_string_5"); exotic_add_test(&handle, &exotic_test_cred_to_string_6, "cred_to_string_6"); exotic_add_test(&handle, &exotic_test_cred_to_string_7, "cred_to_string_7"); exotic_add_test(&handle, &exotic_test_cred_to_string_8, "cred_to_string_8"); exotic_add_test(&handle, &exotic_test_cred_from_string_1, "cred_from_string_1"); exotic_add_test(&handle, &exotic_test_cred_from_string_2, "cred_from_string_2"); exotic_add_test(&handle, &exotic_test_cred_from_string_3, "cred_from_string_3"); exotic_add_test(&handle, &exotic_test_cred_from_string_4, "cred_from_string_4"); exotic_add_test(&handle, &exotic_test_cred_from_string_5, "cred_from_string_5"); exotic_add_test(&handle, &exotic_test_cred_from_string_6, "cred_from_string_6"); exotic_add_test(&handle, &exotic_test_cred_from_string_7, "cred_from_string_7"); exotic_add_test(&handle, &exotic_test_cred_from_string_8, "cred_from_string_8"); exotic_add_test(&handle, &exotic_test_cred_from_string_9, "cred_from_string_9"); exotic_add_test(&handle, &exotic_test_cred_from_string_10, "cred_from_string_10"); exotic_add_test(&handle, &exotic_test_eventqueue_init_1, "eventqueue_init_1"); exotic_add_test(&handle, &exotic_test_eventqueue_init_2, "eventqueue_init_2"); exotic_add_test(&handle, &exotic_test_eventqueue_post_1, "eventqueue_post_1"); exotic_add_test(&handle, &exotic_test_eventqueue_process_1, "eventqueue_process_1"); exotic_add_test(&handle, &exotic_test_eventqueue_size_1, "eventqueue_size_1"); exotic_add_test(&handle, &exotic_test_eventqueue_post_2, "eventqueue_post_2"); exotic_add_test(&handle, &exotic_test_eventqueue_size_2, "eventqueue_size_2"); exotic_add_test(&handle, &exotic_test_eventqueue_post_3, "eventqueue_post_3"); exotic_add_test(&handle, &exotic_test_eventqueue_size_3, "eventqueue_size_3"); exotic_add_test(&handle, &exotic_test_eventqueue_process_2, "eventqueue_process_2"); exotic_add_test(&handle, &exotic_test_eventqueue_size_4, "eventqueue_size_4"); exotic_add_test(&handle, &exotic_test_eventqueue_shutdown_1, "eventqueue_shutdown_1"); exotic_add_test(&handle, &exotic_test_hub_net_startup, "hub_net_startup"); exotic_add_test(&handle, &exotic_test_hub_config_initialize, "hub_config_initialize"); exotic_add_test(&handle, &exotic_test_hub_acl_initialize, "hub_acl_initialize"); exotic_add_test(&handle, &exotic_test_hub_service_initialize, "hub_service_initialize"); exotic_add_test(&handle, &exotic_test_hub_variables_startup, "hub_variables_startup"); exotic_add_test(&handle, &exotic_test_hub_variables_shutdown, "hub_variables_shutdown"); exotic_add_test(&handle, &exotic_test_hub_acl_shutdown, "hub_acl_shutdown"); exotic_add_test(&handle, &exotic_test_hub_config_shutdown, "hub_config_shutdown"); exotic_add_test(&handle, &exotic_test_hub_service_shutdown, "hub_service_shutdown"); exotic_add_test(&handle, &exotic_test_hub_net_shutdown, "hub_net_shutdown"); exotic_add_test(&handle, &exotic_test_inf_create_setup, "inf_create_setup"); exotic_add_test(&handle, &exotic_test_inf_ok_1, "inf_ok_1"); exotic_add_test(&handle, &exotic_test_inf_cid_1, "inf_cid_1"); exotic_add_test(&handle, &exotic_test_inf_cid_2, "inf_cid_2"); exotic_add_test(&handle, &exotic_test_inf_cid_3, "inf_cid_3"); exotic_add_test(&handle, &exotic_test_inf_cid_4, "inf_cid_4"); exotic_add_test(&handle, &exotic_test_inf_cid_5, "inf_cid_5"); exotic_add_test(&handle, &exotic_test_inf_cid_6, "inf_cid_6"); exotic_add_test(&handle, &exotic_test_inf_cid_7, "inf_cid_7"); exotic_add_test(&handle, &exotic_test_inf_cid_8, "inf_cid_8"); exotic_add_test(&handle, &exotic_test_inf_cid_9, "inf_cid_9"); exotic_add_test(&handle, &exotic_test_inf_pid_1, "inf_pid_1"); exotic_add_test(&handle, &exotic_test_inf_pid_2, "inf_pid_2"); exotic_add_test(&handle, &exotic_test_inf_pid_3, "inf_pid_3"); exotic_add_test(&handle, &exotic_test_inf_pid_4, "inf_pid_4"); exotic_add_test(&handle, &exotic_test_inf_pid_5, "inf_pid_5"); exotic_add_test(&handle, &exotic_test_inf_pid_6, "inf_pid_6"); exotic_add_test(&handle, &exotic_test_inf_pid_7, "inf_pid_7"); exotic_add_test(&handle, &exotic_test_inf_pid_8, "inf_pid_8"); exotic_add_test(&handle, &exotic_test_inf_pid_9, "inf_pid_9"); exotic_add_test(&handle, &exotic_test_inf_nick_01, "inf_nick_01"); exotic_add_test(&handle, &exotic_test_inf_nick_02, "inf_nick_02"); exotic_add_test(&handle, &exotic_test_inf_nick_03, "inf_nick_03"); exotic_add_test(&handle, &exotic_test_inf_nick_04, "inf_nick_04"); exotic_add_test(&handle, &exotic_test_inf_nick_05, "inf_nick_05"); exotic_add_test(&handle, &exotic_test_inf_nick_06, "inf_nick_06"); exotic_add_test(&handle, &exotic_test_inf_nick_07, "inf_nick_07"); exotic_add_test(&handle, &exotic_test_inf_nick_08, "inf_nick_08"); exotic_add_test(&handle, &exotic_test_inf_nick_09, "inf_nick_09"); exotic_add_test(&handle, &exotic_test_inf_nick_10, "inf_nick_10"); exotic_add_test(&handle, &exotic_test_inf_limits_1, "inf_limits_1"); exotic_add_test(&handle, &exotic_test_inf_limits_2, "inf_limits_2"); exotic_add_test(&handle, &exotic_test_inf_limits_3, "inf_limits_3"); exotic_add_test(&handle, &exotic_test_inf_limits_4, "inf_limits_4"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_setup, "inf_limit_hubs_setup"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_1, "inf_limit_hubs_1"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_2, "inf_limit_hubs_2"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_3, "inf_limit_hubs_3"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_4, "inf_limit_hubs_4"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_5, "inf_limit_hubs_5"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_6, "inf_limit_hubs_6"); exotic_add_test(&handle, &exotic_test_inf_limit_hubs_7, "inf_limit_hubs_7"); exotic_add_test(&handle, &exotic_test_inf_destroy_setup, "inf_destroy_setup"); exotic_add_test(&handle, &exotic_test_prepare_network, "prepare_network"); exotic_add_test(&handle, &exotic_test_check_ipv6, "check_ipv6"); exotic_add_test(&handle, &exotic_test_create_addresses_1, "create_addresses_1"); exotic_add_test(&handle, &exotic_test_create_addresses_2, "create_addresses_2"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_1, "ip_is_valid_ipv4_1"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_2, "ip_is_valid_ipv4_2"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_3, "ip_is_valid_ipv4_3"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_4, "ip_is_valid_ipv4_4"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_5, "ip_is_valid_ipv4_5"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_6, "ip_is_valid_ipv4_6"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_7, "ip_is_valid_ipv4_7"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_8, "ip_is_valid_ipv4_8"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv4_9, "ip_is_valid_ipv4_9"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv6_1, "ip_is_valid_ipv6_1"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv6_2, "ip_is_valid_ipv6_2"); exotic_add_test(&handle, &exotic_test_ip_is_valid_ipv6_3, "ip_is_valid_ipv6_3"); exotic_add_test(&handle, &exotic_test_ip4_compare_1, "ip4_compare_1"); exotic_add_test(&handle, &exotic_test_ip4_compare_2, "ip4_compare_2"); exotic_add_test(&handle, &exotic_test_ip4_compare_3, "ip4_compare_3"); exotic_add_test(&handle, &exotic_test_ip4_compare_4, "ip4_compare_4"); exotic_add_test(&handle, &exotic_test_ip4_compare_5, "ip4_compare_5"); exotic_add_test(&handle, &exotic_test_ip4_compare_6, "ip4_compare_6"); exotic_add_test(&handle, &exotic_test_ip6_compare_1, "ip6_compare_1"); exotic_add_test(&handle, &exotic_test_ip6_compare_2, "ip6_compare_2"); exotic_add_test(&handle, &exotic_test_ip6_compare_3, "ip6_compare_3"); exotic_add_test(&handle, &exotic_test_ip6_compare_4, "ip6_compare_4"); exotic_add_test(&handle, &exotic_test_ip6_compare_5, "ip6_compare_5"); exotic_add_test(&handle, &exotic_test_ip6_compare_6, "ip6_compare_6"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_0, "ipv4_lmask_create_0"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_1, "ipv4_lmask_create_1"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_2, "ipv4_lmask_create_2"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_3, "ipv4_lmask_create_3"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_4, "ipv4_lmask_create_4"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_5, "ipv4_lmask_create_5"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_6, "ipv4_lmask_create_6"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_7, "ipv4_lmask_create_7"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_8, "ipv4_lmask_create_8"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_9, "ipv4_lmask_create_9"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_10, "ipv4_lmask_create_10"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_11, "ipv4_lmask_create_11"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_12, "ipv4_lmask_create_12"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_13, "ipv4_lmask_create_13"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_14, "ipv4_lmask_create_14"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_15, "ipv4_lmask_create_15"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_16, "ipv4_lmask_create_16"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_17, "ipv4_lmask_create_17"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_18, "ipv4_lmask_create_18"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_19, "ipv4_lmask_create_19"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_20, "ipv4_lmask_create_20"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_21, "ipv4_lmask_create_21"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_22, "ipv4_lmask_create_22"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_23, "ipv4_lmask_create_23"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_24, "ipv4_lmask_create_24"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_25, "ipv4_lmask_create_25"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_26, "ipv4_lmask_create_26"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_27, "ipv4_lmask_create_27"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_28, "ipv4_lmask_create_28"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_29, "ipv4_lmask_create_29"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_30, "ipv4_lmask_create_30"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_31, "ipv4_lmask_create_31"); exotic_add_test(&handle, &exotic_test_ipv4_lmask_create_32, "ipv4_lmask_create_32"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_0, "ipv4_rmask_create_0"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_1, "ipv4_rmask_create_1"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_2, "ipv4_rmask_create_2"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_3, "ipv4_rmask_create_3"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_4, "ipv4_rmask_create_4"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_5, "ipv4_rmask_create_5"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_6, "ipv4_rmask_create_6"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_7, "ipv4_rmask_create_7"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_8, "ipv4_rmask_create_8"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_9, "ipv4_rmask_create_9"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_10, "ipv4_rmask_create_10"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_11, "ipv4_rmask_create_11"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_12, "ipv4_rmask_create_12"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_13, "ipv4_rmask_create_13"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_14, "ipv4_rmask_create_14"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_15, "ipv4_rmask_create_15"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_16, "ipv4_rmask_create_16"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_17, "ipv4_rmask_create_17"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_18, "ipv4_rmask_create_18"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_19, "ipv4_rmask_create_19"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_20, "ipv4_rmask_create_20"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_21, "ipv4_rmask_create_21"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_22, "ipv4_rmask_create_22"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_23, "ipv4_rmask_create_23"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_24, "ipv4_rmask_create_24"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_25, "ipv4_rmask_create_25"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_26, "ipv4_rmask_create_26"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_27, "ipv4_rmask_create_27"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_28, "ipv4_rmask_create_28"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_29, "ipv4_rmask_create_29"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_30, "ipv4_rmask_create_30"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_31, "ipv4_rmask_create_31"); exotic_add_test(&handle, &exotic_test_ipv4_rmask_create_32, "ipv4_rmask_create_32"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_0, "ip6_lmask_create_0"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_1, "ip6_lmask_create_1"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_2, "ip6_lmask_create_2"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_3, "ip6_lmask_create_3"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_4, "ip6_lmask_create_4"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_5, "ip6_lmask_create_5"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_6, "ip6_lmask_create_6"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_7, "ip6_lmask_create_7"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_8, "ip6_lmask_create_8"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_9, "ip6_lmask_create_9"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_10, "ip6_lmask_create_10"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_11, "ip6_lmask_create_11"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_12, "ip6_lmask_create_12"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_13, "ip6_lmask_create_13"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_14, "ip6_lmask_create_14"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_15, "ip6_lmask_create_15"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_16, "ip6_lmask_create_16"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_17, "ip6_lmask_create_17"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_18, "ip6_lmask_create_18"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_19, "ip6_lmask_create_19"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_20, "ip6_lmask_create_20"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_21, "ip6_lmask_create_21"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_22, "ip6_lmask_create_22"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_23, "ip6_lmask_create_23"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_24, "ip6_lmask_create_24"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_25, "ip6_lmask_create_25"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_26, "ip6_lmask_create_26"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_27, "ip6_lmask_create_27"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_28, "ip6_lmask_create_28"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_29, "ip6_lmask_create_29"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_30, "ip6_lmask_create_30"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_31, "ip6_lmask_create_31"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_32, "ip6_lmask_create_32"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_33, "ip6_lmask_create_33"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_34, "ip6_lmask_create_34"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_35, "ip6_lmask_create_35"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_36, "ip6_lmask_create_36"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_37, "ip6_lmask_create_37"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_38, "ip6_lmask_create_38"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_39, "ip6_lmask_create_39"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_40, "ip6_lmask_create_40"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_41, "ip6_lmask_create_41"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_42, "ip6_lmask_create_42"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_43, "ip6_lmask_create_43"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_44, "ip6_lmask_create_44"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_45, "ip6_lmask_create_45"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_46, "ip6_lmask_create_46"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_47, "ip6_lmask_create_47"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_48, "ip6_lmask_create_48"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_49, "ip6_lmask_create_49"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_50, "ip6_lmask_create_50"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_51, "ip6_lmask_create_51"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_52, "ip6_lmask_create_52"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_53, "ip6_lmask_create_53"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_54, "ip6_lmask_create_54"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_55, "ip6_lmask_create_55"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_56, "ip6_lmask_create_56"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_57, "ip6_lmask_create_57"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_58, "ip6_lmask_create_58"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_59, "ip6_lmask_create_59"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_60, "ip6_lmask_create_60"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_61, "ip6_lmask_create_61"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_62, "ip6_lmask_create_62"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_63, "ip6_lmask_create_63"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_64, "ip6_lmask_create_64"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_65, "ip6_lmask_create_65"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_66, "ip6_lmask_create_66"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_67, "ip6_lmask_create_67"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_68, "ip6_lmask_create_68"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_69, "ip6_lmask_create_69"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_70, "ip6_lmask_create_70"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_71, "ip6_lmask_create_71"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_72, "ip6_lmask_create_72"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_73, "ip6_lmask_create_73"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_74, "ip6_lmask_create_74"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_75, "ip6_lmask_create_75"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_76, "ip6_lmask_create_76"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_77, "ip6_lmask_create_77"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_78, "ip6_lmask_create_78"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_79, "ip6_lmask_create_79"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_80, "ip6_lmask_create_80"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_81, "ip6_lmask_create_81"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_82, "ip6_lmask_create_82"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_83, "ip6_lmask_create_83"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_84, "ip6_lmask_create_84"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_85, "ip6_lmask_create_85"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_86, "ip6_lmask_create_86"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_87, "ip6_lmask_create_87"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_88, "ip6_lmask_create_88"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_89, "ip6_lmask_create_89"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_90, "ip6_lmask_create_90"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_91, "ip6_lmask_create_91"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_92, "ip6_lmask_create_92"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_93, "ip6_lmask_create_93"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_94, "ip6_lmask_create_94"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_95, "ip6_lmask_create_95"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_96, "ip6_lmask_create_96"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_97, "ip6_lmask_create_97"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_98, "ip6_lmask_create_98"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_99, "ip6_lmask_create_99"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_100, "ip6_lmask_create_100"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_101, "ip6_lmask_create_101"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_102, "ip6_lmask_create_102"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_103, "ip6_lmask_create_103"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_104, "ip6_lmask_create_104"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_105, "ip6_lmask_create_105"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_106, "ip6_lmask_create_106"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_107, "ip6_lmask_create_107"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_108, "ip6_lmask_create_108"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_109, "ip6_lmask_create_109"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_110, "ip6_lmask_create_110"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_111, "ip6_lmask_create_111"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_112, "ip6_lmask_create_112"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_113, "ip6_lmask_create_113"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_114, "ip6_lmask_create_114"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_115, "ip6_lmask_create_115"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_116, "ip6_lmask_create_116"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_117, "ip6_lmask_create_117"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_118, "ip6_lmask_create_118"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_119, "ip6_lmask_create_119"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_120, "ip6_lmask_create_120"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_121, "ip6_lmask_create_121"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_122, "ip6_lmask_create_122"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_123, "ip6_lmask_create_123"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_124, "ip6_lmask_create_124"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_125, "ip6_lmask_create_125"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_126, "ip6_lmask_create_126"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_127, "ip6_lmask_create_127"); exotic_add_test(&handle, &exotic_test_ip6_lmask_create_128, "ip6_lmask_create_128"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_0, "ip6_rmask_create_0"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_1, "ip6_rmask_create_1"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_2, "ip6_rmask_create_2"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_3, "ip6_rmask_create_3"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_4, "ip6_rmask_create_4"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_5, "ip6_rmask_create_5"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_6, "ip6_rmask_create_6"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_7, "ip6_rmask_create_7"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_8, "ip6_rmask_create_8"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_9, "ip6_rmask_create_9"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_10, "ip6_rmask_create_10"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_11, "ip6_rmask_create_11"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_12, "ip6_rmask_create_12"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_13, "ip6_rmask_create_13"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_14, "ip6_rmask_create_14"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_15, "ip6_rmask_create_15"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_16, "ip6_rmask_create_16"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_17, "ip6_rmask_create_17"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_18, "ip6_rmask_create_18"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_19, "ip6_rmask_create_19"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_20, "ip6_rmask_create_20"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_21, "ip6_rmask_create_21"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_22, "ip6_rmask_create_22"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_23, "ip6_rmask_create_23"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_24, "ip6_rmask_create_24"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_25, "ip6_rmask_create_25"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_26, "ip6_rmask_create_26"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_27, "ip6_rmask_create_27"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_28, "ip6_rmask_create_28"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_29, "ip6_rmask_create_29"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_30, "ip6_rmask_create_30"); exotic_add_test(&handle, &exotic_test_ip6_rmask_create_31, "ip6_rmask_create_31"); exotic_add_test(&handle, &exotic_test_check_ban_setup_1, "check_ban_setup_1"); exotic_add_test(&handle, &exotic_test_check_ban_ipv4_1, "check_ban_ipv4_1"); exotic_add_test(&handle, &exotic_test_check_ban_ipv4_2, "check_ban_ipv4_2"); exotic_add_test(&handle, &exotic_test_check_ban_ipv4_3, "check_ban_ipv4_3"); exotic_add_test(&handle, &exotic_test_check_ban_ipv4_4, "check_ban_ipv4_4"); exotic_add_test(&handle, &exotic_test_check_ban_ipv4_5, "check_ban_ipv4_5"); exotic_add_test(&handle, &exotic_test_check_ban_ipv6_1, "check_ban_ipv6_1"); exotic_add_test(&handle, &exotic_test_check_ban_ipv6_2, "check_ban_ipv6_2"); exotic_add_test(&handle, &exotic_test_check_ban_ipv6_3, "check_ban_ipv6_3"); exotic_add_test(&handle, &exotic_test_check_ban_ipv6_4, "check_ban_ipv6_4"); exotic_add_test(&handle, &exotic_test_check_ban_ipv6_5, "check_ban_ipv6_5"); exotic_add_test(&handle, &exotic_test_check_ban_ipv6_6, "check_ban_ipv6_6"); exotic_add_test(&handle, &exotic_test_check_ban_afmix_1, "check_ban_afmix_1"); exotic_add_test(&handle, &exotic_test_check_ban_afmix_2, "check_ban_afmix_2"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_AND_1, "ip4_bitwise_AND_1"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_AND_2, "ip4_bitwise_AND_2"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_AND_3, "ip4_bitwise_AND_3"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_AND_4, "ip4_bitwise_AND_4"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_AND_5, "ip4_bitwise_AND_5"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_OR_1, "ip4_bitwise_OR_1"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_OR_2, "ip4_bitwise_OR_2"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_OR_3, "ip4_bitwise_OR_3"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_OR_4, "ip4_bitwise_OR_4"); exotic_add_test(&handle, &exotic_test_ip4_bitwise_OR_5, "ip4_bitwise_OR_5"); exotic_add_test(&handle, &exotic_test_ip6_bitwise_AND_1, "ip6_bitwise_AND_1"); exotic_add_test(&handle, &exotic_test_ip6_bitwise_AND_2, "ip6_bitwise_AND_2"); exotic_add_test(&handle, &exotic_test_ip6_bitwise_AND_3, "ip6_bitwise_AND_3"); exotic_add_test(&handle, &exotic_test_ip6_bitwise_OR_1, "ip6_bitwise_OR_1"); exotic_add_test(&handle, &exotic_test_ip6_bitwise_OR_2, "ip6_bitwise_OR_2"); exotic_add_test(&handle, &exotic_test_ip6_bitwise_OR_3, "ip6_bitwise_OR_3"); exotic_add_test(&handle, &exotic_test_ip_range_1, "ip_range_1"); exotic_add_test(&handle, &exotic_test_ip_range_2, "ip_range_2"); exotic_add_test(&handle, &exotic_test_ip_range_3, "ip_range_3"); exotic_add_test(&handle, &exotic_test_ip_range_4, "ip_range_4"); exotic_add_test(&handle, &exotic_test_shutdown_network, "shutdown_network"); exotic_add_test(&handle, &exotic_test_list_create_destroy, "list_create_destroy"); exotic_add_test(&handle, &exotic_test_list_create, "list_create"); exotic_add_test(&handle, &exotic_test_list_append_1, "list_append_1"); exotic_add_test(&handle, &exotic_test_list_remove_1, "list_remove_1"); exotic_add_test(&handle, &exotic_test_list_append_2, "list_append_2"); exotic_add_test(&handle, &exotic_test_list_remove_2, "list_remove_2"); exotic_add_test(&handle, &exotic_test_list_remove_3, "list_remove_3"); exotic_add_test(&handle, &exotic_test_list_remove_4, "list_remove_4"); exotic_add_test(&handle, &exotic_test_list_append_3, "list_append_3"); exotic_add_test(&handle, &exotic_test_list_append_4, "list_append_4"); exotic_add_test(&handle, &exotic_test_list_remove_5, "list_remove_5"); exotic_add_test(&handle, &exotic_test_list_get_index_1, "list_get_index_1"); exotic_add_test(&handle, &exotic_test_list_get_index_2, "list_get_index_2"); exotic_add_test(&handle, &exotic_test_list_get_index_3, "list_get_index_3"); exotic_add_test(&handle, &exotic_test_list_get_index_4, "list_get_index_4"); exotic_add_test(&handle, &exotic_test_list_get_first_1, "list_get_first_1"); exotic_add_test(&handle, &exotic_test_list_get_first_next_1, "list_get_first_next_1"); exotic_add_test(&handle, &exotic_test_list_get_first_next_2, "list_get_first_next_2"); exotic_add_test(&handle, &exotic_test_list_get_last_1, "list_get_last_1"); exotic_add_test(&handle, &exotic_test_list_get_last_prev_1, "list_get_last_prev_1"); exotic_add_test(&handle, &exotic_test_list_get_last_prev_2, "list_get_last_prev_2"); exotic_add_test(&handle, &exotic_test_list_get_last_prev_next_1, "list_get_last_prev_next_1"); exotic_add_test(&handle, &exotic_test_list_clear, "list_clear"); exotic_add_test(&handle, &exotic_test_list_destroy_1, "list_destroy_1"); exotic_add_test(&handle, &exotic_test_list_destroy_2, "list_destroy_2"); exotic_add_test(&handle, &exotic_test_test_message_refc_1, "test_message_refc_1"); exotic_add_test(&handle, &exotic_test_test_message_refc_2, "test_message_refc_2"); exotic_add_test(&handle, &exotic_test_test_message_refc_3, "test_message_refc_3"); exotic_add_test(&handle, &exotic_test_test_message_refc_4, "test_message_refc_4"); exotic_add_test(&handle, &exotic_test_test_message_refc_5, "test_message_refc_5"); exotic_add_test(&handle, &exotic_test_test_message_refc_6, "test_message_refc_6"); exotic_add_test(&handle, &exotic_test_test_message_refc_7, "test_message_refc_7"); exotic_add_test(&handle, &exotic_test_adc_message_first, "adc_message_first"); exotic_add_test(&handle, &exotic_test_adc_message_parse_1, "adc_message_parse_1"); exotic_add_test(&handle, &exotic_test_adc_message_parse_2, "adc_message_parse_2"); exotic_add_test(&handle, &exotic_test_adc_message_parse_3, "adc_message_parse_3"); exotic_add_test(&handle, &exotic_test_adc_message_parse_4, "adc_message_parse_4"); exotic_add_test(&handle, &exotic_test_adc_message_parse_5, "adc_message_parse_5"); exotic_add_test(&handle, &exotic_test_adc_message_parse_6, "adc_message_parse_6"); exotic_add_test(&handle, &exotic_test_adc_message_parse_7, "adc_message_parse_7"); exotic_add_test(&handle, &exotic_test_adc_message_parse_8, "adc_message_parse_8"); exotic_add_test(&handle, &exotic_test_adc_message_parse_9, "adc_message_parse_9"); exotic_add_test(&handle, &exotic_test_adc_message_parse_10, "adc_message_parse_10"); exotic_add_test(&handle, &exotic_test_adc_message_parse_11, "adc_message_parse_11"); exotic_add_test(&handle, &exotic_test_adc_message_parse_12, "adc_message_parse_12"); exotic_add_test(&handle, &exotic_test_adc_message_parse_13, "adc_message_parse_13"); exotic_add_test(&handle, &exotic_test_adc_message_parse_14, "adc_message_parse_14"); exotic_add_test(&handle, &exotic_test_adc_message_parse_15, "adc_message_parse_15"); exotic_add_test(&handle, &exotic_test_adc_message_parse_16, "adc_message_parse_16"); exotic_add_test(&handle, &exotic_test_adc_message_parse_17, "adc_message_parse_17"); exotic_add_test(&handle, &exotic_test_adc_message_parse_18, "adc_message_parse_18"); exotic_add_test(&handle, &exotic_test_adc_message_parse_19, "adc_message_parse_19"); exotic_add_test(&handle, &exotic_test_adc_message_parse_20, "adc_message_parse_20"); exotic_add_test(&handle, &exotic_test_adc_message_parse_21, "adc_message_parse_21"); exotic_add_test(&handle, &exotic_test_adc_message_parse_22, "adc_message_parse_22"); exotic_add_test(&handle, &exotic_test_adc_message_parse_23, "adc_message_parse_23"); exotic_add_test(&handle, &exotic_test_adc_message_parse_24, "adc_message_parse_24"); exotic_add_test(&handle, &exotic_test_adc_message_add_arg_1, "adc_message_add_arg_1"); exotic_add_test(&handle, &exotic_test_adc_message_add_arg_2, "adc_message_add_arg_2"); exotic_add_test(&handle, &exotic_test_adc_message_remove_arg_1, "adc_message_remove_arg_1"); exotic_add_test(&handle, &exotic_test_adc_message_remove_arg_2, "adc_message_remove_arg_2"); exotic_add_test(&handle, &exotic_test_adc_message_remove_arg_3, "adc_message_remove_arg_3"); exotic_add_test(&handle, &exotic_test_adc_message_remove_arg_4, "adc_message_remove_arg_4"); exotic_add_test(&handle, &exotic_test_adc_message_replace_arg_1, "adc_message_replace_arg_1"); exotic_add_test(&handle, &exotic_test_adc_message_replace_arg_2, "adc_message_replace_arg_2"); exotic_add_test(&handle, &exotic_test_adc_message_replace_arg_3, "adc_message_replace_arg_3"); exotic_add_test(&handle, &exotic_test_adc_message_get_arg_1, "adc_message_get_arg_1"); exotic_add_test(&handle, &exotic_test_adc_message_get_arg_2, "adc_message_get_arg_2"); exotic_add_test(&handle, &exotic_test_adc_message_get_arg_3, "adc_message_get_arg_3"); exotic_add_test(&handle, &exotic_test_adc_message_get_arg_4, "adc_message_get_arg_4"); exotic_add_test(&handle, &exotic_test_adc_message_get_named_arg_1, "adc_message_get_named_arg_1"); exotic_add_test(&handle, &exotic_test_adc_message_get_named_arg_2, "adc_message_get_named_arg_2"); exotic_add_test(&handle, &exotic_test_adc_message_get_named_arg_3, "adc_message_get_named_arg_3"); exotic_add_test(&handle, &exotic_test_adc_message_get_named_arg_4, "adc_message_get_named_arg_4"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_1, "adc_message_has_named_arg_1"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_2, "adc_message_has_named_arg_2"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_3, "adc_message_has_named_arg_3"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_4, "adc_message_has_named_arg_4"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_5, "adc_message_has_named_arg_5"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_6, "adc_message_has_named_arg_6"); exotic_add_test(&handle, &exotic_test_adc_message_has_named_arg_7, "adc_message_has_named_arg_7"); exotic_add_test(&handle, &exotic_test_adc_message_terminate_1, "adc_message_terminate_1"); exotic_add_test(&handle, &exotic_test_adc_message_terminate_2, "adc_message_terminate_2"); exotic_add_test(&handle, &exotic_test_adc_message_terminate_3, "adc_message_terminate_3"); exotic_add_test(&handle, &exotic_test_adc_message_terminate_4, "adc_message_terminate_4"); exotic_add_test(&handle, &exotic_test_adc_message_terminate_5, "adc_message_terminate_5"); exotic_add_test(&handle, &exotic_test_adc_message_terminate_6, "adc_message_terminate_6"); exotic_add_test(&handle, &exotic_test_adc_message_escape_1, "adc_message_escape_1"); exotic_add_test(&handle, &exotic_test_adc_message_escape_2, "adc_message_escape_2"); exotic_add_test(&handle, &exotic_test_adc_message_escape_3, "adc_message_escape_3"); exotic_add_test(&handle, &exotic_test_adc_message_copy_1, "adc_message_copy_1"); exotic_add_test(&handle, &exotic_test_adc_message_copy_2, "adc_message_copy_2"); exotic_add_test(&handle, &exotic_test_adc_message_copy_3, "adc_message_copy_3"); exotic_add_test(&handle, &exotic_test_adc_message_copy_4, "adc_message_copy_4"); exotic_add_test(&handle, &exotic_test_adc_message_update_1, "adc_message_update_1"); exotic_add_test(&handle, &exotic_test_adc_message_update_2, "adc_message_update_2"); exotic_add_test(&handle, &exotic_test_adc_message_update_3, "adc_message_update_3"); exotic_add_test(&handle, &exotic_test_adc_message_update_4, "adc_message_update_4"); exotic_add_test(&handle, &exotic_test_adc_message_update_4_cleanup, "adc_message_update_4_cleanup"); exotic_add_test(&handle, &exotic_test_adc_message_empty_1, "adc_message_empty_1"); exotic_add_test(&handle, &exotic_test_adc_message_empty_2, "adc_message_empty_2"); exotic_add_test(&handle, &exotic_test_adc_message_empty_3, "adc_message_empty_3"); exotic_add_test(&handle, &exotic_test_adc_message_last, "adc_message_last"); exotic_add_test(&handle, &exotic_test_is_num_0, "is_num_0"); exotic_add_test(&handle, &exotic_test_is_num_1, "is_num_1"); exotic_add_test(&handle, &exotic_test_is_num_2, "is_num_2"); exotic_add_test(&handle, &exotic_test_is_num_3, "is_num_3"); exotic_add_test(&handle, &exotic_test_is_num_4, "is_num_4"); exotic_add_test(&handle, &exotic_test_is_num_5, "is_num_5"); exotic_add_test(&handle, &exotic_test_is_num_6, "is_num_6"); exotic_add_test(&handle, &exotic_test_is_num_7, "is_num_7"); exotic_add_test(&handle, &exotic_test_is_num_8, "is_num_8"); exotic_add_test(&handle, &exotic_test_is_num_9, "is_num_9"); exotic_add_test(&handle, &exotic_test_is_num_10, "is_num_10"); exotic_add_test(&handle, &exotic_test_is_num_11, "is_num_11"); exotic_add_test(&handle, &exotic_test_is_space_1, "is_space_1"); exotic_add_test(&handle, &exotic_test_is_space_2, "is_space_2"); exotic_add_test(&handle, &exotic_test_is_white_space_1, "is_white_space_1"); exotic_add_test(&handle, &exotic_test_is_white_space_2, "is_white_space_2"); exotic_add_test(&handle, &exotic_test_is_white_space_3, "is_white_space_3"); exotic_add_test(&handle, &exotic_test_is_white_space_4, "is_white_space_4"); exotic_add_test(&handle, &exotic_test_itoa_1, "itoa_1"); exotic_add_test(&handle, &exotic_test_itoa_2, "itoa_2"); exotic_add_test(&handle, &exotic_test_itoa_3, "itoa_3"); exotic_add_test(&handle, &exotic_test_itoa_4, "itoa_4"); exotic_add_test(&handle, &exotic_test_itoa_5, "itoa_5"); exotic_add_test(&handle, &exotic_test_itoa_6, "itoa_6"); exotic_add_test(&handle, &exotic_test_itoa_7, "itoa_7"); exotic_add_test(&handle, &exotic_test_itoa_8, "itoa_8"); exotic_add_test(&handle, &exotic_test_base32_valid_1, "base32_valid_1"); exotic_add_test(&handle, &exotic_test_base32_valid_2, "base32_valid_2"); exotic_add_test(&handle, &exotic_test_base32_valid_3, "base32_valid_3"); exotic_add_test(&handle, &exotic_test_base32_valid_4, "base32_valid_4"); exotic_add_test(&handle, &exotic_test_base32_valid_5, "base32_valid_5"); exotic_add_test(&handle, &exotic_test_base32_valid_6, "base32_valid_6"); exotic_add_test(&handle, &exotic_test_base32_valid_7, "base32_valid_7"); exotic_add_test(&handle, &exotic_test_base32_valid_8, "base32_valid_8"); exotic_add_test(&handle, &exotic_test_base32_valid_9, "base32_valid_9"); exotic_add_test(&handle, &exotic_test_base32_valid_10, "base32_valid_10"); exotic_add_test(&handle, &exotic_test_base32_valid_11, "base32_valid_11"); exotic_add_test(&handle, &exotic_test_base32_valid_12, "base32_valid_12"); exotic_add_test(&handle, &exotic_test_base32_valid_13, "base32_valid_13"); exotic_add_test(&handle, &exotic_test_base32_valid_14, "base32_valid_14"); exotic_add_test(&handle, &exotic_test_base32_valid_15, "base32_valid_15"); exotic_add_test(&handle, &exotic_test_base32_valid_16, "base32_valid_16"); exotic_add_test(&handle, &exotic_test_base32_valid_17, "base32_valid_17"); exotic_add_test(&handle, &exotic_test_base32_valid_18, "base32_valid_18"); exotic_add_test(&handle, &exotic_test_base32_valid_19, "base32_valid_19"); exotic_add_test(&handle, &exotic_test_base32_valid_20, "base32_valid_20"); exotic_add_test(&handle, &exotic_test_base32_valid_21, "base32_valid_21"); exotic_add_test(&handle, &exotic_test_base32_valid_22, "base32_valid_22"); exotic_add_test(&handle, &exotic_test_base32_valid_23, "base32_valid_23"); exotic_add_test(&handle, &exotic_test_base32_valid_24, "base32_valid_24"); exotic_add_test(&handle, &exotic_test_base32_valid_25, "base32_valid_25"); exotic_add_test(&handle, &exotic_test_base32_valid_26, "base32_valid_26"); exotic_add_test(&handle, &exotic_test_base32_valid_27, "base32_valid_27"); exotic_add_test(&handle, &exotic_test_base32_valid_28, "base32_valid_28"); exotic_add_test(&handle, &exotic_test_base32_valid_29, "base32_valid_29"); exotic_add_test(&handle, &exotic_test_base32_valid_30, "base32_valid_30"); exotic_add_test(&handle, &exotic_test_base32_valid_31, "base32_valid_31"); exotic_add_test(&handle, &exotic_test_base32_valid_32, "base32_valid_32"); exotic_add_test(&handle, &exotic_test_base32_invalid_1, "base32_invalid_1"); exotic_add_test(&handle, &exotic_test_base32_invalid_2, "base32_invalid_2"); exotic_add_test(&handle, &exotic_test_base32_invalid_3, "base32_invalid_3"); exotic_add_test(&handle, &exotic_test_base32_invalid_4, "base32_invalid_4"); exotic_add_test(&handle, &exotic_test_base32_invalid_5, "base32_invalid_5"); exotic_add_test(&handle, &exotic_test_base32_invalid_6, "base32_invalid_6"); exotic_add_test(&handle, &exotic_test_base32_invalid_7, "base32_invalid_7"); exotic_add_test(&handle, &exotic_test_base32_invalid_8, "base32_invalid_8"); exotic_add_test(&handle, &exotic_test_base32_invalid_9, "base32_invalid_9"); exotic_add_test(&handle, &exotic_test_base32_invalid_10, "base32_invalid_10"); exotic_add_test(&handle, &exotic_test_base32_invalid_11, "base32_invalid_11"); exotic_add_test(&handle, &exotic_test_base32_invalid_12, "base32_invalid_12"); exotic_add_test(&handle, &exotic_test_base32_invalid_13, "base32_invalid_13"); exotic_add_test(&handle, &exotic_test_base32_invalid_14, "base32_invalid_14"); exotic_add_test(&handle, &exotic_test_base32_invalid_15, "base32_invalid_15"); exotic_add_test(&handle, &exotic_test_base32_invalid_16, "base32_invalid_16"); exotic_add_test(&handle, &exotic_test_base32_invalid_17, "base32_invalid_17"); exotic_add_test(&handle, &exotic_test_base32_invalid_18, "base32_invalid_18"); exotic_add_test(&handle, &exotic_test_base32_invalid_19, "base32_invalid_19"); exotic_add_test(&handle, &exotic_test_base32_invalid_20, "base32_invalid_20"); exotic_add_test(&handle, &exotic_test_base32_invalid_21, "base32_invalid_21"); exotic_add_test(&handle, &exotic_test_base32_invalid_22, "base32_invalid_22"); exotic_add_test(&handle, &exotic_test_base32_invalid_23, "base32_invalid_23"); exotic_add_test(&handle, &exotic_test_base32_invalid_24, "base32_invalid_24"); exotic_add_test(&handle, &exotic_test_base32_invalid_25, "base32_invalid_25"); exotic_add_test(&handle, &exotic_test_base32_invalid_26, "base32_invalid_26"); exotic_add_test(&handle, &exotic_test_base32_invalid_27, "base32_invalid_27"); exotic_add_test(&handle, &exotic_test_base32_invalid_28, "base32_invalid_28"); exotic_add_test(&handle, &exotic_test_base32_invalid_29, "base32_invalid_29"); exotic_add_test(&handle, &exotic_test_base32_invalid_30, "base32_invalid_30"); exotic_add_test(&handle, &exotic_test_base32_invalid_31, "base32_invalid_31"); exotic_add_test(&handle, &exotic_test_utf8_valid_1, "utf8_valid_1"); exotic_add_test(&handle, &exotic_test_utf8_valid_2, "utf8_valid_2"); exotic_add_test(&handle, &exotic_test_utf8_valid_3, "utf8_valid_3"); exotic_add_test(&handle, &exotic_test_utf8_valid_4, "utf8_valid_4"); exotic_add_test(&handle, &exotic_test_utf8_valid_5, "utf8_valid_5"); exotic_add_test(&handle, &exotic_test_utf8_valid_6, "utf8_valid_6"); exotic_add_test(&handle, &exotic_test_utf8_valid_7, "utf8_valid_7"); exotic_add_test(&handle, &exotic_test_utf8_valid_8, "utf8_valid_8"); exotic_add_test(&handle, &exotic_test_utf8_valid_9, "utf8_valid_9"); exotic_add_test(&handle, &exotic_test_utf8_valid_10, "utf8_valid_10"); exotic_add_test(&handle, &exotic_test_utf8_valid_11, "utf8_valid_11"); exotic_add_test(&handle, &exotic_test_utf8_valid_12, "utf8_valid_12"); exotic_add_test(&handle, &exotic_test_sid_create_pool, "sid_create_pool"); exotic_add_test(&handle, &exotic_test_sid_check_0a, "sid_check_0a"); exotic_add_test(&handle, &exotic_test_sid_check_0b, "sid_check_0b"); exotic_add_test(&handle, &exotic_test_sid_alloc_1, "sid_alloc_1"); exotic_add_test(&handle, &exotic_test_sid_check_1a, "sid_check_1a"); exotic_add_test(&handle, &exotic_test_sid_check_1b, "sid_check_1b"); exotic_add_test(&handle, &exotic_test_sid_alloc_2, "sid_alloc_2"); exotic_add_test(&handle, &exotic_test_sid_check_2, "sid_check_2"); exotic_add_test(&handle, &exotic_test_sid_alloc_3, "sid_alloc_3"); exotic_add_test(&handle, &exotic_test_sid_check_3, "sid_check_3"); exotic_add_test(&handle, &exotic_test_sid_alloc_4, "sid_alloc_4"); exotic_add_test(&handle, &exotic_test_sid_check_4, "sid_check_4"); exotic_add_test(&handle, &exotic_test_sid_alloc_5, "sid_alloc_5"); exotic_add_test(&handle, &exotic_test_sid_check_6, "sid_check_6"); exotic_add_test(&handle, &exotic_test_sid_list_all_1, "sid_list_all_1"); exotic_add_test(&handle, &exotic_test_sid_remove_1, "sid_remove_1"); exotic_add_test(&handle, &exotic_test_sid_remove_2, "sid_remove_2"); exotic_add_test(&handle, &exotic_test_sid_remove_3, "sid_remove_3"); exotic_add_test(&handle, &exotic_test_sid_remove_4, "sid_remove_4"); exotic_add_test(&handle, &exotic_test_sid_destroy_pool, "sid_destroy_pool"); exotic_add_test(&handle, &exotic_test_hash_tiger_1, "hash_tiger_1"); exotic_add_test(&handle, &exotic_test_hash_tiger_2, "hash_tiger_2"); exotic_add_test(&handle, &exotic_test_hash_tiger_3, "hash_tiger_3"); exotic_add_test(&handle, &exotic_test_hash_tiger_4, "hash_tiger_4"); exotic_add_test(&handle, &exotic_test_hash_tiger_5, "hash_tiger_5"); exotic_add_test(&handle, &exotic_test_hash_tiger_6, "hash_tiger_6"); exotic_add_test(&handle, &exotic_test_hash_tiger_7, "hash_tiger_7"); exotic_add_test(&handle, &exotic_test_timer_setup, "timer_setup"); exotic_add_test(&handle, &exotic_test_timer_check_timeout_0, "timer_check_timeout_0"); exotic_add_test(&handle, &exotic_test_timer_add_event_1, "timer_add_event_1"); exotic_add_test(&handle, &exotic_test_timer_check_timeout_1, "timer_check_timeout_1"); exotic_add_test(&handle, &exotic_test_timer_remove_event_1, "timer_remove_event_1"); exotic_add_test(&handle, &exotic_test_timer_check_timeout_2, "timer_check_timeout_2"); exotic_add_test(&handle, &exotic_test_timer_remove_event_1_no_crash, "timer_remove_event_1_no_crash"); exotic_add_test(&handle, &exotic_test_timer_add_5_events_1, "timer_add_5_events_1"); exotic_add_test(&handle, &exotic_test_timer_check_5_events_1, "timer_check_5_events_1"); exotic_add_test(&handle, &exotic_test_timer_process_5_events_1, "timer_process_5_events_1"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_0, "tokenizer_basic_0"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_1, "tokenizer_basic_1"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_1a, "tokenizer_basic_1a"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_1b, "tokenizer_basic_1b"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_1c, "tokenizer_basic_1c"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_1d, "tokenizer_basic_1d"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_1e, "tokenizer_basic_1e"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_2, "tokenizer_basic_2"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_2a, "tokenizer_basic_2a"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_3, "tokenizer_basic_3"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_3a, "tokenizer_basic_3a"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_3b, "tokenizer_basic_3b"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_3c, "tokenizer_basic_3c"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_3d, "tokenizer_basic_3d"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_0, "tokenizer_basic_compare_0"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_1, "tokenizer_basic_compare_1"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_2, "tokenizer_basic_compare_2"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_3, "tokenizer_basic_compare_3"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_4, "tokenizer_basic_compare_4"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_5, "tokenizer_basic_compare_5"); exotic_add_test(&handle, &exotic_test_tokenizer_basic_compare_6, "tokenizer_basic_compare_6"); exotic_add_test(&handle, &exotic_test_tokenizer_comment_1, "tokenizer_comment_1"); exotic_add_test(&handle, &exotic_test_tokenizer_comment_2, "tokenizer_comment_2"); exotic_add_test(&handle, &exotic_test_tokenizer_comment_3, "tokenizer_comment_3"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_1, "tokenizer_escape_1"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_2, "tokenizer_escape_2"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_3, "tokenizer_escape_3"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_4, "tokenizer_escape_4"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_5, "tokenizer_escape_5"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_6, "tokenizer_escape_6"); exotic_add_test(&handle, &exotic_test_tokenizer_escape_7, "tokenizer_escape_7"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_1, "tokenizer_settings_1"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_2, "tokenizer_settings_2"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_3, "tokenizer_settings_3"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_4, "tokenizer_settings_4"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_5, "tokenizer_settings_5"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_6, "tokenizer_settings_6"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_7, "tokenizer_settings_7"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_8, "tokenizer_settings_8"); exotic_add_test(&handle, &exotic_test_tokenizer_settings_9, "tokenizer_settings_9"); exotic_add_test(&handle, &exotic_test_um_init_1, "um_init_1"); exotic_add_test(&handle, &exotic_test_um_shutdown_1, "um_shutdown_1"); exotic_add_test(&handle, &exotic_test_um_shutdown_2, "um_shutdown_2"); exotic_add_test(&handle, &exotic_test_um_init_2, "um_init_2"); exotic_add_test(&handle, &exotic_test_um_add_1, "um_add_1"); exotic_add_test(&handle, &exotic_test_um_size_1, "um_size_1"); exotic_add_test(&handle, &exotic_test_um_remove_1, "um_remove_1"); exotic_add_test(&handle, &exotic_test_um_size_2, "um_size_2"); exotic_add_test(&handle, &exotic_test_um_add_2, "um_add_2"); exotic_add_test(&handle, &exotic_test_um_size_3, "um_size_3"); exotic_add_test(&handle, &exotic_test_um_remove_2, "um_remove_2"); exotic_add_test(&handle, &exotic_test_um_shutdown_4, "um_shutdown_4"); return exotic_run(&handle); } /* * Exotic - C/C++ source code testing * Copyright (c) 2007, Jan Vidar Krey */ #include #include #include #include static void exotic_version(); #ifndef __EXOTIC__STANDALONE__ #include "autotest.h" static void exotic_version() { printf("Extatic.org Test Infrastructure: exotic " "${version}" "\n\n"); printf("Copyright (C) 2007 Jan Vidar Krey, janvidar@extatic.org\n"); printf("This is free software with ABSOLUTELY NO WARRANTY.\n\n"); } #endif struct exo_test_data { exo_test_t test; char* name; struct exo_test_data* next; }; static void exotic_summary(struct exotic_handle* handle) { int total = handle->pass + handle->fail; int pass_rate = total ? (100*handle->pass / total) : 0; int fail_rate = total ? (100*handle->fail / total) : 0; printf("\n"); printf("--------------------------------------------\n"); printf("Results:\n"); printf(" * Total tests run: %8d\n", total); printf(" * Tests passed: %8d (~%d%%)\n", (int) handle->pass, pass_rate); printf(" * Tests failed: %8d (~%d%%)\n", (int) handle->fail, fail_rate); printf("--------------------------------------------\n"); } static void exotic_help(const char* program) { printf("Usage: %s [OPTIONS]\n\n", program); printf("Options:\n"); printf(" --help -h Show this message\n"); printf(" --version -v Show version\n"); printf(" --summary -s show only summary)\n"); printf(" --fail -f show only test failures\n"); printf(" --pass -p show only test passes\n"); printf("\nExamples:\n"); printf(" %s -s -f\n\n", program); } int exotic_initialize(struct exotic_handle* handle, int argc, char** argv) { int n; if (!handle || !argv) return -1; memset(handle, 0, sizeof(struct exotic_handle)); for (n = 1; n < argc; n++) { if (!strcmp(argv[n], "-h") || !strcmp(argv[n], "--help")) { exotic_help(argv[0]); exit(0); } if (!strcmp(argv[n], "-v") || !strcmp(argv[n], "--version")) { exotic_version(); exit(0); } if (!strcmp(argv[n], "-s") || !strcmp(argv[n], "--summary")) { handle->config_show_summary = cfg_on; continue; } if (!strcmp(argv[n], "-f") || !strcmp(argv[n], "--fail")) { handle->config_show_fail = cfg_on; continue; } if (!strcmp(argv[n], "-p") || !strcmp(argv[n], "--pass")) { handle->config_show_pass = cfg_on; continue; } fprintf(stderr, "Unknown argument: %s\n\n", argv[n]); exotic_help(argv[0]); exit(0); } if (handle->config_show_summary == cfg_on) { if (handle->config_show_pass == cfg_default) handle->config_show_pass = cfg_off; if (handle->config_show_fail == cfg_default) handle->config_show_fail = cfg_off; } else if (handle->config_show_pass == cfg_on) { if (handle->config_show_summary == cfg_default) handle->config_show_summary = cfg_off; if (handle->config_show_fail == cfg_default) handle->config_show_fail = cfg_off; } else if (handle->config_show_fail == cfg_on) { if (handle->config_show_summary == cfg_default) handle->config_show_summary = cfg_off; if (handle->config_show_fail == cfg_default) handle->config_show_fail = cfg_off; } else { if (handle->config_show_summary == cfg_default) handle->config_show_summary = cfg_on; if (handle->config_show_fail == cfg_default) handle->config_show_fail = cfg_on; if (handle->config_show_pass == cfg_default) handle->config_show_pass = cfg_on; } return 0; } void exotic_add_test(struct exotic_handle* handle, exo_test_t func, const char* name) { if (!handle) { fprintf(stderr, "exotic_add_test: failed, no handle!\n"); exit(-1); } struct exo_test_data* test = (struct exo_test_data*) malloc(sizeof(struct exo_test_data)); if (!test) { fprintf(stderr, "exotic_add_test: out of memory!\n"); exit(-1); } /* Create the test */ memset(test, 0, sizeof(struct exo_test_data)); test->test = func; test->name = strdup(name); /* Register the test in the handle */ if (!handle->first) { handle->first = test; handle->current = test; } else { handle->current->next = test; handle->current = test; } } int exotic_run(struct exotic_handle* handle) { struct exo_test_data* tmp = NULL; if (!handle) { fprintf(stderr, "Error: exotic is not initialized\n"); return -1; } handle->current = handle->first; while (handle->current) { tmp = handle->current; if (handle->current->test()) { if (handle->config_show_pass == cfg_on) printf("* PASS test '%s'\n", tmp->name); handle->pass++; } else { if (handle->config_show_fail == cfg_on) printf("* FAIL test '%s'\n", tmp->name); handle->fail++; } handle->current = handle->current->next; free(tmp->name); free(tmp); } if (!handle->first) { printf("(No tests added)\n"); } if (handle->config_show_summary == cfg_on) exotic_summary(handle); return (handle->fail) ? handle->fail : 0; } static void exotic_version() { printf("exotic 0.4-standalone\n\n"); printf("Copyright (C) 2007 Jan Vidar Krey, janvidar@extatic.org\n"); printf("This is free software with ABSOLUTELY NO WARRANTY.\n\n"); }