Re: [PATCH] selftests: kvm: fix mkdir error when building for non-supported arch

From: Muhammad Usama Anjum
Date: Wed Aug 07 2024 - 02:09:14 EST


On 8/6/24 9:00 PM, Shuah Khan wrote:
> On 8/6/24 06:10, Muhammad Usama Anjum wrote:
>> The mkdir generates an error when kvm suite is build for non-supported
>
> built
> unsupported
>
>> architecture such as arm. Fix it by ignoring the error from mkdir.
>>
>> mkdir: missing operand
>> Try 'mkdir --help' for more information.
>
> Simply suppressing the message isn't a good fix. Can you investigate
> a bit more on why mkdir is failing and the architectures it is failing
> on?
>
> This change simply suppresses the error message and continues - Should
> this error end the build process or not run mkdir to begin with by
> checking why $(sort $(dir $(TEST_GEN_PROGS)))) results in an empty
> string?
The tests are specified on per architecture basis. As KVM isn't supported on arm, there are no tests in TEST_GEN_PROGS and it is empty. While lib.mk infrastructure has support to ignore and not build anything in such cases, the Makefile's behaviour isn't robust enough.

I think the better fix would be to check if TEST_GEN_PROGS isn't empty and then call mkdir. I'll reiterate and send the fix.

>
>>
>> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
>> ---
>>   tools/testing/selftests/kvm/Makefile | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
>> index 48d32c5aa3eb7..8ff46a0a8d1cd 100644
>> --- a/tools/testing/selftests/kvm/Makefile
>> +++ b/tools/testing/selftests/kvm/Makefile
>> @@ -317,7 +317,7 @@ $(LIBKVM_S_OBJ): $(OUTPUT)/%.o: %.S $(GEN_HDRS)
>>   $(LIBKVM_STRING_OBJ): $(OUTPUT)/%.o: %.c
>>       $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -ffreestanding $< -o $@
>>   -$(shell mkdir -p $(sort $(dir $(TEST_GEN_PROGS))))
>> +$(shell mkdir -p $(sort $(dir $(TEST_GEN_PROGS))) > /dev/null 2>&1)
>>   $(SPLIT_TEST_GEN_OBJ): $(GEN_HDRS)
>>   $(TEST_GEN_PROGS): $(LIBKVM_OBJS)
>>   $(TEST_GEN_PROGS_EXTENDED): $(LIBKVM_OBJS)
>
>
> thanks,
> -- Shuah

--
BR,
Muhammad Usama Anjum