-/* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file
- */
+/* Copyright (c) 2002-2018 Dovecot authors, see the included COPYING file */
#include "lib.h"
#include "test-lib.h"
#include "lib-signals.h"
#include "program-client.h"
-static const char *pclient_test_io_string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
- "Praesent vehicula ac leo vel placerat. Nullam placerat \n"
- "volutpat leo, sed ultricies felis pulvinar quis. Nam \n"
- "tempus, augue ut tempor cursus, neque felis commodo lacus, \n"
- "sit amet tincidunt arcu justo vel augue. Proin dapibus \n"
- "vulputate maximus. Mauris congue lacus felis, sed varius \n"
- "leo finibus sagittis. Cum sociis natoque penatibus et magnis \n"
- "dis parturient montes, nascetur ridiculus mus. Aliquam \n"
- "laoreet arcu a hendrerit consequat. Duis vitae erat tellus.";
-
-static
-struct program_client_settings pc_set = {
+static const char *pclient_test_io_string =
+ "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n"
+ "Praesent vehicula ac leo vel placerat. Nullam placerat \n"
+ "volutpat leo, sed ultricies felis pulvinar quis. Nam \n"
+ "tempus, augue ut tempor cursus, neque felis commodo lacus, \n"
+ "sit amet tincidunt arcu justo vel augue. Proin dapibus \n"
+ "vulputate maximus. Mauris congue lacus felis, sed varius \n"
+ "leo finibus sagittis. Cum sociis natoque penatibus et magnis \n"
+ "dis parturient montes, nascetur ridiculus mus. Aliquam \n"
+ "laoreet arcu a hendrerit consequat. Duis vitae erat tellus.";
+
+static struct program_client_settings pc_set = {
.client_connect_timeout_msecs = 5000,
.input_idle_timeout_msecs = 1000,
.debug = TRUE,
.allow_root = TRUE,
};
-static
-void test_program_success(void) {
- test_begin("test_program_success");
+static void test_program_success(void)
+{
+ struct program_client *pc;
const char *const args[] = {
"hello", "world", NULL
};
- struct program_client *pc =
- program_client_local_create("/bin/echo", args, &pc_set);
+ test_begin("test_program_success");
+
+ pc = program_client_local_create("/bin/echo", args, &pc_set);
buffer_t *output = buffer_create_dynamic(default_pool, 16);
struct ostream *os = test_ostream_create(output);
test_end();
}
-static
-void test_program_io_sync(void) {
- test_begin("test_program_io (sync)");
+static void test_program_io_sync(void)
+{
+ struct program_client *pc;
const char *const args[] = {
NULL
};
- struct program_client *pc =
- program_client_local_create("/bin/cat", args, &pc_set);
+ test_begin("test_program_io (sync)");
+
+ pc = program_client_local_create("/bin/cat", args, &pc_set);
struct istream *is = test_istream_create(pclient_test_io_string);
program_client_set_input(pc, is);
test_end();
}
-static
-void test_program_io_async_callback(int result, int *ret)
+static void test_program_io_async_callback(int result, int *ret)
{
*ret = result;
test_assert(result == 1);
io_loop_stop(current_ioloop);
}
-static
-void test_program_io_async(void) {
- test_begin("test_program_io (async)");
-
+static void test_program_io_async(void)
+{
+ struct ioloop *prev_ioloop, *ioloop;
+ struct program_client *pc;
int ret = -2;
- struct ioloop *prev_ioloop = current_ioloop;
- struct ioloop *ioloop = io_loop_create();
-
const char *const args[] = {
NULL
};
- struct program_client *pc =
- program_client_local_create("/bin/cat", args, &pc_set);
+ test_begin("test_program_io (async)");
+
+ prev_ioloop = current_ioloop;
+ ioloop = io_loop_create();
+
+ pc = program_client_local_create("/bin/cat", args, &pc_set);
struct istream *is = test_istream_create(pclient_test_io_string);
program_client_set_input(pc, is);
test_end();
}
-static
-void test_program_failure(void) {
- test_begin("test_program_failure");
+static void test_program_failure(void)
+{
+ struct program_client *pc;
const char *const args[] = {
NULL
};
- struct program_client *pc =
- program_client_local_create("/bin/false", args, &pc_set);
+ test_begin("test_program_failure");
+
+ pc = program_client_local_create("/bin/false", args, &pc_set);
buffer_t *output = buffer_create_dynamic(default_pool, 16);
struct ostream *os = test_ostream_create(output);
test_end();
}
-static
-void test_program_io_big(void) {
- test_begin("test_program_io (big)");
+static void test_program_io_big(void)
+{
+ struct program_client *pc;
/* nasty program that reads data in bits with intermittent delays
and then finally reads the rest in one go. */
NULL
};
- struct program_client *pc =
- program_client_local_create("/bin/sh", args, &pc_set);
+ test_begin("test_program_io (big)");
+
+ pc = program_client_local_create("/bin/sh", args, &pc_set);
/* make big input with only a small reference string */
struct istream *is1 = test_istream_create(pclient_test_io_string);
int main(void)
{
+ struct ioloop *ioloop;
int ret;
void (*tests[])(void) = {
};
lib_init();
- struct ioloop *ioloop = io_loop_create();
+
+ ioloop = io_loop_create();
lib_signals_init();
ret = test_run(tests);
lib_signals_deinit();
io_loop_destroy(&ioloop);
+
lib_deinit();
return ret;
}