#include <stdio.h>
#include <unistd.h>
-#ifndef PORT
+#ifdef DEBUG_CONN
+#define PORT "64015"
+#else
#define PORT "65015"
#endif
static struct io_plan *init_conn(struct io_conn *conn, struct data *d)
{
+#ifdef DEBUG_CONN
+ io_set_debug(conn, true);
+#endif
ok1(d->state == 0);
d->state++;
struct data *d = malloc(sizeof(*d));
struct addrinfo *addrinfo;
struct io_listener *l;
- struct list_head expired;
+ struct timer *expired;
int fd, status;
/* This is how many tests you plan to run */
d->state = 0;
d->timeout_usec = 100000;
timers_init(&d->timers, time_now());
+ timer_init(&d->timer);
fd = make_listen_fd(PORT, &addrinfo);
ok1(fd >= 0);
l = io_new_listener(NULL, fd, init_conn, d);
ok1(io_loop(&d->timers, &expired) == NULL);
/* One element, d->timer. */
- ok1(list_pop(&expired, struct timer, list) == &d->timer);
- ok1(list_empty(&expired));
+ ok1(expired == &d->timer);
+ ok1(!timers_expire(&d->timers, time_now()));
ok1(d->state == 1);
io_close(d->conn);
/* Finished will be called, d will be returned */
ok1(io_loop(&d->timers, &expired) == d);
- ok1(list_empty(&expired));
+ ok1(expired == NULL);
ok1(d->state == 2);
/* It should have died. */
}
ok1(io_loop(&d->timers, &expired) == d);
ok1(d->state == 3);
- ok1(list_empty(&expired));
+ ok1(expired == NULL);
ok1(wait(&status));
ok1(WIFEXITED(status));
ok1(WEXITSTATUS(status) >= sizeof(d->buf));