diff options
| author | Philipp Brüschweiler <blei42@gmail.com> | 2012-08-14 11:53:08 +0200 |
|---|---|---|
| committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-08-14 10:10:47 -0400 |
| commit | 0a633704e6636c475f20a82e96b6ed03a7bc9c18 (patch) | |
| tree | b78d63be1c481b0a117ac1e162d017d7e2a2b650 /tests/socket-test.c | |
| parent | Add support for X cursor themes. (diff) | |
| download | wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.tar wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.tar.gz wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.tar.bz2 wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.tar.lz wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.tar.xz wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.tar.zst wayland-0a633704e6636c475f20a82e96b6ed03a7bc9c18.zip | |
socket-test: don't try to be clever, fail if no XDG_RUNTIME_DIR is set
Not only setenv(), also putenv() allocates memory on my system
(glibc 2.16.0). Just fail with a clear message if XDG_RUNTIME_DIR is
not set.
https://bugs.freedesktop.org/show_bug.cgi?id=52618
Diffstat (limited to 'tests/socket-test.c')
| -rw-r--r-- | tests/socket-test.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/tests/socket-test.c b/tests/socket-test.c index 0ee5ad0..f0c06f4 100644 --- a/tests/socket-test.c +++ b/tests/socket-test.c @@ -36,17 +36,20 @@ static const struct sockaddr_un example_sockaddr_un; #define TOO_LONG (1 + sizeof example_sockaddr_un.sun_path) +/* Ensure the connection doesn't fail due to lack of XDG_RUNTIME_DIR. */ +static void require_xdg_runtime_dir() +{ + char *val = getenv("XDG_RUNTIME_DIR"); + if (!val) + assert(0 && "set $XDG_RUNTIME_DIR to run this test"); +} + TEST(socket_path_overflow_client_connect) { char path[TOO_LONG]; struct wl_display *d; - int ret; - /* Ensure the connection doesn't fail due to lack of - XDG_RUNTIME_DIR. Don't use setenv(), as that allocates - memory and creates a spurious memory leak failure. */ - ret = putenv("XDG_RUNTIME_DIR=."); - assert(ret == 0); + require_xdg_runtime_dir(); memset(path, 'a', sizeof path); path[sizeof path - 1] = '\0'; @@ -62,11 +65,7 @@ TEST(socket_path_overflow_server_create) struct wl_display *d; int ret; - /* Ensure the connection doesn't fail due to lack of - XDG_RUNTIME_DIR. Don't use setenv(), as that allocates - memory and creates a spurious memory leak failure. */ - ret = putenv("XDG_RUNTIME_DIR=."); - assert(ret == 0); + require_xdg_runtime_dir(); memset(path, 'a', sizeof path); path[sizeof path - 1] = '\0'; |
