static void test_finalize_twice() { init_messenger( "/tmp" ); assert_true( finalize_messenger() ); assert_false( finalize_messenger() ); }
static void test_init_twice() { assert_true( init_messenger( "/tmp" ) ); assert_true( init_messenger( "/tmp" ) ); finalize_messenger(); }
static void finalize_chibach() { die_unless_initialized(); debug( "Terminating chibach..." ); maybe_finalize_openflow_switch_interface(); finalize_messenger(); finalize_stat(); finalize_timer(); chibach_started = false; unlink_pid( get_chibach_pid(), get_chibach_name() ); unset_chibach_home(); unset_chibach_tmp(); xfree( chibach_name ); chibach_name = NULL; xfree( chibach_log ); chibach_log = NULL; initialized = false; }
static void test_send_then_message_requested_and_replied_callback_is_called() { init_messenger( "/tmp" ); const char service_name[] = "Say HELLO"; expect_value( callback_req_hello, tag, 43556 ); expect_string( callback_req_hello, data, "HELLO" ); expect_value( callback_req_hello, len, 6 ); add_message_requested_callback( service_name, callback_req_hello ); expect_value( callback_rep_hello_end, tag, 65534 ); expect_string( callback_rep_hello_end, data, "OLLEH" ); expect_value( callback_rep_hello_end, len, 6 ); expect_value( callback_rep_hello_end, user_data, NULL ); add_message_replied_callback( service_name, callback_rep_hello_end ); send_request_message( service_name, service_name, 43556, "HELLO", strlen( "HELLO" ) + 1, NULL ); start_messenger(); start_event_handler(); delete_message_replied_callback( service_name, callback_rep_hello_end ); delete_message_requested_callback( service_name, callback_req_hello ); delete_send_queue( lookup_hash_entry( send_queues, service_name ) ); finalize_messenger(); }
static void test_add_1_message_requested_and_replied_callback_each_prints_no_error_message() { init_messenger( "/tmp" ); const char service_name[] = "Some Service"; check_warn = true; assert_true( add_message_requested_callback( service_name, callback_req_hello ) ); assert_true( add_message_replied_callback( service_name, callback_rep_hello_end ) ); check_warn = false; finalize_messenger(); }
static void test_send_then_message_received_callback_is_called() { init_messenger( "/tmp" ); will_return_count( mock_clock_gettime, 0, -1 ); const char service_name[] = "Say HELLO"; expect_value( callback_hello, tag, 43556 ); expect_string( callback_hello, data, "HELLO" ); expect_value( callback_hello, len, 6 ); add_message_received_callback( service_name, callback_hello ); send_message( service_name, 43556, "HELLO", strlen( "HELLO" ) + 1 ); start_messenger(); delete_message_received_callback( service_name, callback_hello ); delete_send_queue( lookup_hash_entry( send_queues, service_name ) ); finalize_messenger(); }
static void test_double_add_message_replied_callback_prints_error_message() { init_messenger( "/tmp" ); const char service_name[] = "Some Service"; char expected_mes[ 1024+1 ] = {}; snprintf( expected_mes, 1024, "Multiple message_requested/replied handler is not supported. ( service_name = %s, message_type = %#x, callback = %p )", service_name, MESSAGE_TYPE_REPLY, callback_rep_hello2 ); check_warn = true; assert_true( add_message_replied_callback( service_name, callback_rep_hello_end ) ); expect_string( mock_warn_check, message, expected_mes ); assert_true( add_message_replied_callback( service_name, callback_rep_hello2 ) ); check_warn = false; finalize_messenger(); }
static void test_finalize_without_init() { assert_false( finalize_messenger() ); }
static void test_init_and_finalize() { assert_true( init_messenger( "/tmp" ) ); assert_true( finalize_messenger() ); }