35 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * KUnit API to allow symbols to be conditionally visible during KUnit4 * testing5 *6 * Copyright (C) 2022, Google LLC.7 * Author: Rae Moar <rmoar@google.com>8 */9 10#ifndef _KUNIT_VISIBILITY_H11#define _KUNIT_VISIBILITY_H12 13#if IS_ENABLED(CONFIG_KUNIT)14 /**15 * VISIBLE_IF_KUNIT - A macro that sets symbols to be static if16 * CONFIG_KUNIT is not enabled. Otherwise if CONFIG_KUNIT is enabled17 * there is no change to the symbol definition.18 */19 #define VISIBLE_IF_KUNIT20 /**21 * EXPORT_SYMBOL_IF_KUNIT(symbol) - Exports symbol into22 * EXPORTED_FOR_KUNIT_TESTING namespace only if CONFIG_KUNIT is23 * enabled. Must use MODULE_IMPORT_NS(EXPORTED_FOR_KUNIT_TESTING)24 * in test file in order to use symbols.25 * @symbol: the symbol identifier to export26 */27 #define EXPORT_SYMBOL_IF_KUNIT(symbol) EXPORT_SYMBOL_NS(symbol, \28 EXPORTED_FOR_KUNIT_TESTING)29#else30 #define VISIBLE_IF_KUNIT static31 #define EXPORT_SYMBOL_IF_KUNIT(symbol)32#endif33 34#endif /* _KUNIT_VISIBILITY_H */35