[v1,4/6] nptl: Remove mutex test 10

Message ID 20210625081104.1134598-5-kurt@linutronix.de
State Superseded
Headers
Series nptl: Introduce and use FUTEX_LOCK_PI2 |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Kurt Kanzenbach June 25, 2021, 8:11 a.m. UTC
  That test checks whether pthread_mutex_clocklock(MONOTONIC)/PI returns EINVAL.

However, support for that has been implemented. Therefore, remove the test.

Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
---
 nptl/Makefile        |  2 +-
 nptl/tst-mutexpi10.c | 68 --------------------------------------------
 2 files changed, 1 insertion(+), 69 deletions(-)
 delete mode 100644 nptl/tst-mutexpi10.c
  

Comments

Adhemerval Zanella July 9, 2021, 2:23 p.m. UTC | #1
On 25/06/2021 05:11, Kurt Kanzenbach wrote:
> That test checks whether pthread_mutex_clocklock(MONOTONIC)/PI returns EINVAL.
> 
> However, support for that has been implemented. Therefore, remove the test.
> 
> Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>

I think the patch should be kept, but change to FAIL_UNSUPPORTED if the *first*
call return EINVAL and trigger a real failure if first type success but
subsequent types returns EINVAL.

> ---
>  nptl/Makefile        |  2 +-
>  nptl/tst-mutexpi10.c | 68 --------------------------------------------
>  2 files changed, 1 insertion(+), 69 deletions(-)
>  delete mode 100644 nptl/tst-mutexpi10.c
> 
> diff --git a/nptl/Makefile b/nptl/Makefile
> index c64e4af2f680..5ab25c524fac 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -269,7 +269,7 @@ tests = tst-attr2 tst-attr3 tst-default-attr \
>  	tst-mutex5a tst-mutex7a \
>  	tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 \
>  	tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
> -	tst-mutexpi9 tst-mutexpi10 \
> +	tst-mutexpi9 \
>  	tst-cond22 tst-cond26 \
>  	tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 tst-robustpi5 \
>  	tst-robustpi6 tst-robustpi7 tst-robustpi9 \
> diff --git a/nptl/tst-mutexpi10.c b/nptl/tst-mutexpi10.c
> deleted file mode 100644
> index da781d0d7a93..000000000000
> --- a/nptl/tst-mutexpi10.c
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -/* Check if pthread_mutex_clocklock with PRIO_INHERIT fails with clock
> -   different than CLOCK_REALTIME.
> -   Copyright (C) 2020-2021 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.
> -
> -   The GNU C Library is free software; you can redistribute it and/or
> -   modify it under the terms of the GNU Lesser General Public
> -   License as published by the Free Software Foundation; either
> -   version 2.1 of the License, or (at your option) any later version.
> -
> -   The GNU C Library is distributed in the hope that it will be useful,
> -   but WITHOUT ANY WARRANTY; without even the implied warranty of
> -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> -   Lesser General Public License for more details.
> -
> -   You should have received a copy of the GNU Lesser General Public
> -   License along with the GNU C Library; if not, see
> -   <https://www.gnu.org/licenses/>.  */
> -
> -#include <pthread.h>
> -#include <errno.h>
> -#include <array_length.h>
> -
> -#include <support/check.h>
> -#include <support/xthread.h>
> -#include <support/timespec.h>
> -
> -static int
> -do_test (void)
> -{
> -  const int types[] = {
> -    PTHREAD_MUTEX_NORMAL,
> -    PTHREAD_MUTEX_ERRORCHECK,
> -    PTHREAD_MUTEX_RECURSIVE,
> -    PTHREAD_MUTEX_ADAPTIVE_NP
> -  };
> -  const int robust[] = {
> -    PTHREAD_MUTEX_STALLED,
> -    PTHREAD_MUTEX_ROBUST
> -  };
> -
> -
> -  for (int t = 0; t < array_length (types); t++)
> -    for (int r = 0; r < array_length (robust); r++)
> -      {
> -	pthread_mutexattr_t attr;
> -
> -	xpthread_mutexattr_init (&attr);
> -	xpthread_mutexattr_setprotocol (&attr, PTHREAD_PRIO_INHERIT);
> -	xpthread_mutexattr_settype (&attr, types[t]);
> -	xpthread_mutexattr_setrobust (&attr, robust[r]);
> -
> -	pthread_mutex_t mtx;
> -	xpthread_mutex_init (&mtx, &attr);
> -
> -	struct timespec tmo = timespec_add (xclock_now (CLOCK_MONOTONIC),
> -					    make_timespec (0, 100000000));
> -
> -	TEST_COMPARE (pthread_mutex_clocklock (&mtx, CLOCK_MONOTONIC, &tmo),
> -		      EINVAL);
> -
> -	xpthread_mutex_destroy (&mtx);
> -      }
> -
> -  return 0;
> -}
> -
> -#include <support/test-driver.c>
>
  

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index c64e4af2f680..5ab25c524fac 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -269,7 +269,7 @@  tests = tst-attr2 tst-attr3 tst-default-attr \
 	tst-mutex5a tst-mutex7a \
 	tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 \
 	tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
-	tst-mutexpi9 tst-mutexpi10 \
+	tst-mutexpi9 \
 	tst-cond22 tst-cond26 \
 	tst-robustpi1 tst-robustpi2 tst-robustpi3 tst-robustpi4 tst-robustpi5 \
 	tst-robustpi6 tst-robustpi7 tst-robustpi9 \
diff --git a/nptl/tst-mutexpi10.c b/nptl/tst-mutexpi10.c
deleted file mode 100644
index da781d0d7a93..000000000000
--- a/nptl/tst-mutexpi10.c
+++ /dev/null
@@ -1,68 +0,0 @@ 
-/* Check if pthread_mutex_clocklock with PRIO_INHERIT fails with clock
-   different than CLOCK_REALTIME.
-   Copyright (C) 2020-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <pthread.h>
-#include <errno.h>
-#include <array_length.h>
-
-#include <support/check.h>
-#include <support/xthread.h>
-#include <support/timespec.h>
-
-static int
-do_test (void)
-{
-  const int types[] = {
-    PTHREAD_MUTEX_NORMAL,
-    PTHREAD_MUTEX_ERRORCHECK,
-    PTHREAD_MUTEX_RECURSIVE,
-    PTHREAD_MUTEX_ADAPTIVE_NP
-  };
-  const int robust[] = {
-    PTHREAD_MUTEX_STALLED,
-    PTHREAD_MUTEX_ROBUST
-  };
-
-
-  for (int t = 0; t < array_length (types); t++)
-    for (int r = 0; r < array_length (robust); r++)
-      {
-	pthread_mutexattr_t attr;
-
-	xpthread_mutexattr_init (&attr);
-	xpthread_mutexattr_setprotocol (&attr, PTHREAD_PRIO_INHERIT);
-	xpthread_mutexattr_settype (&attr, types[t]);
-	xpthread_mutexattr_setrobust (&attr, robust[r]);
-
-	pthread_mutex_t mtx;
-	xpthread_mutex_init (&mtx, &attr);
-
-	struct timespec tmo = timespec_add (xclock_now (CLOCK_MONOTONIC),
-					    make_timespec (0, 100000000));
-
-	TEST_COMPARE (pthread_mutex_clocklock (&mtx, CLOCK_MONOTONIC, &tmo),
-		      EINVAL);
-
-	xpthread_mutex_destroy (&mtx);
-      }
-
-  return 0;
-}
-
-#include <support/test-driver.c>