Improving the situation around check, xcheck and developer testing.
Carlos O'Donell
carlos@redhat.com
Fri Sep 20 21:25:58 GMT 2024
On 9/20/24 3:05 PM, Florian Weimer wrote:
> * Carlos O'Donell:
>
>> On 9/20/24 12:34 PM, Florian Weimer wrote:
>>> * Carlos O'Donell:
>>>
>>>> * Add a quickcheck target for developers, put it in the manual in install.texi
>>>>
>>>> - The quickcheck target runs ALL the tests but sets SCALE_CHECK=1 env var,
>>>> valid values are 1-100.
>>>>
>>>> * Default quickcheck and check to be the same.
>>>>
>>>> - By default today quickcheck and check would be the same but we could
>>>> change that.
>>>
>>> I don't see why this would be an improvement over xcheck?
>>
>> The first and foremost improvement I would like to see it that all tests are always compiled.
>>
>> This ensures tests don't fail to compile.
>>
>> Do you agree that always compiling all tests would be an improvement?
>
> I think it makes sense. We don't seem to have any xtests that trigger
> pathological GCC behavior during compilation, I think, so it should be
> okay.
Oh my. Yes, that's something I hadn't considered.
Thanks for adjusting your other patch in this direction (now reviewed).
>> Do you agree that at least running the test and having it check
>> preconditions is an improvement?
>
> Again, some tests don't have preconditions. If they check preconditions
> and can produce UNSUPPORTED, we should consider turning them into
> regular tests.
Agreed.
> We should not do that for potentially destructive tests that require
> root privileges, they should remain xtests.
I would like to review such tests, because I think only test-container is a good
fit for that.
Have you come across a destructive test?
>>> This assumes that tests can be scaled like this. That's not always
>>> true. For example, the mkstemp tests perform at least 238,328 file
>>> system operations before they can report a meaningful test result.
>>
>> Then we build the test, the pre-conditions are not met for
>> SCALE_CHECK=1, and we return UNSUPPORTED. But the test is built (check
>> for building tests), and the test is run (check that infrastructure
>> around the test works), and at runtime we determine the preconditions
>> are not met and return UNSUPPORTED.
>
> Seems quite a bit of work for very little improvement, to be honest. I
> think we are better off if we upstream our upstream-testsuite wrapper to
> Fedora, along with the planned xcheck enhancement. Other distributions
> could use that as a template.
The biggest improvement for me would be to make sure xcheck tests are built and that
all the infrastructure around them is runnable, and I agree that anything beyond that
is diminishing returns. Cleaning them up would be a welcome next step. If Fedora starts
running xcheck in rawhide CI that would be great.
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list