[PATCH 1/2] lib/igt_facts: Make igt_facts_test noreturn
Peter Senna Tschudin
peter.senna at linux.intel.com
Tue Jan 21 09:30:09 UTC 2025
Hi Pravalika,
Please see my answers below.
>>>
>>> diff --git a/lib/igt_facts.c b/lib/igt_facts.c index
>>> 2e04a7c86..bd6742065 100644
>>> --- a/lib/igt_facts.c
>>> +++ b/lib/igt_facts.c
>>> @@ -748,7 +748,7 @@ static void igt_facts_test_mark_and_sweep(struct
>> igt_list_head *head)
>>> *
>>> * Returns: bool indicating if the tests passed
>>> */
>>> -void igt_facts_test(void)
>>> +__noreturn void igt_facts_test(void)
>>
>> How did you find this? Is the compiler complaining?
>>
> When am fixing the check patch errors I have seen below error
>
> ninja: Entering directory `build'
> [2/835] Compiling C object lib/libigt-igt_facts_c.a.p/igt_facts.c.o
> ../lib/igt_facts.c: In function ‘igt_facts_test’:
> ../lib/igt_facts.c:751:6: warning: function might be candidate for attribute ‘noreturn’ [-Wsuggest-attribute=noreturn]
> 751 | void igt_facts_test(void)
> | ^~~~~~~~~~~~~~
> [6/6] Generating docs/testplan/intel-ci-tests with a custom command
Is your tree clean? What command line are you using? Asking because I see no
warnings when I build with:
rm -rf build/ && meson build && ninja -C build
>
> Then have added changes.
>>> {
>>> const char *last_test = "Unit Testing";
>>>
>>> @@ -776,4 +776,6 @@ void igt_facts_test(void)
>>> /* Clean up the list and call igt_facts(). This should not crash */
>>> igt_facts_list_mark_and_sweep(&igt_facts_list_pci_gpu_head);
>>> igt_facts(last_test);
>>> +
>>> + igt_exit();
>>> }
>> Why adding igt_exit() here?
>>
>> How did you test this patch?
>>
> If we don’t explicitly specify igt_exit() I will below warning
>
> ninja: Entering directory `build'
> [43/999] Compiling C object lib/libigt-igt_facts_c.a.p/igt_facts.c.o
> ../lib/igt_facts.c: In function ‘igt_facts_test’:
> ../lib/igt_facts.c:779:1: warning: ‘noreturn’ function does return
> 779 | }
> | ^
> I have compiled since these check patch errors
Curious with your command line to see these warning here too.
Compiling only is not enough testing. Please run unit testing, and a few
calls to igt_runner with facts enabled, with large test lists such as xe
bat or i915 bat, and in a RIL DUT. Compare the facts before and after
your changes to make sure nothing breaks.
>
>> Thanks,
>>
>> Peter
More information about the igt-dev
mailing list