lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 25 Mar 2022 13:38:29 -0600 From: Shuah Khan <skhan@...uxfoundation.org> To: Kees Cook <keescook@...omium.org>, shuah@...nel.org Cc: Willem de Bruijn <willemb@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Andy Lutomirski <luto@...capital.net>, Will Drewry <wad@...omium.org>, linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org, linux-hardening@...r.kernel.org, Shuah Khan <skhan@...uxfoundation.org> Subject: Re: [PATCH 2/2] selftests/harness: Pass variant to teardown On 3/24/22 5:19 PM, Kees Cook wrote: > From: Willem de Bruijn <willemb@...gle.com> > > FIXTURE_VARIANT data is passed to FIXTURE_SETUP and TEST_F as "variant". > > In some cases, the variant will change the setup, such that expectations > also change on teardown. Also pass variant to FIXTURE_TEARDOWN. > > The new FIXTURE_TEARDOWN logic is identical to that in FIXTURE_SETUP, > right above. > > Signed-off-by: Willem de Bruijn <willemb@...gle.com> > Reviewed-by: Jakub Kicinski <kuba@...nel.org> > Acked-by: Kees Cook <keescook@...omium.org> > Signed-off-by: Kees Cook <keescook@...omium.org> > Link: https://lore.kernel.org/r/20201210231010.420298-1-willemdebruijn.kernel@gmail.com > --- > tools/testing/selftests/kselftest_harness.h | 12 +++++++----- > 1 file changed, 7 insertions(+), 5 deletions(-) > > diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h > index bef08f824eb5..f5cb5fd1d974 100644 > --- a/tools/testing/selftests/kselftest_harness.h > +++ b/tools/testing/selftests/kselftest_harness.h > @@ -291,7 +291,9 @@ > #define FIXTURE_TEARDOWN(fixture_name) \ > void fixture_name##_teardown( \ > struct __test_metadata __attribute__((unused)) *_metadata, \ > - FIXTURE_DATA(fixture_name) __attribute__((unused)) *self) > + FIXTURE_DATA(fixture_name) __attribute__((unused)) *self, \ > + const FIXTURE_VARIANT(fixture_name) \ > + __attribute__((unused)) *variant) > > /** > * FIXTURE_VARIANT() - Optionally called once per fixture > @@ -306,9 +308,9 @@ > * ... > * }; > * > - * Defines type of constant parameters provided to FIXTURE_SETUP() and TEST_F() > - * as *variant*. Variants allow the same tests to be run with different > - * arguments. > + * Defines type of constant parameters provided to FIXTURE_SETUP(), TEST_F() and > + * FIXTURE_TEARDOWN as *variant*. Variants allow the same tests to be run with > + * different arguments. > */ > #define FIXTURE_VARIANT(fixture_name) struct _fixture_variant_##fixture_name > > @@ -391,7 +393,7 @@ > fixture_name##_##test_name(_metadata, &self, variant->data); \ > } \ > if (_metadata->setup_completed) \ > - fixture_name##_teardown(_metadata, &self); \ > + fixture_name##_teardown(_metadata, &self, variant->data); \ > __test_check_assert(_metadata); \ > } \ > static struct __test_metadata \ > Looks good to me. Reviewed-by: Shuah Khan <skhan@...uxfoundation.org> thanks, -- Shuah
Powered by blists - more mailing lists