summaryrefslogtreecommitdiff
path: root/deps/uv/test/test-tty.c
diff options
context:
space:
mode:
Diffstat (limited to 'deps/uv/test/test-tty.c')
-rw-r--r--deps/uv/test/test-tty.c18
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,