X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-ptsname.c;h=15d4925bae9192fb4f9812926ca717f59d7a9c96;hb=bbfcd2f1a92c9bdbb8d7d7d0a8a8c6665c316747;hp=ccf2ab1b5e265e3925c692f86196eaa9009f0301;hpb=d60f3b0c6b0f93a601acd1cfd3923f94ca05abb0;p=gnulib.git diff --git a/tests/test-ptsname.c b/tests/test-ptsname.c index ccf2ab1b5..15d4925ba 100644 --- a/tests/test-ptsname.c +++ b/tests/test-ptsname.c @@ -1,5 +1,5 @@ /* Test of ptsname(3). - Copyright (C) 2010-2011 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;