diff options
Diffstat (limited to 'deps/uv/test/test-tty.c')
-rw-r--r-- | deps/uv/test/test-tty.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/deps/uv/test/test-tty.c b/deps/uv/test/test-tty.c index 55cc016752..d03f07a441 100644 --- a/deps/uv/test/test-tty.c +++ b/deps/uv/test/test-tty.c @@ -28,7 +28,7 @@ #else /* Unix */ # include <fcntl.h> # include <unistd.h> -# if defined(__linux__) +# if (defined(__linux__) || defined(__GLIBC__)) && !defined(__ANDROID__) # include <pty.h> # elif defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__) # include <util.h> @@ -260,16 +260,24 @@ TEST_IMPL(tty_file) { } TEST_IMPL(tty_pty) { -# if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ - defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) - int master_fd, slave_fd; +#if defined(__APPLE__) || \ + defined(__DragonFly__) || \ + defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || \ + (defined(__linux__) && !defined(__ANDROID__)) || \ + defined(__NetBSD__) || \ + defined(__OpenBSD__) + int master_fd, slave_fd, r; struct winsize w; uv_loop_t loop; uv_tty_t master_tty, slave_tty; ASSERT(0 == uv_loop_init(&loop)); - ASSERT(0 == openpty(&master_fd, &slave_fd, NULL, NULL, &w)); + r = openpty(&master_fd, &slave_fd, NULL, NULL, &w); + if (r != 0) + RETURN_SKIP("No pty available, skipping."); + ASSERT(0 == uv_tty_init(&loop, &slave_tty, slave_fd, 0)); ASSERT(0 == uv_tty_init(&loop, &master_tty, master_fd, 0)); /* Check if the file descriptor was reopened. If it is, |