diff mbox series

selftests: powerpc: Add header symlinks for building papr character device tests

Message ID 20240215165527.23684-1-msuchanek@suse.de (mailing list archive)
State Rejected
Headers show
Series selftests: powerpc: Add header symlinks for building papr character device tests | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.

Commit Message

Michal Suchánek Feb. 15, 2024, 4:55 p.m. UTC
From: root <root@jostaberry-6.arch.suse.de>

Without the headers the tests don't build.

Fixes: 9118c5d32bdd ("powerpc/selftests: Add test for papr-vpd")
Fixes: 76b2ec3faeaa ("powerpc/selftests: Add test for papr-sysparm")
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h | 1 +
 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h | 1 +
 tools/testing/selftests/powerpc/include/asm/papr-vpd.h     | 1 +
 3 files changed, 3 insertions(+)
 create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
 create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
 create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-vpd.h

Comments

Nathan Lynch Feb. 15, 2024, 7:13 p.m. UTC | #1
Michal Suchanek <msuchanek@suse.de> writes:
>
> Without the headers the tests don't build.
>
> Fixes: 9118c5d32bdd ("powerpc/selftests: Add test for papr-vpd")
> Fixes: 76b2ec3faeaa ("powerpc/selftests: Add test for papr-sysparm")
> Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> ---
>  tools/testing/selftests/powerpc/include/asm/papr-miscdev.h | 1 +
>  tools/testing/selftests/powerpc/include/asm/papr-sysparm.h | 1 +
>  tools/testing/selftests/powerpc/include/asm/papr-vpd.h     | 1 +
>  3 files changed, 3 insertions(+)
>  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
>  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
>  create mode 120000
> tools/testing/selftests/powerpc/include/asm/papr-vpd.h

I really hope making symlinks into the kernel source isn't necessary. I
haven't experienced build failures with these tests. How are you
building them?

I usually do something like (on a x86 build host):

$ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- ppc64le_defconfig
$ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- headers
$ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- -C tools/testing/selftests/powerpc/

without issue.
Michal Suchánek Feb. 15, 2024, 7:23 p.m. UTC | #2
On Thu, Feb 15, 2024 at 01:13:34PM -0600, Nathan Lynch wrote:
> Michal Suchanek <msuchanek@suse.de> writes:
> >
> > Without the headers the tests don't build.
> >
> > Fixes: 9118c5d32bdd ("powerpc/selftests: Add test for papr-vpd")
> > Fixes: 76b2ec3faeaa ("powerpc/selftests: Add test for papr-sysparm")
> > Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> > ---
> >  tools/testing/selftests/powerpc/include/asm/papr-miscdev.h | 1 +
> >  tools/testing/selftests/powerpc/include/asm/papr-sysparm.h | 1 +
> >  tools/testing/selftests/powerpc/include/asm/papr-vpd.h     | 1 +
> >  3 files changed, 3 insertions(+)
> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
> >  create mode 120000
> > tools/testing/selftests/powerpc/include/asm/papr-vpd.h
> 
> I really hope making symlinks into the kernel source isn't necessary. I
> haven't experienced build failures with these tests. How are you
> building them?
> 
> I usually do something like (on a x86 build host):
> 
> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- ppc64le_defconfig
> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- headers
> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- -C tools/testing/selftests/powerpc/
> 
> without issue.

I am not configuring the kernel, only building the tests, and certainly
not installing headers on the system.

Apparently this is what people aim to do, and report bugs when it does
not work: build the kselftests as self-contained testsuite that relies
only on standard libc, and whatever it brought in the sources.

That said, the target to install headers is headers_install, not
headers. The headers target is not documented, it's probably meant to be
internal to the build system. Yet it is not enforced that it is built
before building the selftests.

Thanks

