This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Add compile testing to glibc test framework.
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Carlos O'Donell <carlos at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 17 Jun 2016 09:18:26 +0000
- Subject: Re: [PATCH] Add compile testing to glibc test framework.
- Authentication-results: sourceware.org; auth=none
- References: <575679A0 dot 4090209 at redhat dot com> <alpine dot DEB dot 2 dot 20 dot 1606071725500 dot 10967 at digraph dot polyomino dot org dot uk> <c10ce00f-eee8-7f6e-0615-c6f972f2d404 at redhat dot com>
On Thu, 16 Jun 2016, Carlos O'Donell wrote:
> This would require that users use the latest kernel headers for all of
> their builds or `make check` would fail. I always use the latest kernel
No, just include appropriate conditionals in the tests requiring newer
headers than the minimum. We've done that before (via a configure test
for header presence, removed when the minimum headers version was
increased).
> * Extend evaluate-test.sh to support return code 88 as a dynamic xfail
> - Played around with 99 for tests that must not be xfailed.
I don't see this as needed. The case in question looks exactly like
UNSUPPORTED - there is some functionality that glibc cannot support in a
particular environment (in this case, when the kernel headers are too
old). (I do think we could do with a new return code for UNRESOLVED as
distinct from FAIL and UNSUPPORTED, for cases such as memory allocation
failures.)
> * Extend kernel-features.h to define __LINUX_KERNEL_HEADER_VERSION the
> version of the headers used in the build.
I don't see a need for a new macro that just duplicates
LINUX_VERSION_CODE.
> +/* On Linux kernel 3.12 or newer the IPv6 headers are guarded to
> + ensure compatibiltiy with glibc INET headers. You need at least
> + Linux kernel 3.19 to get the full set of compatible headers for
> + glibc inet/in.h. */
> +#if __LINUX_KERNEL_HEADER_VERSION >= 0x031300
> +#define __TEST_USE_KERNEL_IPV6_DEFS 1
> +#else
> +#define __TEST_USE_KERNEL_IPV6_DEFS 0
> +#endif
This could be simpler as:
#define __TEST_USE_KERNEL_IPV6_DEFS (LINUX_VERSION_CODE >= 0x031300)
--
Joseph S. Myers
joseph@codesourcery.com