Update wayland to 1.14.0

Disable posix_fallocate since ZFS does not support it.
Use epoll-shim instead of kqueue directly, from myfreeweb on github.

PR:		224200
Submitted by:	Johannes Lundberg
This commit is contained in:
Niclas Zeising 2017-12-09 22:02:30 +00:00
parent 21735a1156
commit c1e6040e96
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=455878
10 changed files with 52 additions and 186 deletions

View file

@ -1,25 +1,8 @@
# Created by: kwm@FreeBSD.org # Created by: kwm@FreeBSD.org
# $FreeBSD$ # $FreeBSD$
# NOTE
# Changes made by kwm to use kevent instead of epoll
# are still in place. However, since libinput depends
# on libepoll-shim the simplest to do was to have Wayland
# also use it. Currently build will fail if epoll-shim
# is not available but can be built without epoll-shim
# if EPOLLSHIM_LIBS is cleared (configure.ac)
#
# TODO: Add condition for this in configure
#
# If we want to build Wayland with kwm's kevent patches
# and use epoll-shim for libinput we have to change it
# so that Wayland ignore epoll headers installed by
# epoll-shim.
# Maybe best is to use epoll-shim if it is good enough
# and keep diff with upstream minimal.
PORTNAME= wayland PORTNAME= wayland
PORTVERSION= 1.13.0 PORTVERSION= 1.14.0
CATEGORIES= graphics wayland CATEGORIES= graphics wayland
MASTER_SITES= http://wayland.freedesktop.org/releases/ MASTER_SITES= http://wayland.freedesktop.org/releases/
@ -42,6 +25,7 @@ USE_GNOME= libxslt:build
USE_LDCONFIG= yes USE_LDCONFIG= yes
GNU_CONFIGURE= yes GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-documentation CONFIGURE_ARGS= --disable-documentation
CONFIGURE_ENV= ac_cv_func_posix_fallocate=no # EINVAL for many FS on 12.0
INSTALL_TARGET= install-strip INSTALL_TARGET= install-strip
.include <bsd.port.mk> .include <bsd.port.mk>

View file

@ -1,3 +1,3 @@
TIMESTAMP = 1493984926 TIMESTAMP = 1507715269
SHA256 (wayland-1.13.0.tar.xz) = 69b052c031a61e89af7cc8780893d0da1e301492352aa449dee9345043e6fe51 SHA256 (wayland-1.14.0.tar.xz) = ed80cabc0961a759a42092e2c39aabfc1ec9a13c86c98bbe2b812f008da27ab8
SIZE (wayland-1.13.0.tar.xz) = 414508 SIZE (wayland-1.14.0.tar.xz) = 413960

View file

