X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-ptsname.c;h=15d4925bae9192fb4f9812926ca717f59d7a9c96;hb=5191b3546cfb6c163228c23f214e325ddf60d46f;hp=13596da1ffda968d6a187070b125ecf4d23933fd;hpb=168fc669c003eebe51fb61480d363f8a44695083;p=gnulib.git diff --git a/tests/test-ptsname.c b/tests/test-ptsname.c index 13596da1f..15d4925ba 100644 --- a/tests/test-ptsname.c +++ b/tests/test-ptsname.c @@ -1,5 +1,5 @@ /* Test of ptsname(3). - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -21,7 +21,9 @@ #include "signature.h" SIGNATURE_CHECK (ptsname, char *, (int)); +#include #include +#include #include #include #include @@ -54,6 +56,25 @@ same_slave (const char *slave_name1, const char *slave_name2) int main (void) { +#if HAVE_DECL_ALARM + /* Declare failure if test takes too long, by using default abort + caused by SIGALRM. */ + int alarm_value = 5; + signal (SIGALRM, SIG_DFL); + alarm (alarm_value); +#endif + + { + char *result; + + errno = 0; + result = ptsname (-1); + ASSERT (result == NULL); + ASSERT (errno == EBADF + || errno == ENOTTY /* seen on glibc */ + ); + } + { int fd; char *result; @@ -101,7 +122,7 @@ main (void) #else - /* Try various master names of MacOS X: /dev/pty[p-w][0-9a-f] */ + /* Try various master names of Mac OS X: /dev/pty[p-w][0-9a-f] */ { int char1; int char2;