diff mbox series

selftests/mincore: fix skip condition for check_huge_pages test

Message ID 20230515132643.119809-1-ricardo.canuelo@collabora.com (mailing list archive)
State Accepted
Headers show
Series selftests/mincore: fix skip condition for check_huge_pages test | expand

Commit Message

Ricardo Cañuelo May 15, 2023, 1:26 p.m. UTC
The check_huge_pages test was failing instead of skipping on qemu-armv7
because the skip condition wasn't handled properly. Add an additional
check to fix it.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
Closes: https://lore.kernel.org/all/CA+G9fYuoB8Ug8PcTU-YGmemL7_eeEksXFihvxWF6OikD7sK7pA@mail.gmail.com
---
 tools/testing/selftests/mincore/mincore_selftest.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Anders Roxell May 17, 2023, 10:23 a.m. UTC | #1
On 2023-05-15 15:26, Ricardo Cañuelo wrote:
> The check_huge_pages test was failing instead of skipping on qemu-armv7
> because the skip condition wasn't handled properly. Add an additional
> check to fix it.
> 
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Closes: https://lore.kernel.org/all/CA+G9fYuoB8Ug8PcTU-YGmemL7_eeEksXFihvxWF6OikD7sK7pA@mail.gmail.com

Tested-by: Anders Roxell <anders.roxell@linaro.org>

This is how I tested it on Linux next tag: next-20230516. Installed
tuxmake [1], and tuxrun [2].

$ tuxmake --runtime podman --target-arch arm --toolchain gcc-12 \
 --kconfig defconfig \
 --kconfig-add https://raw.githubusercontent.com/Linaro/meta-lkft/kirkstone/meta/recipes-kernel/linux/files/lkft.config \
 --kconfig-add https://raw.githubusercontent.com/Linaro/meta-lkft/kirkstone/meta/recipes-kernel/linux/files/systemd.config \
 --kconfig-add CONFIG_ARM_TI_CPUFREQ=y --kconfig-add CONFIG_SERIAL_8250_OMAP=y --kconfig-add CONFIG_POSIX_MQUEUE=y \
 --kconfig-add CONFIG_OF=y --kconfig-add CONFIG_SYN_COOKIES=y--kconfig-add CONFIG_SCHEDSTATS=y --kconfig-add CONFIG_AHCI_DWC=y \
 dtbs dtbs-legacy headers kernel kselftest modules \
 --results-hook "tuxrun --runtime podman --device qemu-armv7 --boot-args rw --tuxmake ./ --rootfs https://storage.tuxboot.com/debian/bookworm/armhf/rootfs.ext4.xz --parameters SKIPFILE=skipfile-lkft.yaml --parameters KSELFTEST='\$BUILD'/kselftest.tar.xz --tests kselftest-mincore --timeouts boot=30"

Cheers,
Anders
[1] https://tuxmake.org/
[2] https://tuxrun.org/

> ---
>  tools/testing/selftests/mincore/mincore_selftest.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/mincore/mincore_selftest.c b/tools/testing/selftests/mincore/mincore_selftest.c
> index 4c88238fc8f0..6fb3eea5b6ee 100644
> --- a/tools/testing/selftests/mincore/mincore_selftest.c
> +++ b/tools/testing/selftests/mincore/mincore_selftest.c
> @@ -150,8 +149,8 @@ TEST(check_huge_pages)
>  		MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB,
>  		-1, 0);
>  	if (addr == MAP_FAILED) {
> -		if (errno == ENOMEM)
> -			SKIP(return, "No huge pages available.");
> +		if (errno == ENOMEM || errno == EINVAL)
> +			SKIP(return, "No huge pages available or CONFIG_HUGETLB_PAGE disabled.");
>  		else
>  			TH_LOG("mmap error: %s", strerror(errno));
>  	}
> -- 
> 2.25.1
>
Ricardo Cañuelo June 6, 2023, 7:09 a.m. UTC | #2
Hi Shuah,

On 15/5/23 15:26, Ricardo Cañuelo wrote:
> The check_huge_pages test was failing instead of skipping on qemu-armv7
> because the skip condition wasn't handled properly. Add an additional
> check to fix it.
> 
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Closes: https://lore.kernel.org/all/CA+G9fYuoB8Ug8PcTU-YGmemL7_eeEksXFihvxWF6OikD7sK7pA@mail.gmail.com

Gentle ping about this, I still haven't seen it merged.

Cheers,
Ricardo
Muhammad Usama Anjum June 6, 2023, 8:04 a.m. UTC | #3
On 5/15/23 6:26 PM, Ricardo Cañuelo wrote:
> The check_huge_pages test was failing instead of skipping on qemu-armv7
> because the skip condition wasn't handled properly. Add an additional
> check to fix it.
> 
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
> Reported-by: Naresh Kamboju <naresh.kamboju@linaro.org>
> Reported-by: Linux Kernel Functional Testing <lkft@linaro.org>
> Closes: https://lore.kernel.org/all/CA+G9fYuoB8Ug8PcTU-YGmemL7_eeEksXFihvxWF6OikD7sK7pA@mail.gmail.com
Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>

> ---
>  tools/testing/selftests/mincore/mincore_selftest.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/testing/selftests/mincore/mincore_selftest.c b/tools/testing/selftests/mincore/mincore_selftest.c
> index 4c88238fc8f0..6fb3eea5b6ee 100644
> --- a/tools/testing/selftests/mincore/mincore_selftest.c
> +++ b/tools/testing/selftests/mincore/mincore_selftest.c
> @@ -150,8 +149,8 @@ TEST(check_huge_pages)
>  		MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB,
>  		-1, 0);
>  	if (addr == MAP_FAILED) {
> -		if (errno == ENOMEM)
> -			SKIP(return, "No huge pages available.");
> +		if (errno == ENOMEM || errno == EINVAL)
> +			SKIP(return, "No huge pages available or CONFIG_HUGETLB_PAGE disabled.");
>  		else
>  			TH_LOG("mmap error: %s", strerror(errno));
>  	}
diff mbox series

Patch

diff --git a/tools/testing/selftests/mincore/mincore_selftest.c b/tools/testing/selftests/mincore/mincore_selftest.c
index 4c88238fc8f0..6fb3eea5b6ee 100644
--- a/tools/testing/selftests/mincore/mincore_selftest.c
+++ b/tools/testing/selftests/mincore/mincore_selftest.c
@@ -150,8 +149,8 @@  TEST(check_huge_pages)
 		MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB,
 		-1, 0);
 	if (addr == MAP_FAILED) {
-		if (errno == ENOMEM)
-			SKIP(return, "No huge pages available.");
+		if (errno == ENOMEM || errno == EINVAL)
+			SKIP(return, "No huge pages available or CONFIG_HUGETLB_PAGE disabled.");
 		else
 			TH_LOG("mmap error: %s", strerror(errno));
 	}