Hi Matthieu,
Thank you for putting details below.
On 1/19/22 2:47 AM, Matthieu Baerts wrote:
Hi Muhammad,
On 18/01/2022 12:29, Muhammad Usama Anjum wrote:
Out of tree build of this test fails if relative path of the output directory is specified. Remove the un-needed include paths and use KHDR_INCLUDES to correctly reach the headers.
Thank you for looking at that!
Signed-off-by: Muhammad Usama Anjum usama.anjum@collabora.com
tools/testing/selftests/net/mptcp/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/tools/testing/selftests/net/mptcp/Makefile b/tools/testing/selftests/net/mptcp/Makefile index 0356c4501c99..fed6866d3b73 100644 --- a/tools/testing/selftests/net/mptcp/Makefile +++ b/tools/testing/selftests/net/mptcp/Makefile @@ -1,9 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 -top_srcdir = ../../../../..
Removing this line breaks our CI validating MPTCP selftests. That's because this "top_srcdir" variable is needed in the "lib.mk" file which is included at the end of this Makefile.
But that's maybe a misuse from our side. Indeed to avoid compiling binaries and more from the VM, our CI does that as a preparation job before starting the VM and run MPTCP selftests:
$ make O=(...) INSTALL_HDR_PATH=(...)/kselftest/usr headers_install $ make O=(...) -C tools/testing/selftests/net/mptcp
From the VM, we re-use the same source directory and we can start individual tests without having to compile anything else:
$ cd tools/testing/selftests/net/mptcp $ ./mptcp_connect.sh
We want to do that because some scripts are launched multiple times with different parameters.
With your modifications, we can drop the headers_install instruction but we need to pass new parameters to the last 'make' command:
$ make O=(...) top_srcdir=../../../../.. \ KHDR_INCLUDES=-I(...)/usr/include \ -C tools/testing/selftests/net/mptcp
Or is there a better way to do that? Can we leave the definition of "top_srcdir" like it was or did we miss something else?
It seems like I've missed this use cases where people can build only one individual test. It is not my intention to break individual test builds. I shouldn't be fixing one thing while breaking something else. I'll update these patches such that individual tests are also build-able. For this to happen, I'll just add $(KHDR_INCLUDES) to the build flags while leaving everything else intact. I'll send a V2.
KSFT_KHDR_INSTALL := 1 -CFLAGS = -Wall -Wl,--no-as-needed -O2 -g -I$(top_srcdir)/usr/include +CFLAGS = -Wall -Wl,--no-as-needed -O2 -g $(KHDR_INCLUDES) TEST_PROGS := mptcp_connect.sh pm_netlink.sh mptcp_join.sh diag.sh \ simult_flows.sh mptcp_sockopt.sh
Note: I see there is a very long recipients list. If my issue is not directly due to your modifications, we can probably continue the discussion with a restricted audience.
Cheers, Matt