On Sat, Aug 26, 2023, Mahmoud Matook wrote: > On 08/25, Sean Christopherson wrote: > > > On Fri, Aug 25, 2023, Mahmoud Maatuq wrote: > > > to avoid manual calculation of min and max values > > > and fix coccinelle warnings such WARNING opportunity for min()/max() > > > adding one common definition that could be used in multiple files > > > under selftests. > > > there are also some defines for min/max scattered locally inside sources > > > under selftests. > > > this also prepares for cleaning up those redundant defines and include > > > kselftest.h instead. > > > > > > Signed-off-by: Mahmoud Maatuq <mahmoudmatook.mm@xxxxxxxxx> > > > Suggested-by: David Laight <David.Laight@xxxxxxxxxx> > > > --- > > > changes in v2: > > > redefine min/max in a more strict way to avoid > > > signedness mismatch and multiple evaluation. > > > is_signed_type() moved from selftests/kselftest_harness.h > > > to selftests/kselftest.h. > > > --- > > > tools/testing/selftests/kselftest.h | 24 +++++++++++++++++++++ > > > > Heh, reminds me of https://xkcd.com/927. > > > > All of these #defines are available in tools/include/linux/kernel.h, and it's > > trivially easy for selftests to add all of tools/include to their include path. > > I don't see any reason for the selftests framework to define yet another version, > > just fix the individual tests. > > giving the reviews seems that patchset is useless. > still a confusing point for me; after adding tools/include to the > include path of selftes how we can differentaite between #include > <linux/kernel.h> that under tools/include and one under usr/include. AFAIK, it's up to the individual selftest (or it's "local" framework) to declare the tools/include path before usr/include, e.g. see tools/testing/selftests/kvm/Makefile. The whole setup is definitely a bit kludgy, but IMO it's better than conditionally providing selftests specific fallbacks and potentially ending up with multiple definitions of min/max within a single test.