This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: containerize nptl/tst-pthread-getaddr
- From: Carlos O'Donell <codonell at redhat dot com>
- To: DJ Delorie <dj at redhat dot com>, libc-alpha at sourceware dot org
- Date: Wed, 29 Jan 2020 12:40:07 -0500
- Subject: Re: containerize nptl/tst-pthread-getaddr
- References: <xnwo9bnvk8.fsf@greed.delorie.com>
On 1/28/20 4:02 PM, DJ Delorie wrote:
>
> As found and discussed in a Fedora bug...
> https://bugzilla.redhat.com/show_bug.cgi?id=1653942
>
> This test depends on the kernel's assignment of memory regions, but
> running under ld.so explicitly changes those assignments, sometimes
> sufficiently to cause the test to fail (esp with address space
> randomization).
>
> The easiest way to "fix" the test, is to run it the way the user would
> - without ld.so. Running it in a container does that.
>
> There are other ways to make this test not fail (see bz) but I'm not
> sure if any of those ways retain the vailidity of the test.
I like this idea way better.
OK for when master reopens.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 584e0ffd96..ae530a5bae 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -296,7 +296,7 @@ tests = tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
> tst-exec1 tst-exec2 tst-exec3 tst-exec4 tst-exec5 \
> tst-exit1 tst-exit2 tst-exit3 \
> tst-stdio1 tst-stdio2 \
> - tst-stack1 tst-stack2 tst-stack3 tst-stack4 tst-pthread-getattr \
> + tst-stack1 tst-stack2 tst-stack3 tst-stack4 \
OK. Remove test.
> tst-pthread-attr-affinity tst-pthread-mutexattr \
> tst-unload \
> tst-dlsym1 \
> @@ -326,6 +326,8 @@ tests = tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
> tst-rwlock-tryrdlock-stall tst-rwlock-trywrlock-stall \
> tst-unwind-thread
>
> +tests-container = tst-pthread-getattr
> +
OK. Add tests-container test.
> tests-internal := tst-rwlock19 tst-rwlock20 \
> tst-sem11 tst-sem12 tst-sem13 \
> tst-barrier5 tst-signal7 tst-mutex8 tst-mutex8-static \
> @@ -642,7 +644,7 @@ ifeq ($(build-shared),yes)
> $(addprefix $(objpfx), \
> $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \
> $(tests-nolibpthread), \
> - $(tests) $(tests-internal) $(xtests) $(test-srcs))): \
> + $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \
OK. Ajdust the nptl/Makefile deps to make sure libpthread.so is built and linked.
> $(objpfx)libpthread.so
> $(objpfx)tst-unload: $(libdl)
> # $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
>
--
Cheers,
Carlos.