示例#1
0
static void
test_finalize_twice() {
  init_messenger( "/tmp" );

  assert_true( finalize_messenger() );
  assert_false( finalize_messenger() );
}
示例#2
0
static void
test_init_twice() {
  assert_true( init_messenger( "/tmp" ) );
  assert_true( init_messenger( "/tmp" ) );

  finalize_messenger();
}
示例#3
0
文件: chibach.c 项目: aigamo/trema
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;
}
示例#4
0
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();
}
示例#5
0
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();
}
示例#6
0
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();
}
示例#7
0
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();
}
示例#8
0
static void
test_finalize_without_init() {
  assert_false( finalize_messenger() );
}
示例#9
0
static void
test_init_and_finalize() {
  assert_true( init_messenger( "/tmp" ) );
  assert_true( finalize_messenger() );
}