Michal
Nathan Lynch Feb. 15, 2024, 7:39 p.m. UTC | #3
Michal Suchánek <msuchanek@suse.de> writes:
> On Thu, Feb 15, 2024 at 01:13:34PM -0600, Nathan Lynch wrote:
>> Michal Suchanek <msuchanek@suse.de> writes:
>> >
>> > Without the headers the tests don't build.
>> >
>> > Fixes: 9118c5d32bdd ("powerpc/selftests: Add test for papr-vpd")
>> > Fixes: 76b2ec3faeaa ("powerpc/selftests: Add test for papr-sysparm")
>> > Signed-off-by: Michal Suchanek <msuchanek@suse.de>
>> > ---
>> >  tools/testing/selftests/powerpc/include/asm/papr-miscdev.h | 1 +
>> >  tools/testing/selftests/powerpc/include/asm/papr-sysparm.h | 1 +
>> >  tools/testing/selftests/powerpc/include/asm/papr-vpd.h     | 1 +
>> >  3 files changed, 3 insertions(+)
>> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
>> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
>> >  create mode 120000
>> > tools/testing/selftests/powerpc/include/asm/papr-vpd.h
>> 
>> I really hope making symlinks into the kernel source isn't necessary. I
>> haven't experienced build failures with these tests. How are you
>> building them?
>> 
>> I usually do something like (on a x86 build host):
>> 
>> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- ppc64le_defconfig
>> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- headers
>> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- -C tools/testing/selftests/powerpc/
>> 
>> without issue.
>
> I am not configuring the kernel, only building the tests, and certainly
> not installing headers on the system.

OK, but again: how do you provoke the build errors, exactly? Don't make
us guess please.

> Apparently this is what people aim to do, and report bugs when it does
> not work: build the kselftests as self-contained testsuite that relies
> only on standard libc, and whatever it brought in the sources.
>
> That said, the target to install headers is headers_install, not
> headers. The headers target is not documented, it's probably meant to be
> internal to the build system. Yet it is not enforced that it is built
> before building the selftests.

<shrug> the headers target is used in Documentation/dev-tools/kselftest.rst:

"""
To build the tests::

  $ make headers
  $ make -C tools/testing/selftests
"""

This is what I've been following.
Michal Suchánek Feb. 15, 2024, 9:50 p.m. UTC | #4
On Thu, Feb 15, 2024 at 01:39:27PM -0600, Nathan Lynch wrote:
> Michal Suchánek <msuchanek@suse.de> writes:
> > On Thu, Feb 15, 2024 at 01:13:34PM -0600, Nathan Lynch wrote:
> >> Michal Suchanek <msuchanek@suse.de> writes:
> >> >
> >> > Without the headers the tests don't build.
> >> >
> >> > Fixes: 9118c5d32bdd ("powerpc/selftests: Add test for papr-vpd")
> >> > Fixes: 76b2ec3faeaa ("powerpc/selftests: Add test for papr-sysparm")
> >> > Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> >> > ---
> >> >  tools/testing/selftests/powerpc/include/asm/papr-miscdev.h | 1 +
> >> >  tools/testing/selftests/powerpc/include/asm/papr-sysparm.h | 1 +
> >> >  tools/testing/selftests/powerpc/include/asm/papr-vpd.h     | 1 +
> >> >  3 files changed, 3 insertions(+)
> >> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
> >> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
> >> >  create mode 120000
> >> > tools/testing/selftests/powerpc/include/asm/papr-vpd.h
> >> 
> >> I really hope making symlinks into the kernel source isn't necessary. I
> >> haven't experienced build failures with these tests. How are you
> >> building them?
> >> 
> >> I usually do something like (on a x86 build host):
> >> 
> >> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- ppc64le_defconfig
> >> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- headers
> >> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- -C tools/testing/selftests/powerpc/
> >> 
> >> without issue.
> >
> > I am not configuring the kernel, only building the tests, and certainly
> > not installing headers on the system.
> 
> OK, but again: how do you provoke the build errors, exactly? Don't make
> us guess please.

cd tools/testing/selftests/powerpc/

make -k

> > Apparently this is what people aim to do, and report bugs when it does
> > not work: build the kselftests as self-contained testsuite that relies
> > only on standard libc, and whatever it brought in the sources.
> >
> > That said, the target to install headers is headers_install, not
> > headers. The headers target is not documented, it's probably meant to be
> > internal to the build system. Yet it is not enforced that it is built
> > before building the selftests.
> 
> <shrug> the headers target is used in Documentation/dev-tools/kselftest.rst:
> 
> """
> To build the tests::
> 
>   $ make headers
>   $ make -C tools/testing/selftests
> """

Indeed so it's not supposed to work otherwise. It would be nice if it
did but might be difficult to achieve with plain makefiles.

'headers' is not in 'make help' output but whatever.

Thanks

