X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-ttyname_r.c;h=980d14e5bd14ff4dfd4a70d11e5e1585aa33ebd3;hb=790fade563cb6461d9f2b78775e8bd53e66a2566;hp=b82f876f2f6520114bd913bff4a6cfe4fe0cb324;hpb=3e8e7f402892d81ed5b20597b2c1c70723b82bb2;p=gnulib.git diff --git a/tests/test-ttyname_r.c b/tests/test-ttyname_r.c index b82f876f2..980d14e5b 100644 --- a/tests/test-ttyname_r.c +++ b/tests/test-ttyname_r.c @@ -1,5 +1,5 @@ /* Test of ttyname_r(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 @@ -47,5 +47,21 @@ main (void) ASSERT (ttyname_r (fd, buf, sizeof (buf)) == 0); ASSERT (memcmp (buf, "/dev/", 5) == 0); + /* Test behaviour for invalid file descriptors. */ + { + int err = ttyname_r (-1, buf, sizeof (buf)); + ASSERT (err == EBADF + || err == ENOTTY /* seen on FreeBSD 6.4 */ + ); + } + { + int err; + close (99); + err = ttyname_r (99, buf, sizeof (buf)); + ASSERT (err == EBADF + || err == ENOTTY /* seen on FreeBSD 6.4 */ + ); + } + return 0; }