2022-12-07 01:40:23 +00:00
|
|
|
/* 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@google.com>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#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
|
2024-12-02 15:59:47 +01:00
|
|
|
* enabled. Must use MODULE_IMPORT_NS("EXPORTED_FOR_KUNIT_TESTING")
|
2022-12-07 01:40:23 +00:00
|
|
|
* in test file in order to use symbols.
|
2024-08-29 20:31:50 +02:00
|
|
|
* @symbol: the symbol identifier to export
|
2022-12-07 01:40:23 +00:00
|
|
|
*/
|
2024-12-02 15:59:47 +01:00
|
|
|
#define EXPORT_SYMBOL_IF_KUNIT(symbol) EXPORT_SYMBOL_NS(symbol, "EXPORTED_FOR_KUNIT_TESTING")
|
2022-12-07 01:40:23 +00:00
|
|
|
#else
|
|
|
|
|
#define VISIBLE_IF_KUNIT static
|
|
|
|
|
#define EXPORT_SYMBOL_IF_KUNIT(symbol)
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif /* _KUNIT_VISIBILITY_H */
|