@ -1,16 +1,13 @@
--- configure.ac.orig 2016-06-01 00:11:10 UTC --- configure.ac.orig 2017-08-08 18:20:52 UTC
+++ configure.ac +++ configure.ac
@@ -63,6 +63,28 @@ AC_SUBST(GCC_CFLAGS) @@ -63,6 +63,25 @@ AC_SUBST(GCC_CFLAGS)
AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate]) AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate])
+AC_CHECK_HEADERS([sys/signalfd.h sys/timerfd.h]) +AC_CHECK_HEADERS([sys/signalfd.h sys/timerfd.h])
+ +
+# Use epoll on Linux or kqueue on BSD +# Use epoll on Linux and epoll-shim (kqueue) on BSD
+AC_CHECK_HEADERS([sys/epoll.h sys/event.h]) +AC_CHECK_HEADERS([sys/epoll.h])
+if test "x$ac_cv_header_sys_epoll_h" != "xyes" && test "x$ac_cv_header_sys_event_h" != "xyes"; then
+ AC_MSG_ERROR([Can't find sys/epoll.h or sys/event.h. Please ensure either epoll or kqueue is available.])
+fi
+ +
+# Credential support on FreeBSD +# Credential support on FreeBSD
+AC_CHECK_HEADERS([sys/ucred.h]) +AC_CHECK_HEADERS([sys/ucred.h])
@ -29,7 +26,7 @@
AC_ARG_ENABLE([libraries], AC_ARG_ENABLE([libraries],
[AC_HELP_STRING([--disable-libraries], [AC_HELP_STRING([--disable-libraries],
[Disable compilation of wayland libraries])], [Disable compilation of wayland libraries])],
@@ -98,11 +120,12 @@ AC_SUBST([ICONDIR]) @@ -98,17 +117,21 @@ AC_SUBST([ICONDIR])
if test "x$enable_libraries" = "xyes"; then if test "x$enable_libraries" = "xyes"; then
PKG_CHECK_MODULES(FFI, [libffi]) PKG_CHECK_MODULES(FFI, [libffi])
@ -44,13 +41,12 @@
[[#include <sys/timerfd.h>]]) [[#include <sys/timerfd.h>]])
AC_CHECK_DECL(CLOCK_MONOTONIC,[], AC_CHECK_DECL(CLOCK_MONOTONIC,[],
[AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland libraries")], [AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland libraries")],
@@ -110,6 +133,9 @@ if test "x$enable_libraries" = "xyes"; t [[#include <time.h>]])
AC_CHECK_HEADERS([execinfo.h]) AC_CHECK_HEADERS([execinfo.h])
fi fi
+
+EPOLLSHIM_LIBS="-lepoll-shim" +EPOLLSHIM_LIBS="-lepoll-shim"
+AC_SUBST(EPOLLSHIM_LIBS) +AC_SUBST(EPOLLSHIM_LIBS)
+
PKG_CHECK_MODULES(EXPAT, [expat], [], PKG_CHECK_MODULES(EXPAT, [expat], [],
[AC_CHECK_HEADERS(expat.h, [], [AC_CHECK_HEADERS(expat.h, [],
[AC_MSG_ERROR([Can't find expat.h. Please install expat.])])

View file

@ -1,6 +1,6 @@
--- src/wayland-os.c.orig 2015-07-06 19:38:51 UTC --- src/wayland-os.c.orig 2017-08-08 18:20:52 UTC
+++ src/wayland-os.c +++ src/wayland-os.c
@@ -25,14 +25,20 @@ @@ -25,6 +25,8 @@
#define _GNU_SOURCE #define _GNU_SOURCE
@ -9,20 +9,15 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> @@ -32,7 +34,6 @@
#include <errno.h> #include <errno.h>
+#ifdef HAVE_SYS_EPOLL_H
#include <sys/epoll.h> #include <sys/epoll.h>
+#endif
+#ifdef HAVE_SYS_EVENT_H
+#include <sys/event.h>
+#endif
-#include "../config.h" -#include "../config.h"
#include "wayland-os.h" #include "wayland-os.h"
static int static int
@@ -62,26 +68,50 @@ wl_os_socket_cloexec(int domain, int typ @@ -62,26 +63,50 @@ wl_os_socket_cloexec(int domain, int type, int protoco
{ {
int fd; int fd;
@ -73,7 +68,7 @@
newfd = fcntl(fd, F_DUPFD, minfd); newfd = fcntl(fd, F_DUPFD, minfd);
return set_cloexec_or_close(newfd); return set_cloexec_or_close(newfd);
@@ -123,15 +153,18 @@ wl_os_recvmsg_cloexec(int sockfd, struct @@ -123,15 +148,18 @@ wl_os_recvmsg_cloexec(int sockfd, struct msghdr *msg,
{ {
ssize_t len; ssize_t len;
@ -92,22 +87,10 @@
int int
wl_os_epoll_create_cloexec(void) wl_os_epoll_create_cloexec(void)
{ {
@@ -148,6 +181,19 @@ wl_os_epoll_create_cloexec(void) @@ -148,6 +176,7 @@ wl_os_epoll_create_cloexec(void)
fd = epoll_create(1); fd = epoll_create(1);
return set_cloexec_or_close(fd); return set_cloexec_or_close(fd);
} }
+#endif
+
+#ifdef HAVE_SYS_EVENT_H
+int
+wl_os_kqueue_create_cloexec(void)
+{
+ int fd;
+
+ fd = kqueue();
+
+ return set_cloexec_or_close(fd);
+}
+#endif +#endif
int int

View file

@ -1,6 +1,6 @@
--- src/wayland-os.h.orig 2015-07-06 19:38:51 UTC --- src/wayland-os.h.orig 2017-08-08 18:20:52 UTC
+++ src/wayland-os.h +++ src/wayland-os.h
@@ -30,13 +30,25 @@ int @@ -30,6 +30,9 @@ int
wl_os_socket_cloexec(int domain, int type, int protocol); wl_os_socket_cloexec(int domain, int type, int protocol);
int int
@ -10,19 +10,3 @@
wl_os_dupfd_cloexec(int fd, long minfd); wl_os_dupfd_cloexec(int fd, long minfd);
ssize_t ssize_t
wl_os_recvmsg_cloexec(int sockfd, struct msghdr *msg, int flags);
+/* FIXME? not sure if this will work in this header like this ...
+ though seems build only header perhaps? */
+#ifdef HAVE_SYS_EPOLL_H
int
wl_os_epoll_create_cloexec(void);
+#endif
+
+#ifdef HAVE_SYS_EVENT_H
+int
+wl_os_kqueue_create_cloexec(void);
+#endif
int
wl_os_accept_cloexec(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

View file

@ -1,4 +1,4 @@
--- src/wayland-server.c.orig 2017-02-07 22:59:06 UTC --- src/wayland-server.c.orig 2017-08-08 18:20:52 UTC
+++ src/wayland-server.c +++ src/wayland-server.c
@@ -25,6 +25,8 @@ @@ -25,6 +25,8 @@
@ -21,7 +21,7 @@
#include "wayland-util.h" #include "wayland-util.h"
#include "wayland-private.h" #include "wayland-private.h"
#include "wayland-server.h" #include "wayland-server.h"
@@ -79,7 +86,13 @@ struct wl_client { @@ -77,7 +84,13 @@ struct wl_client {
struct wl_list link; struct wl_list link;
struct wl_map objects; struct wl_map objects;
struct wl_priv_signal destroy_signal; struct wl_priv_signal destroy_signal;
@ -35,7 +35,7 @@
int error; int error;
struct wl_priv_signal resource_created_signal; struct wl_priv_signal resource_created_signal;
}; };
@@ -503,10 +516,20 @@ wl_client_create(struct wl_display *disp @@ -501,10 +514,20 @@ wl_client_create(struct wl_display *display, int fd)
if (!client->source) if (!client->source)
goto err_client; goto err_client;
@ -56,13 +56,13 @@
client->connection = wl_connection_create(fd); client->connection = wl_connection_create(fd);
if (client->connection == NULL) if (client->connection == NULL)
@@ -560,12 +583,23 @@ WL_EXPORT void @@ -558,12 +581,23 @@ WL_EXPORT void
wl_client_get_credentials(struct wl_client *client, wl_client_get_credentials(struct wl_client *client,
pid_t *pid, uid_t *uid, gid_t *gid) pid_t *pid, uid_t *uid, gid_t *gid)
{ {
+#ifdef HAVE_SYS_UCRED_H +#ifdef HAVE_SYS_UCRED_H
+ /* FreeBSD */ + /* FreeBSD */
+ if (pid) if (pid)
+ *pid = 0; /* FIXME: not defined on FreeBSD */ + *pid = 0; /* FIXME: not defined on FreeBSD */
+ if (uid) + if (uid)
+ *uid = client->xucred.cr_uid; + *uid = client->xucred.cr_uid;
@ -70,7 +70,7 @@
+ *gid = client->xucred.cr_gid; + *gid = client->xucred.cr_gid;
+#else +#else
+ /* Linux */ + /* Linux */
if (pid) + if (pid)
*pid = client->ucred.pid; *pid = client->ucred.pid;
if (uid) if (uid)
*uid = client->ucred.uid; *uid = client->ucred.uid;

View file

@ -1,4 +1,4 @@
--- src/wayland-shm.c.orig 2016-11-18 00:32:40 UTC --- src/wayland-shm.c.orig 2017-08-08 18:20:52 UTC
+++ src/wayland-shm.c +++ src/wayland-shm.c
@@ -30,6 +30,8 @@ @@ -30,6 +30,8 @@
@ -45,7 +45,7 @@
if (data == MAP_FAILED) { if (data == MAP_FAILED) {
wl_resource_post_error(pool->resource, wl_resource_post_error(pool->resource,
WL_SHM_ERROR_INVALID_FD, WL_SHM_ERROR_INVALID_FD,
@@ -110,6 +124,10 @@ shm_pool_unref(struct wl_shm_pool *pool, @@ -110,6 +124,10 @@ shm_pool_unref(struct wl_shm_pool *pool, bool external
if (pool->internal_refcount + pool->external_refcount) if (pool->internal_refcount + pool->external_refcount)
return; return;
@ -56,7 +56,7 @@
munmap(pool->data, pool->size); munmap(pool->data, pool->size);
free(pool); free(pool);
} }
@@ -223,6 +241,73 @@ shm_pool_destroy(struct wl_client *clien @@ -223,6 +241,73 @@ shm_pool_destroy(struct wl_client *client, struct wl_r
wl_resource_destroy(resource); wl_resource_destroy(resource);
} }
@ -130,7 +130,7 @@
static void static void
shm_pool_resize(struct wl_client *client, struct wl_resource *resource, shm_pool_resize(struct wl_client *client, struct wl_resource *resource,
int32_t size) int32_t size)
@@ -284,7 +369,14 @@ shm_create_pool(struct wl_client *client @@ -284,7 +369,14 @@ shm_create_pool(struct wl_client *client, struct wl_re
"failed mmap fd %d", fd); "failed mmap fd %d", fd);
goto err_free; goto err_free;
} }

View file

@ -1,4 +1,4 @@
--- tests/event-loop-test.c.orig 2016-10-22 16:23:10 UTC --- tests/event-loop-test.c.orig 2017-08-08 18:20:52 UTC
+++ tests/event-loop-test.c +++ tests/event-loop-test.c
@@ -167,10 +167,10 @@ TEST(event_loop_signal) @@ -167,10 +167,10 @@ TEST(event_loop_signal)
signal_callback, &got_it); signal_callback, &got_it);
@ -14,7 +14,7 @@
assert(got_it == 1); assert(got_it == 1);
wl_event_source_remove(source); wl_event_source_remove(source);
@@ -234,12 +234,20 @@ TEST(event_loop_timer) @@ -234,11 +234,19 @@ TEST(event_loop_timer)
source = wl_event_loop_add_timer(loop, timer_callback, &got_it); source = wl_event_loop_add_timer(loop, timer_callback, &got_it);
assert(source); assert(source);
@ -29,12 +29,11 @@
+ * See: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/hackers/2012-07/msg00319.html */ + * See: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/hackers/2012-07/msg00319.html */
+ assert(wl_event_loop_dispatch(loop, 50) == 0); + assert(wl_event_loop_dispatch(loop, 50) == 0);
assert(got_it == 1); assert(got_it == 1);
+
+ /* Check it doesn't fire again. */ + /* Check it doesn't fire again. */
+ got_it = 0; + got_it = 0;
+ assert(wl_event_loop_dispatch(loop, 20) == 0); + assert(wl_event_loop_dispatch(loop, 20) == 0);
+ assert(!got_it); + assert(!got_it);
+
wl_event_source_remove(source); wl_event_source_remove(source);
wl_event_loop_destroy(loop); wl_event_loop_destroy(loop);
}

View file

@ -1,4 +1,4 @@
--- tests/os-wrappers-test.c.orig 2016-10-22 16:23:10 UTC --- tests/os-wrappers-test.c.orig 2017-08-08 18:20:52 UTC
+++ tests/os-wrappers-test.c +++ tests/os-wrappers-test.c
@@ -26,6 +26,8 @@ @@ -26,6 +26,8 @@
@ -9,47 +9,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdint.h> #include <stdint.h>
#include <assert.h> #include <assert.h>
@@ -38,7 +40,13 @@ @@ -73,10 +75,12 @@ socket(int domain, int type, int protocol)
#include <stdarg.h>
#include <fcntl.h>
#include <stdio.h>
+
+#ifdef HAVE_SYS_EPOLL_H
#include <sys/epoll.h>
+#elif HAVE_SYS_EVENT_H
+#include <sys/event.h>
+#include <sys/types.h>
+#endif
#include "wayland-private.h"
#include "test-runner.h"
@@ -55,8 +63,13 @@ static int wrapped_calls_fcntl;
static ssize_t (*real_recvmsg)(int, struct msghdr *, int);
static int wrapped_calls_recvmsg;
+#ifdef HAVE_SYS_EPOLL_H
static int (*real_epoll_create1)(int);
static int wrapped_calls_epoll_create1;
+#elif HAVE_SYS_EVENT_H
+static int (*real_kqueue)(void);
+static int wrapped_calls_kqueue;
+#endif
static void
init_fallbacks(int do_fallbacks)
@@ -65,7 +78,11 @@ init_fallbacks(int do_fallbacks)
real_socket = dlsym(RTLD_NEXT, "socket");
real_fcntl = dlsym(RTLD_NEXT, "fcntl");
real_recvmsg = dlsym(RTLD_NEXT, "recvmsg");
+#ifdef HAVE_SYS_EPOLL_H
real_epoll_create1 = dlsym(RTLD_NEXT, "epoll_create1");
+#elif HAVE_SYS_EVENT_H
+ real_kqueue = dlsym(RTLD_NEXT, "kqueue");
+#endif
}
__attribute__ ((visibility("default"))) int
@@ -73,10 +90,12 @@ socket(int domain, int type, int protoco
{ {
wrapped_calls_socket++; wrapped_calls_socket++;
@ -62,7 +22,7 @@
return real_socket(domain, type, protocol); return real_socket(domain, type, protocol);
} }
@@ -89,10 +108,12 @@ fcntl(int fd, int cmd, ...) @@ -89,10 +93,12 @@ fcntl(int fd, int cmd, ...)
wrapped_calls_fcntl++; wrapped_calls_fcntl++;
@ -75,7 +35,7 @@
va_start(ap, cmd); va_start(ap, cmd);
arg = va_arg(ap, void*); arg = va_arg(ap, void*);
@@ -106,14 +127,17 @@ recvmsg(int sockfd, struct msghdr *msg, @@ -106,10 +112,12 @@ recvmsg(int sockfd, struct msghdr *msg, int flags)
{ {
wrapped_calls_recvmsg++; wrapped_calls_recvmsg++;
@ -88,28 +48,7 @@
return real_recvmsg(sockfd, msg, flags); return real_recvmsg(sockfd, msg, flags);
} }
@@ -156,12 +164,14 @@ TEST(os_wrappers_socket_cloexec)
+#ifdef HAVE_SYS_EPOLL_H
__attribute__ ((visibility("default"))) int
epoll_create1(int flags)
{
@@ -127,6 +151,15 @@ epoll_create1(int flags)
return real_epoll_create1(flags);
}
+#elif HAVE_SYS_EVENT_H
+__attribute__ ((visibility("default"))) int
+kqueue(void)
+{
+ wrapped_calls_kqueue++;
+
+ return real_kqueue();
+}
+#endif
static void
do_os_wrappers_socket_cloexec(int n)
@@ -156,12 +189,14 @@ TEST(os_wrappers_socket_cloexec)
do_os_wrappers_socket_cloexec(0); do_os_wrappers_socket_cloexec(0);
} }
@ -124,7 +63,7 @@
static void static void
do_os_wrappers_dupfd_cloexec(int n) do_os_wrappers_dupfd_cloexec(int n)
@@ -195,11 +230,13 @@ TEST(os_wrappers_dupfd_cloexec) @@ -195,11 +205,13 @@ TEST(os_wrappers_dupfd_cloexec)
do_os_wrappers_dupfd_cloexec(0); do_os_wrappers_dupfd_cloexec(0);
} }
@ -138,7 +77,7 @@
struct marshal_data { struct marshal_data {
struct wl_connection *read_connection; struct wl_connection *read_connection;
@@ -218,8 +255,7 @@ struct marshal_data { @@ -218,8 +230,7 @@ struct marshal_data {
static void static void
setup_marshal_data(struct marshal_data *data) setup_marshal_data(struct marshal_data *data)
{ {
@ -148,7 +87,7 @@
data->read_connection = wl_connection_create(data->s[0]); data->read_connection = wl_connection_create(data->s[0]);
assert(data->read_connection); assert(data->read_connection);
@@ -328,11 +364,13 @@ TEST(os_wrappers_recvmsg_cloexec) @@ -328,11 +339,13 @@ TEST(os_wrappers_recvmsg_cloexec)
do_os_wrappers_recvmsg_cloexec(0); do_os_wrappers_recvmsg_cloexec(0);
} }
@ -162,24 +101,3 @@
static void static void
do_os_wrappers_epoll_create_cloexec(int n) do_os_wrappers_epoll_create_cloexec(int n)
@@ -342,12 +380,20 @@ do_os_wrappers_epoll_create_cloexec(int
nr_fds = count_open_fds();
+#ifdef HAVE_SYS_EPOLL_H
fd = wl_os_epoll_create_cloexec();
+#elif HAVE_SYS_EVENT_H
+ fd = wl_os_kqueue_create_cloexec();
+#endif
assert(fd >= 0);
#ifdef EPOLL_CLOEXEC
+#ifdef HAVE_SYS_EPOLL_H
assert(wrapped_calls_epoll_create1 == n);
#else
+ assert(wrapped_calls_kqueue == n);
+#endif
+#else
printf("No epoll_create1.\n");
#endif

View file

@ -1,4 +1,4 @@
--- tests/test-runner.c.orig 2016-11-18 00:32:40 UTC --- tests/test-runner.c.orig 2017-08-08 18:20:52 UTC
+++ tests/test-runner.c +++ tests/test-runner.c
@@ -25,6 +25,12 @@ @@ -25,6 +25,12 @@
@ -13,7 +13,7 @@
#include <unistd.h> #include <unistd.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@@ -37,18 +43,35 @@ @@ -37,19 +43,36 @@
#include <errno.h> #include <errno.h>
#include <limits.h> #include <limits.h>
#include <sys/ptrace.h> #include <sys/ptrace.h>
@ -39,16 +39,17 @@
static void* (*sys_realloc)(void*, size_t); static void* (*sys_realloc)(void*, size_t);
static void* (*sys_calloc)(size_t, size_t); static void* (*sys_calloc)(size_t, size_t);
+#endif +#endif
+
+#ifdef __FreeBSD__ +#ifdef __FreeBSD__
+/* XXX review ptrace() usage */ +/* XXX review ptrace() usage */
+#define PTRACE_ATTACH PT_ATTACH +#define PTRACE_ATTACH PT_ATTACH
+#define PTRACE_CONT PT_CONTINUE +#define PTRACE_CONT PT_CONTINUE
+#define PTRACE_DETACH PT_DETACH +#define PTRACE_DETACH PT_DETACH
+#endif +#endif
+
/* when set to 1, check if tests are not leaking memory and opened files. /* when set to 1, check if tests are not leaking memory and opened files.
* It is turned on by default. It can be turned off by * It is turned on by default. It can be turned off by
* WAYLAND_TEST_NO_LEAK_CHECK environment variable. */
@@ -57,7 +80,7 @@ int leak_check_enabled; @@ -57,7 +80,7 @@ int leak_check_enabled;
/* when this var is set to 0, every call to test_set_timeout() is /* when this var is set to 0, every call to test_set_timeout() is
@ -115,7 +116,7 @@
if (is_debugger_attached()) { if (is_debugger_attached()) {
leak_check_enabled = 0; leak_check_enabled = 0;
timeouts_enabled = 0; timeouts_enabled = 0;
@@ -364,6 +393,16 @@ int main(int argc, char *argv[]) @@ -364,7 +393,17 @@ int main(int argc, char *argv[])
leak_check_enabled = !getenv("WAYLAND_TEST_NO_LEAK_CHECK"); leak_check_enabled = !getenv("WAYLAND_TEST_NO_LEAK_CHECK");
timeouts_enabled = !getenv("WAYLAND_TEST_NO_TIMEOUTS"); timeouts_enabled = !getenv("WAYLAND_TEST_NO_TIMEOUTS");
} }
@ -125,13 +126,14 @@
+ /* XXX review later */ + /* XXX review later */
+ timeouts_enabled = 0; + timeouts_enabled = 0;
+#endif +#endif
+
+ if (isatty(fileno(stderr))) + if (isatty(fileno(stderr)))
+ is_atty = 1; + is_atty = 1;
+ +
+
if (argc == 2 && strcmp(argv[1], "--help") == 0) if (argc == 2 && strcmp(argv[1], "--help") == 0)
usage(argv[0], EXIT_SUCCESS); usage(argv[0], EXIT_SUCCESS);
@@ -395,7 +434,8 @@ int main(int argc, char *argv[]) @@ -395,7 +434,8 @@ int main(int argc, char *argv[])
if (pid == 0) if (pid == 0)
run_test(t); /* never returns */ run_test(t); /* never returns */