Re: [PATCH v3 3/3] selftests: pidfd: add tests for PIDFD_SELF_*

Lorenzo Stoakes
2024-10-17T12:06:39Z

+cc John, sorry I forgot to cc you on other replies!!

On Thu, Oct 17, 2024 at 09:08:19AM +0100, Lorenzo Stoakes wrote:
[snip]
>
> In any case I think copying the header to the tools/ directory with this
> linux/fcntl.h in some way stubbed out (we could even stub out fcntl.h
> there?) is the sensible way forward.
>
> A 'just include the header' is simply not an option as it breaks the tests.

Ohhh ok I think maybe we could have a good compromise that should (hopefully!)
satisfy both you and John.

I can introduce tools/include/linux/pidfd.h that is a stub wrapper around
the pidfd.h file.

So it can be something like:

#ifndef __TOOLS_LINUX_PIDFD_H
#define __TOOLS_LINUX_PIDFD_H

/*
* Some systems have issues with the linux/fcntl.h import in linux/pidfd.h, so
* work around this by setting the header guard.
*/
#define _LINUX_FCNTL_H
#include "../../../include/uapi/linux/pidfd.h"
#undef _LINUX_FCNTL_H

#endif /* __TOOLS_LINUX_PIDFD_H */

Then the test code needs only to update the pidfd.h file to #include
<linux/pidfd.h> and add a simple $(TOOLS_INCLUDES) to the CFLAGS += line in
the pidfd self tests Makefile and we should be all good.

That way we always import everything in this header correctly, we directly
document this issue, we include the header as you would in userland and we
should cover off all the issues?