[v2,2/3] Mutex: add unit tests for new type
Commit Message
Signed-off-by: Kemi Wang <kemi.wang@intel.com>
---
nptl/Makefile | 8 ++++----
nptl/tst-initializers1.c | 11 +++++++----
nptl/tst-mutex5b.c | 2 ++
nptl/tst-mutex7b.c | 2 ++
4 files changed, 15 insertions(+), 8 deletions(-)
create mode 100644 nptl/tst-mutex5b.c
create mode 100644 nptl/tst-mutex7b.c
Comments
On 20/12/18 11:45 AM, Kemi Wang wrote:
> Signed-off-by: Kemi Wang <kemi.wang@intel.com>
Please add a ChangeLog entry and a more detailed description of this change.
> ---
> nptl/Makefile | 8 ++++----
> nptl/tst-initializers1.c | 11 +++++++----
> nptl/tst-mutex5b.c | 2 ++
> nptl/tst-mutex7b.c | 2 ++
> 4 files changed, 15 insertions(+), 8 deletions(-)
> create mode 100644 nptl/tst-mutex5b.c
> create mode 100644 nptl/tst-mutex7b.c
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 997da5e..1f6ecd4 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -242,10 +242,10 @@ LDLIBS-tst-minstack-throw = -lstdc++
>
> tests = tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
> tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 tst-mutex5 tst-mutex6 \
> - tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex7a \
> - tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 \
> - tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
> - tst-mutexpi9 \
> + tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex5b tst-mutex7a \
> + tst-mutex7b tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 \
> + tst-mutexpi4 tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 \
> + tst-mutexpi7a tst-mutexpi9 \
> tst-spin1 tst-spin2 tst-spin3 tst-spin4 \
> tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
> tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
> diff --git a/nptl/tst-initializers1.c b/nptl/tst-initializers1.c
> index a8fdac1..3677cc0 100644
> --- a/nptl/tst-initializers1.c
> +++ b/nptl/tst-initializers1.c
> @@ -24,6 +24,7 @@
> pthread_mutex_t mtx_normal = PTHREAD_MUTEX_INITIALIZER;
> pthread_mutex_t mtx_recursive = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
> pthread_mutex_t mtx_errorchk = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
> +pthread_mutex_t mtx_queuespinner = PTHREAD_QUEUESPINNER_MUTEX_INITIALIZER_NP;
> pthread_mutex_t mtx_adaptive = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
> pthread_rwlock_t rwl_normal = PTHREAD_RWLOCK_INITIALIZER;
> pthread_rwlock_t rwl_writer
> @@ -39,20 +40,22 @@ do_test (void)
> return 2;
> if (mtx_errorchk.__data.__kind != PTHREAD_MUTEX_ERRORCHECK_NP)
> return 3;
> - if (mtx_adaptive.__data.__kind != PTHREAD_MUTEX_ADAPTIVE_NP)
> + if (mtx_queuespinner.__data.__kind != PTHREAD_MUTEX_QUEUESPINNER_NP)
> return 4;
> - if (rwl_normal.__data.__flags != PTHREAD_RWLOCK_PREFER_READER_NP)
> + if (mtx_adaptive.__data.__kind != PTHREAD_MUTEX_ADAPTIVE_NP)
> return 5;
> + if (rwl_normal.__data.__flags != PTHREAD_RWLOCK_PREFER_READER_NP)
> + return 6;
> if (rwl_writer.__data.__flags
> != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP)
> - return 6;
> + return 7;
> /* <libc-lock.h> __libc_rwlock_init definition for libc.so
> relies on PTHREAD_RWLOCK_INITIALIZER being all zeros. If
> that ever changes, <libc-lock.h> needs updating. */
> size_t i;
> for (i = 0; i < sizeof (rwl_normal); i++)
> if (((char *) &rwl_normal)[i] != '\0')
> - return 7;
> + return 8;
> return 0;
> }
>
> diff --git a/nptl/tst-mutex5b.c b/nptl/tst-mutex5b.c
> new file mode 100644
> index 0000000..9da54ea
> --- /dev/null
> +++ b/nptl/tst-mutex5b.c
> @@ -0,0 +1,2 @@
> +#define TYPE PTHREAD_MUTEX_QUEUESPINNER_NP
> +#include "tst-mutex5.c"
> diff --git a/nptl/tst-mutex7b.c b/nptl/tst-mutex7b.c
> new file mode 100644
> index 0000000..c2c1410
> --- /dev/null
> +++ b/nptl/tst-mutex7b.c
> @@ -0,0 +1,2 @@
> +#define TYPE PTHREAD_MUTEX_QUEUESPINNER_NP
> +#include "tst-mutex7.c"
>
On 2019/1/1 上午1:42, Siddhesh Poyarekar wrote:
> On 20/12/18 11:45 AM, Kemi Wang wrote:
>> Signed-off-by: Kemi Wang <kemi.wang@intel.com>
>
> Please add a ChangeLog entry and a more detailed description of this change.
>
sure.
>> ---
>> nptl/Makefile | 8 ++++----
>> nptl/tst-initializers1.c | 11 +++++++----
>> nptl/tst-mutex5b.c | 2 ++
>> nptl/tst-mutex7b.c | 2 ++
>> 4 files changed, 15 insertions(+), 8 deletions(-)
>> create mode 100644 nptl/tst-mutex5b.c
>> create mode 100644 nptl/tst-mutex7b.c
>>
>> diff --git a/nptl/Makefile b/nptl/Makefile
>> index 997da5e..1f6ecd4 100644
>> --- a/nptl/Makefile
>> +++ b/nptl/Makefile
>> @@ -242,10 +242,10 @@ LDLIBS-tst-minstack-throw = -lstdc++
>> tests = tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
>> tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 tst-mutex5 tst-mutex6 \
>> - tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex7a \
>> - tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 \
>> - tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
>> - tst-mutexpi9 \
>> + tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex5b tst-mutex7a \
>> + tst-mutex7b tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 \
>> + tst-mutexpi4 tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 \
>> + tst-mutexpi7a tst-mutexpi9 \
>> tst-spin1 tst-spin2 tst-spin3 tst-spin4 \
>> tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
>> tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
>> diff --git a/nptl/tst-initializers1.c b/nptl/tst-initializers1.c
>> index a8fdac1..3677cc0 100644
>> --- a/nptl/tst-initializers1.c
>> +++ b/nptl/tst-initializers1.c
>> @@ -24,6 +24,7 @@
>> pthread_mutex_t mtx_normal = PTHREAD_MUTEX_INITIALIZER;
>> pthread_mutex_t mtx_recursive = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
>> pthread_mutex_t mtx_errorchk = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
>> +pthread_mutex_t mtx_queuespinner = PTHREAD_QUEUESPINNER_MUTEX_INITIALIZER_NP;
>> pthread_mutex_t mtx_adaptive = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
>> pthread_rwlock_t rwl_normal = PTHREAD_RWLOCK_INITIALIZER;
>> pthread_rwlock_t rwl_writer
>> @@ -39,20 +40,22 @@ do_test (void)
>> return 2;
>> if (mtx_errorchk.__data.__kind != PTHREAD_MUTEX_ERRORCHECK_NP)
>> return 3;
>> - if (mtx_adaptive.__data.__kind != PTHREAD_MUTEX_ADAPTIVE_NP)
>> + if (mtx_queuespinner.__data.__kind != PTHREAD_MUTEX_QUEUESPINNER_NP)
>> return 4;
>> - if (rwl_normal.__data.__flags != PTHREAD_RWLOCK_PREFER_READER_NP)
>> + if (mtx_adaptive.__data.__kind != PTHREAD_MUTEX_ADAPTIVE_NP)
>> return 5;
>> + if (rwl_normal.__data.__flags != PTHREAD_RWLOCK_PREFER_READER_NP)
>> + return 6;
>> if (rwl_writer.__data.__flags
>> != PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP)
>> - return 6;
>> + return 7;
>> /* <libc-lock.h> __libc_rwlock_init definition for libc.so
>> relies on PTHREAD_RWLOCK_INITIALIZER being all zeros. If
>> that ever changes, <libc-lock.h> needs updating. */
>> size_t i;
>> for (i = 0; i < sizeof (rwl_normal); i++)
>> if (((char *) &rwl_normal)[i] != '\0')
>> - return 7;
>> + return 8;
>> return 0;
>> }
>> diff --git a/nptl/tst-mutex5b.c b/nptl/tst-mutex5b.c
>> new file mode 100644
>> index 0000000..9da54ea
>> --- /dev/null
>> +++ b/nptl/tst-mutex5b.c
>> @@ -0,0 +1,2 @@
>> +#define TYPE PTHREAD_MUTEX_QUEUESPINNER_NP
>> +#include "tst-mutex5.c"
>> diff --git a/nptl/tst-mutex7b.c b/nptl/tst-mutex7b.c
>> new file mode 100644
>> index 0000000..c2c1410
>> --- /dev/null
>> +++ b/nptl/tst-mutex7b.c
>> @@ -0,0 +1,2 @@
>> +#define TYPE PTHREAD_MUTEX_QUEUESPINNER_NP
>> +#include "tst-mutex7.c"
>>
>
@@ -242,10 +242,10 @@ LDLIBS-tst-minstack-throw = -lstdc++
tests = tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 tst-mutex5 tst-mutex6 \
- tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex7a \
- tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 \
- tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
- tst-mutexpi9 \
+ tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex5b tst-mutex7a \
+ tst-mutex7b tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 \
+ tst-mutexpi4 tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 \
+ tst-mutexpi7a tst-mutexpi9 \
tst-spin1 tst-spin2 tst-spin3 tst-spin4 \
tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
@@ -24,6 +24,7 @@
pthread_mutex_t mtx_normal = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t mtx_recursive = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
pthread_mutex_t mtx_errorchk = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
+pthread_mutex_t mtx_queuespinner = PTHREAD_QUEUESPINNER_MUTEX_INITIALIZER_NP;
pthread_mutex_t mtx_adaptive = PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP;
pthread_rwlock_t rwl_normal = PTHREAD_RWLOCK_INITIALIZER;
pthread_rwlock_t rwl_writer
@@ -39,20 +40,22 @@ do_test (void)
return 2;
if (mtx_errorchk.__data.__kind != PTHREAD_MUTEX_ERRORCHECK_NP)
return 3;
- if (mtx_adaptive.__data.__kind != PTHREAD_MUTEX_ADAPTIVE_NP)
+ if (mtx_queuespinner.__data.__kind != PTHREAD_MUTEX_QUEUESPINNER_NP)
return 4;
- if (rwl_normal.__data.__flags != PTHREAD_RWLOCK_PREFER_READER_NP)
+ if (mtx_adaptive.__data.__kind != PTHREAD_MUTEX_ADAPTIVE_NP)
return 5;
+ if (rwl_normal.__data.__flags != PTHREAD_RWLOCK_PREFER_READER_NP)
+ return 6;
if (rwl_writer.__data.__flags
!= PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP)
- return 6;
+ return 7;
/* <libc-lock.h> __libc_rwlock_init definition for libc.so
relies on PTHREAD_RWLOCK_INITIALIZER being all zeros. If
that ever changes, <libc-lock.h> needs updating. */
size_t i;
for (i = 0; i < sizeof (rwl_normal); i++)
if (((char *) &rwl_normal)[i] != '\0')
- return 7;
+ return 8;
return 0;
}
new file mode 100644
@@ -0,0 +1,2 @@
+#define TYPE PTHREAD_MUTEX_QUEUESPINNER_NP
+#include "tst-mutex5.c"
new file mode 100644
@@ -0,0 +1,2 @@
+#define TYPE PTHREAD_MUTEX_QUEUESPINNER_NP
+#include "tst-mutex7.c"