return TRUE;
}
-static const char *settings_blob_1 =
-"metric=test\n"
-"metric/test/metric_name=test\n"
-"metric/test/filter=event=test\n"
-"\n";
+static const char *const settings_blob_1[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=event=test",
+ NULL
+};
static int test_reader_server_input_args(struct connection *conn ATTR_UNUSED,
const char *const *args)
test_end();
}
-static const char *settings_blob_2 =
-"metric=test\n"
-"metric/test/metric_name=test\n"
-"metric/test/filter=event=test\n"
-"metric/test/group_by=test_name\n"
-"\n";
+static const char *const settings_blob_2[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=event=test",
+ "metric/test/group_by=test_name",
+ NULL
+};
static int
test_reader_server_input_args_group_by(struct connection *conn,
return TRUE;
}
-static const char *settings_blob_1 =
-"metric=test\n"
-"metric/test/metric_name=test\n"
-"metric/test/filter=event=test\n"
-"\n";
+static const char *const settings_blob_1[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=event=test",
+ NULL
+};
static void test_client_writer(void)
{
static bool callback_added = FALSE;
-static struct stats_settings *read_settings(const char *settings)
+static struct stats_settings *read_settings(const char *const settings[])
{
- struct istream *is = test_istream_create(settings);
const char *error;
struct setting_parser_context *ctx =
settings_parser_init(test_pool, &stats_setting_parser_info, 0);
- if (settings_parse_stream_read(ctx, is) < 0)
- i_fatal("Failed to parse settings: %s",
- settings_parser_get_error(ctx));
+ for (unsigned int i = 0; settings[i] != NULL; i++) {
+ if (settings_parse_line(ctx, settings[i]) <= 0)
+ i_fatal("Failed to parse settings: %s",
+ settings_parser_get_error(ctx));
+ }
if (!settings_parser_check(ctx, test_pool, &error))
i_fatal("Failed to parse settings: %s",
error);
struct stats_settings *set = settings_parser_get(ctx);
settings_parser_unref(&ctx);
- i_stream_unref(&is);
return set;
}
-void test_init(const char *settings_blob)
+void test_init(const char *const settings_blob[])
{
if (!callback_added) {
event_register_callback(test_stats_callback);
#include "stats-common.h"
#include "event-filter.h"
-#include "istream.h"
#include "settings-parser.h"
#include "str.h"
#include "test-common.h"
struct failure_context *ctx, const char *fmt ATTR_UNUSED,
va_list args ATTR_UNUSED);
-void test_init(const char *settings_blob);
+void test_init(const char *const settings_blob[]);
void test_deinit(void);
void test_event_send(struct event *event);
return TRUE;
}
-static const char *settings_blob_1 =
-"metric=test\n"
-"metric/test/metric_name=test\n"
-"metric/test/filter=event=test\n"
-"\n";
+static const char *const settings_blob_1[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=event=test",
+ NULL
+};
static void test_stats_metrics(void)
{
test_end();
}
-static const char *settings_blob_2 =
-"metric=test\n"
-"metric/test/metric_name=test\n"
-"metric/test/filter=(event=test AND test_field=value)\n"
-"\n";
+static const char *const settings_blob_2[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=(event=test AND test_field=value)",
+ NULL
+};
static void test_stats_metrics_filter(void)
{
test_begin(t_strdup_printf("stats metrics (discrete group by) - %s",
test->settings_blob));
- test_init(t_strdup_printf("metric=test\n"
- "metric/test/metric_name=test\n"
- "metric/test/filter=event=test\n"
- "metric/test/group_by=%s\n"
- "\n", test->settings_blob));
+ const char *const settings[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=event=test",
+ t_strdup_printf("metric/test/group_by=%s", test->settings_blob),
+ NULL
+ };
+ test_init(settings);
for (i = 0; i < test->num_values; i++) {
for (j = 0; j < test->num_values; j++) {
test_begin(t_strdup_printf("stats metrics (quantized group by) - %s",
test->settings_blob));
- test_init(t_strdup_printf("metric=test\n"
- "metric/test/metric_name=test\n"
- "metric/test/filter=event=test\n"
- "metric/test/group_by=test_name foobar:%s\n"
- "\n", test->settings_blob));
+ const char *const settings[] = {
+ "metric=test",
+ "metric/test/metric_name=test",
+ "metric/test/filter=event=test",
+ t_strdup_printf("metric/test/group_by=test_name foobar:%s",
+ test->settings_blob),
+ NULL
+ };
+ test_init(settings);
struct event *event;