From: Bruno Haible Date: Fri, 13 Jan 2023 14:15:17 +0000 (+0100) Subject: login_tty tests: Be more verbose when the test fails. X-Git-Tag: v1.0~1843 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=cccd508bc6097b03240f21d5ee68b617a02d8155;p=gnulib.git login_tty tests: Be more verbose when the test fails. * tests/test-login_tty.c (main): When the test fails, write a message into a file. --- diff --git a/ChangeLog b/ChangeLog index 973596ac75..2485ffc919 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-01-13 Bruno Haible + + login_tty tests: Be more verbose when the test fails. + * tests/test-login_tty.c (main): When the test fails, write a message + into a file. + 2023-01-13 Bruno Haible qcopy-acl: Make last patch more robust. diff --git a/tests/test-login_tty.c b/tests/test-login_tty.c index 7ed09f048b..294b46d63c 100644 --- a/tests/test-login_tty.c +++ b/tests/test-login_tty.c @@ -53,7 +53,8 @@ main () } /* From here on, we cannot use stderr for error messages any more. - If a test fails, just abort. */ + If a test fails, write error information into a file named 'err', + then abort. */ /* Check that fd = 0, 1, 2 are now open to the controlling terminal for the current process and that it is a session of its own. */ @@ -61,12 +62,38 @@ main () int fd; for (fd = 0; fd < 3; fd++) if (!(tcgetpgrp (fd) == getpid ())) - abort (); + { + freopen ("err", "w+", stderr); + fprintf (stderr, "tcgetpgrp(%d) = %ld whereas getpid() = %ld\n", + fd, (long) tcgetpgrp (fd), (long) getpid ()); + fflush (stderr); + abort (); + } for (fd = 0; fd < 3; fd++) { pid_t sid = tcgetsid (fd); - if (!(sid == -1 ? errno == ENOSYS : sid == getpid ())) - abort (); + if (sid == -1) + { + if (!(errno == ENOSYS)) + { + freopen ("err", "w+", stderr); + fprintf (stderr, "tcgetsid(%d) = -1 and errno = %d\n", + fd, errno); + fflush (stderr); + abort (); + } + } + else + { + if (!(sid == getpid ())) + { + freopen ("err", "w+", stderr); + fprintf (stderr, "tcgetsid(%d) = %ld whereas getpid() = %ld\n", + fd, (long) tcgetsid (fd), (long) getpid ()); + fflush (stderr); + abort (); + } + } } }