From 9086b60d81a48f14b6c48b30e307caa053568548 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Sat, 24 Mar 2012 14:34:05 -0400 Subject: [PATCH] connection-test: Add test case to stress connection buffers This catches the bug fixed in cab70c9e5d8c38260a07bb1ddb7618826a120465. --- tests/connection-test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/connection-test.c b/tests/connection-test.c index 3747857..ff31518 100644 --- a/tests/connection-test.c +++ b/tests/connection-test.c @@ -402,3 +402,25 @@ TEST(connection_marshal_demarshal) release_marshal_data(&data); } + +TEST(connection_marshal_alot) +{ + struct marshal_data data; + char f[64]; + int i; + + setup_marshal_data(&data); + + /* We iterate enough to make sure we wrap the circular buffers + * for both regular data an fds. */ + + for (i = 0; i < 2000; i++) { + strcpy(f, "/tmp/weston-tests-XXXXXX"); + data.value.h = mkstemp(f); + assert(data.value.h >= 0); + marshal_demarshal(&data, (void *) validate_demarshal_h, + 8, "h", data.value.h); + } + + release_marshal_data(&data); +} -- 2.7.4