Michal
Michael Ellerman Feb. 19, 2024, 4:29 a.m. UTC | #5
Michal Suchánek <msuchanek@suse.de> writes:
> On Thu, Feb 15, 2024 at 01:39:27PM -0600, Nathan Lynch wrote:
>> Michal Suchánek <msuchanek@suse.de> writes:
>> > On Thu, Feb 15, 2024 at 01:13:34PM -0600, Nathan Lynch wrote:
>> >> Michal Suchanek <msuchanek@suse.de> writes:
>> >> >
>> >> > Without the headers the tests don't build.
>> >> >
>> >> > Fixes: 9118c5d32bdd ("powerpc/selftests: Add test for papr-vpd")
>> >> > Fixes: 76b2ec3faeaa ("powerpc/selftests: Add test for papr-sysparm")
>> >> > Signed-off-by: Michal Suchanek <msuchanek@suse.de>
>> >> > ---
>> >> >  tools/testing/selftests/powerpc/include/asm/papr-miscdev.h | 1 +
>> >> >  tools/testing/selftests/powerpc/include/asm/papr-sysparm.h | 1 +
>> >> >  tools/testing/selftests/powerpc/include/asm/papr-vpd.h     | 1 +
>> >> >  3 files changed, 3 insertions(+)
>> >> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
>> >> >  create mode 120000 tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
>> >> >  create mode 120000
>> >> > tools/testing/selftests/powerpc/include/asm/papr-vpd.h
>> >> 
>> >> I really hope making symlinks into the kernel source isn't necessary. I
>> >> haven't experienced build failures with these tests. How are you
>> >> building them?
>> >> 
>> >> I usually do something like (on a x86 build host):
>> >> 
>> >> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- ppc64le_defconfig
>> >> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- headers
>> >> $ make ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- -C tools/testing/selftests/powerpc/
>> >> 
>> >> without issue.
>> >
>> > I am not configuring the kernel, only building the tests, and certainly
>> > not installing headers on the system.
>> 
>> OK, but again: how do you provoke the build errors, exactly? Don't make
>> us guess please.
>
> cd tools/testing/selftests/powerpc/
>
> make -k
>
>> > Apparently this is what people aim to do, and report bugs when it does
>> > not work: build the kselftests as self-contained testsuite that relies
>> > only on standard libc, and whatever it brought in the sources.
>> >
>> > That said, the target to install headers is headers_install, not
>> > headers. The headers target is not documented, it's probably meant to be
>> > internal to the build system. Yet it is not enforced that it is built
>> > before building the selftests.
>> 
>> <shrug> the headers target is used in Documentation/dev-tools/kselftest.rst:
>> 
>> """
>> To build the tests::
>> 
>>   $ make headers
>>   $ make -C tools/testing/selftests
>> """
>
> Indeed so it's not supposed to work otherwise. It would be nice if it
> did but might be difficult to achieve with plain makefiles.

It used to work without the headers, but at some point folks decided it
was causing too many problems and building the headers was made mandatory.

Note that by default they aren't installed globally, they just end up in
$KBUILD_OUTPUT/usr/include. So it shouldn't affect the host system.

cheers
diff mbox series

Patch

diff --git a/tools/testing/selftests/powerpc/include/asm/papr-miscdev.h b/tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
new file mode 120000
index 000000000000..0f811020354d
--- /dev/null
+++ b/tools/testing/selftests/powerpc/include/asm/papr-miscdev.h
@@ -0,0 +1 @@ 
+../../../../../../arch/powerpc/include/uapi/asm/papr-miscdev.h
\ No newline at end of file
diff --git a/tools/testing/selftests/powerpc/include/asm/papr-sysparm.h b/tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
new file mode 120000
index 000000000000..6355e122245e
--- /dev/null
+++ b/tools/testing/selftests/powerpc/include/asm/papr-sysparm.h
@@ -0,0 +1 @@ 
+../../../../../../arch/powerpc/include/uapi/asm/papr-sysparm.h
\ No newline at end of file
diff --git a/tools/testing/selftests/powerpc/include/asm/papr-vpd.h b/tools/testing/selftests/powerpc/include/asm/papr-vpd.h
new file mode 120000
index 000000000000..403ddec6b422
--- /dev/null
+++ b/tools/testing/selftests/powerpc/include/asm/papr-vpd.h
@@ -0,0 +1 @@ 
+../../../../../../arch/powerpc/include/uapi/asm/papr-vpd.h
\ No newline at end of file