Пример #1
0
void
grn_collect_logger_print_messages(grn_logger_info *logger)
{
  const GList *messages;

  for (messages = grn_collect_logger_get_messages(logger);
       messages;
       messages = g_list_next(messages)) {
    const gchar *message = messages->data;
    g_print("%s\n", message);
  }
}
Пример #2
0
void
test_invalid_column(void)
{
  GList *log = NULL;

  assert_send_command("table_create Users TABLE_HASH_KEY ShortText");
  assert_send_command("column_create Users desc COLUMN_SCALAR ShortText");
  grn_collect_logger_clear_messages(logger);
  assert_send_command("load --table Users --input_type json\n"
                      "{\"_key\": \"groonga\", \"info\" \"search engine\"}\n"
                      "");
  log = g_list_next(grn_collect_logger_get_messages(logger));
  cut_assert_equal_string("invalid column('info')", g_list_nth_data(log, 0));
}
Пример #3
0
void
test_duplicated_key(void)
{
  GList *log = NULL;

  assert_send_command("table_create Users TABLE_HASH_KEY ShortText");
  assert_send_command("column_create Users desc COLUMN_SCALAR ShortText");
  grn_collect_logger_clear_messages(logger);
  assert_send_command("load --table Users --input_type json\n"
                      "{\"_key\": \"groonga\", \"_id\": 1}\n"
                      "");
  log = g_list_next(grn_collect_logger_get_messages(logger));
  cut_assert_equal_string("duplicated key columns: _key and _id", g_list_nth_data(log, 0));
}
Пример #4
0
void
test_no_key(void)
{
  GList *log = NULL;

  assert_send_command("table_create Users TABLE_HASH_KEY ShortText");
  assert_send_command("column_create Users desc COLUMN_SCALAR ShortText");
  grn_collect_logger_clear_messages(logger);
  assert_send_command("load --table Users --input_type json\n"
                      "{\"info\" \"search engine\"}\n"
                      "");
  log = g_list_next(grn_collect_logger_get_messages(logger));
  cut_assert_equal_string("neither _key nor _id is assigned", g_list_nth_data(log, 0));
}
Пример #5
0
void
grn_test_assert_open_hash_helper(grn_hash **hash, GrnTestHashFactory *factory)
{
  GError *error = NULL;
  grn_logger_info *logger;

  logger = grn_test_hash_factory_get_logger(factory);
  cut_assert_not_null(logger);
  grn_collect_logger_clear_messages(logger);
  *hash = grn_test_hash_factory_open(factory, &error);
  gcut_assert_error(error);
  cut_assert_not_null(*hash);
  gcut_assert_equal_list_string(NULL, grn_collect_logger_get_messages(logger));
}
Пример #6
0
void
test_invalid_char(void)
{
  GList *log = NULL;

  assert_send_command("table_create Users TABLE_HASH_KEY ShortText");
  assert_send_command("column_create Users name COLUMN_SCALAR ShortText");
  assert_send_command("column_create Users desc COLUMN_SCALAR ShortText");
  grn_collect_logger_clear_messages(logger);
  assert_send_command("load --table Users --input_type json\n"
                      "{\"name\": \"groonga\" @ \"desc\" \"search engine\"}\n"
                      "");
  log = g_list_next(grn_collect_logger_get_messages(logger));
  cut_assert_equal_string("ignored invalid char('@') at", g_list_nth_data(log, 0));
  cut_assert_equal_string("{\"name\": \"groonga\" @", g_list_nth_data(log, 1));
  cut_assert_equal_string("                   ^", g_list_nth_data(log, 2));
}
Пример #7
0
const gchar *
grn_collect_logger_to_string(grn_logger_info *logger)
{
  grn_logger_context *context = logger->func_arg;
  const GList *messages;

  if (context->collected_message) {
    return context->collected_message->str;
  }

  context->collected_message = g_string_new(NULL);
  for (messages = grn_collect_logger_get_messages(logger);
       messages;
       messages = g_list_next(messages)) {
    const gchar *message = messages->data;
    g_string_append_printf(context->collected_message, "%s\n", message);
  }

  return context->collected_message->str;
}