summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Brüschweiler <blei42@gmail.com>2012-08-14 11:53:08 +0200
committerKristian Høgsberg <krh@bitplanet.net>2012-08-14 10:10:47 -0400
commit0a633704e6636c475f20a82e96b6ed03a7bc9c18 (patch)
treeb78d63be1c481b0a117ac1e162d017d7e2a2b650
parentb57694ca0e9dc7d2845ce9fb0ac9c4b0ebc940ce (diff)
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
-rw-r--r--tests/socket-test.c21
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';