On Tue, Dec 6, 2022 at 5:51 AM Rae Moar <rmoar@xxxxxxxxxx> wrote: > > Create two macros: > > VISIBLE_IF_KUNIT - A macro that sets symbols to be static if CONFIG_KUNIT > is not enabled. Otherwise if CONFIG_KUNIT is enabled there is no change to > the symbol definition. > > EXPORT_SYMBOL_IF_KUNIT(symbol) - Exports symbol into > EXPORTED_FOR_KUNIT_TESTING namespace only if CONFIG_KUNIT is enabled. Must > use MODULE_IMPORT_NS(EXPORTED_FOR_KUNIT_TESTING) in test file in order to > use symbols. > > Signed-off-by: Rae Moar <rmoar@xxxxxxxxxx> > Reviewed-by: John Johansen <john.johansen@xxxxxxxxxxxxx> > Reviewed-by: David Gow <davidgow@xxxxxxxxxx> > --- > > Changes since v1: > - Separated the documentation comments for macros. > - Changed copyright date and author for new header file. > This still looks good to me, thanks! Reviewed-by: David Gow <davidgow@xxxxxxxxxx> Cheers, -- David > include/kunit/visibility.h | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) > create mode 100644 include/kunit/visibility.h > > diff --git a/include/kunit/visibility.h b/include/kunit/visibility.h > new file mode 100644 > index 000000000000..0dfe35feeec6 > --- /dev/null > +++ b/include/kunit/visibility.h > @@ -0,0 +1,33 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* > + * KUnit API to allow symbols to be conditionally visible during KUnit > + * testing > + * > + * Copyright (C) 2022, Google LLC. > + * Author: Rae Moar <rmoar@xxxxxxxxxx> > + */ > + > +#ifndef _KUNIT_VISIBILITY_H > +#define _KUNIT_VISIBILITY_H > + > +#if IS_ENABLED(CONFIG_KUNIT) > + /** > + * VISIBLE_IF_KUNIT - A macro that sets symbols to be static if > + * CONFIG_KUNIT is not enabled. Otherwise if CONFIG_KUNIT is enabled > + * there is no change to the symbol definition. > + */ > + #define VISIBLE_IF_KUNIT > + /** > + * EXPORT_SYMBOL_IF_KUNIT(symbol) - Exports symbol into > + * EXPORTED_FOR_KUNIT_TESTING namespace only if CONFIG_KUNIT is > + * enabled. Must use MODULE_IMPORT_NS(EXPORTED_FOR_KUNIT_TESTING) > + * in test file in order to use symbols. > + */ > + #define EXPORT_SYMBOL_IF_KUNIT(symbol) EXPORT_SYMBOL_NS(symbol, \ > + EXPORTED_FOR_KUNIT_TESTING) > +#else > + #define VISIBLE_IF_KUNIT static > + #define EXPORT_SYMBOL_IF_KUNIT(symbol) > +#endif > + > +#endif /* _KUNIT_VISIBILITY_H */ > -- > 2.39.0.rc0.267.gcb52ba06e7-goog >
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature