subsys/testsuite: rearrange for standard use of extern "C"
Consistently place C++ use of extern "C" after all include directives, within the negative branch of _ASMLANGUAGE if used. Background from issue #17997: Declarations that use C linkage should be placed within extern "C" so the language linkage is correct when the header is included by a C++ compiler. Similarly #include directives should be outside the extern "C" to ensure the language-specific default linkage is applied to any declarations provided by the included header. See: https://en.cppreference.com/w/cpp/language/language_linkage Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
This commit is contained in:
parent
f31e492440
commit
c0d33975d1
4 changed files with 34 additions and 5 deletions
|
@ -20,10 +20,6 @@
|
||||||
#ifndef __ZTEST_H__
|
#ifndef __ZTEST_H__
|
||||||
#define __ZTEST_H__
|
#define __ZTEST_H__
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup ztest Zephyr testing suite
|
* @defgroup ztest Zephyr testing suite
|
||||||
*/
|
*/
|
||||||
|
@ -44,21 +40,30 @@ extern "C" {
|
||||||
/* FIXME: Properly integrate with Zephyr's arch specific code */
|
/* FIXME: Properly integrate with Zephyr's arch specific code */
|
||||||
#define CONFIG_X86 1
|
#define CONFIG_X86 1
|
||||||
#define CONFIG_PRINTK 1
|
#define CONFIG_PRINTK 1
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
struct esf;
|
struct esf;
|
||||||
typedef struct esf z_arch_esf_t;
|
typedef struct esf z_arch_esf_t;
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* KERNEL */
|
||||||
|
|
||||||
#include <sys/printk.h>
|
#include <sys/printk.h>
|
||||||
#define PRINT printk
|
#define PRINT printk
|
||||||
|
|
||||||
#include <zephyr.h>
|
#include <zephyr.h>
|
||||||
|
|
||||||
|
|
||||||
#include <ztest_assert.h>
|
#include <ztest_assert.h>
|
||||||
#include <ztest_mock.h>
|
#include <ztest_mock.h>
|
||||||
#include <ztest_test.h>
|
#include <ztest_test.h>
|
||||||
#include <tc_util.h>
|
#include <tc_util.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
void test_main(void);
|
void test_main(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -19,6 +19,10 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
void ztest_test_fail(void);
|
void ztest_test_fail(void);
|
||||||
#if CONFIG_ZTEST_ASSERT_VERBOSE == 0
|
#if CONFIG_ZTEST_ASSERT_VERBOSE == 0
|
||||||
|
|
||||||
|
@ -214,4 +218,8 @@ static inline void z_zassert(int cond,
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __ZTEST_ASSERT_H__ */
|
#endif /* __ZTEST_ASSERT_H__ */
|
||||||
|
|
|
@ -91,6 +91,10 @@
|
||||||
|
|
||||||
#include <zephyr/types.h>
|
#include <zephyr/types.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
void z_init_mock(void);
|
void z_init_mock(void);
|
||||||
int z_cleanup_mock(void);
|
int z_cleanup_mock(void);
|
||||||
|
|
||||||
|
@ -101,6 +105,10 @@ void z_ztest_check_expected_value(const char *fn, const char *param,
|
||||||
void z_ztest_returns_value(const char *fn, uintptr_t value);
|
void z_ztest_returns_value(const char *fn, uintptr_t value);
|
||||||
uintptr_t z_ztest_get_return_value(const char *fn);
|
uintptr_t z_ztest_get_return_value(const char *fn);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#else /* !CONFIG_ZTEST_MOCKING */
|
#else /* !CONFIG_ZTEST_MOCKING */
|
||||||
|
|
||||||
#define z_init_mock()
|
#define z_init_mock()
|
||||||
|
|
|
@ -15,6 +15,10 @@
|
||||||
|
|
||||||
#include <app_memory/app_memdomain.h>
|
#include <app_memory/app_memdomain.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
struct unit_test {
|
struct unit_test {
|
||||||
const char *name;
|
const char *name;
|
||||||
void (*test)(void);
|
void (*test)(void);
|
||||||
|
@ -171,4 +175,8 @@ extern struct k_mem_domain ztest_mem_domain;
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* __ZTEST_ASSERT_H__ */
|
#endif /* __ZTEST_ASSERT_H__ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue