On Thu, Oct 17, 2019 at 07:53:56PM +0300, Jarkko Sakkinen wrote: > On Wed, Oct 16, 2019 at 08:03:34PM -0700, Sean Christopherson wrote: > > Move the operator macros, ASSERT_* and EXTEND_*, to a standalone header > > so that they can be reused by other selftests without pulling in the > > full harness framework, which is cumbersome to use for testing features > > that require a substantial amount of setup, need callbacks, etc... > > > > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > > Is it possible to just use a "dull" selftest and not go into this before > the code is upstreamed? If yes, lets go with that. It's certainly possible, but the code is verbose and ugly (IMO), which means it will be harder for other to review. > Do not mind using frameworky stuff later on. Just trying to avoid new > intersects with other subsystems, that's all. Understood, but IMO this particular change is safe-ish: - We're already intersecting with selftests - The odds of a conflict are very low - Andy is already involved in SGX There are also other options: 1. Use kselftest_harness.h as-is via #undef __EXPECT. I actually would have gone with this option except the header also defines a function and we end up with a compiler error due to an unused function :-( 2. Upstream the change separately from SGX, similar to the FEATURE_CONTROL handling. E.g. I think the KVM selftests could use the operators, so there would even be concrete usage.