[PATCH] pthread_getcpuclockid: Add descriptive comment to smoke test

Siddhesh Poyarekar siddhesh@sourceware.org
Thu Nov 28 11:32:58 GMT 2024


Add a descriptive comment to the tst-pthread-cpuclockid-invalid test and
also drop pthread_getcpuclockid from the TODO-testing list since it now
has full coverage.
---
 nptl/TODO-testing                        |  4 ----
 nptl/tst-pthread-getcpuclockid-invalid.c | 12 ++++++++++--
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/nptl/TODO-testing b/nptl/TODO-testing
index e076e5624f..f50d2ceb51 100644
--- a/nptl/TODO-testing
+++ b/nptl/TODO-testing
@@ -10,10 +10,6 @@ pthread_attr_[sg]etstack
 
   some more tests needed
 
-pthread_getcpuclockid
-
-  check that value is reset -> rt subdir
-
 pthread_getschedparam
 pthread_setschedparam
 
diff --git a/nptl/tst-pthread-getcpuclockid-invalid.c b/nptl/tst-pthread-getcpuclockid-invalid.c
index e88a563427..df1ad18226 100644
--- a/nptl/tst-pthread-getcpuclockid-invalid.c
+++ b/nptl/tst-pthread-getcpuclockid-invalid.c
@@ -1,5 +1,4 @@
-/* Smoke test to verify that pthread_getcpuclockid fails with ESRCH when the
-   thread in question has exited.
+/* pthread_getcpuclockid should fail with ESRCH when the thread exits.
    Copyright the GNU Toolchain Authors.
    This file is part of the GNU C Library.
 
@@ -17,6 +16,15 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+/* The input thread descriptor to pthread_getcpuclockid needs to be valid when
+   the function is called.  For the purposes of this test, this means that the
+   thread should not be detached, have exited, but not joined.  There is also a
+   tiny window where the TCB has been allocated but the target thread itself
+   not created, where pthread_getcpuclockid could return ESRCH, but it's not
+   possible to tap into that window to reliably test it.  It's not necessary
+   anyway, since the window this test exploits is good enough to complete
+   coverage for pthread_getcpuclockid alongside tst-clock2.  */
+
 #include <errno.h>
 #include <pthread.h>
 #include <sched.h>
-- 
2.46.0



More information about the Libc-alpha mailing list