diff --git a/test/ringbuffer-test-utils.c b/test/ringbuffer-test-utils.c
index c489f9d..bbe688a 100644
--- a/test/ringbuffer-test-utils.c
+++ b/test/ringbuffer-test-utils.c
@@ -69,7 +69,8 @@
 void ringbuffer_dump(struct ringbuffer *rb)
 {
 	struct ringbuffer_consumer *rbc;
-	int i, j;
+	size_t i;
+	int j;
 
 	printf("---- ringbuffer (%d consumer%s)\n", rb->n_consumers,
 			rb->n_consumers == 1 ? "" : "s");
diff --git a/test/test-client-escape.c b/test/test-client-escape.c
index 921009c..6567024 100644
--- a/test/test-client-escape.c
+++ b/test/test-client-escape.c
@@ -33,7 +33,7 @@
 		struct str_esc_state str;
 	} esc_state;
 	const char	*in[4];
-	int		n_in;
+	size_t		n_in;
 	const char	*exp_out;
 	int		exp_rc;
 };
@@ -42,8 +42,8 @@
 	struct console_client	client;
 	struct test		*test;
 	uint8_t			out[4096];
-	int			cur_in;
-	int			cur_out;
+	size_t			cur_in;
+	size_t			cur_out;
 };
 
 
@@ -219,7 +219,7 @@
 
 int main(void)
 {
-	int i;
+	size_t i;
 
 	for (i = 0; i < ARRAY_SIZE(tests); i++)
 		run_one_test(i, &tests[i], &ctxs[i]);
diff --git a/test/test-config-parse-logsize.c b/test/test-config-parse-logsize.c
index 157401a..49aef3a 100644
--- a/test/test-config-parse-logsize.c
+++ b/test/test-config-parse-logsize.c
@@ -40,14 +40,15 @@
 	const size_t num_tests = sizeof(test_data) /
 		sizeof(struct test_parse_size_unit);
 	size_t size;
-	int i, rc;
+	size_t i;
+	int rc;
 
 	for (i = 0; i < num_tests; i++) {
 		rc = config_parse_logsize(test_data[i].test_str, &size);
 
 		if ((rc == -1 && rc != test_data[i].expected_rc) ||
 		    (rc == 0 && test_data[i].expected_size != size)) {
-			warn("[%d] Str %s expected size %lu rc %d,"
+			warn("[%zu] Str %s expected size %lu rc %d,"
                              " got size %lu rc %d\n",
 			     i,
 			     test_data[i].test_str,
diff --git a/test/test-ringbuffer-contained-offset-read.c b/test/test-ringbuffer-contained-offset-read.c
index 5e41c6a..7490f01 100644
--- a/test/test-ringbuffer-contained-offset-read.c
+++ b/test/test-ringbuffer-contained-offset-read.c
@@ -12,7 +12,8 @@
 	struct ringbuffer_consumer *rbc;
 	struct ringbuffer *rb;
 	size_t len;
-	int rc, i;
+	size_t i;
+	int rc;
 
 	rb = ringbuffer_init(10);
 	rbc = ringbuffer_consumer_register(rb, ringbuffer_poll_nop, NULL);
