diff options
author | Bruno Haible <bruno@clisp.org> | 2022-09-02 22:47:49 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2022-09-02 22:47:49 +0200 |
commit | b1b1dfc659b28b4341835356f3855e1354fdb588 (patch) | |
tree | 2910e89ac7c1151a90e55b744e7074079c7dbe50 /tests/test-ptsname.c | |
parent | 9c886db83e33c4c5d2c3eb6b43a045c1b77704e3 (diff) | |
download | gnulib-b1b1dfc659b28b4341835356f3855e1354fdb588.tar.gz |
ptsname tests, ptsname_r tests: Fix test failures on Hurd.
* tests/test-ptsname.c (main): On Hurd, test only the BSD ptys that
actually exist on Hurd.
* tests/test-ptsname_r.c (main): Likewise.
Diffstat (limited to 'tests/test-ptsname.c')
-rw-r--r-- | tests/test-ptsname.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test-ptsname.c b/tests/test-ptsname.c index 33d561b877..b300a03a26 100644 --- a/tests/test-ptsname.c +++ b/tests/test-ptsname.c @@ -155,6 +155,36 @@ main (void) close (fd); } +#elif defined __GNU__ /* Hurd */ + + /* Try various master names of Hurd: /dev/pty[p-q][0-9a-v] */ + { + int char1; + int char2; + + for (char1 = 'p'; char1 <= 'q'; char1++) + for (char2 = '0'; char2 <= 'v'; (char2 == '9' ? char2 = 'a' : char2++)) + { + char master_name[32]; + int fd; + + sprintf (master_name, "/dev/pty%c%c", char1, char2); + fd = open (master_name, O_RDONLY); + if (fd >= 0) + { + char *result; + char slave_name[32]; + + result = ptsname (fd); + ASSERT (result != NULL); + sprintf (slave_name, "/dev/tty%c%c", char1, char2); + ASSERT (same_slave (result, slave_name)); + + close (fd); + } + } + } + #else /* Try various master names of Mac OS X: /dev/pty[p-w][0-9a-f] */ |