Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unittest: add COMPILER_WARNINGS_AS_ERRORS handling #82928

Merged
merged 4 commits into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions cmake/modules/unittest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ target_compile_options(test_interface INTERFACE
${EXTRA_CFLAGS_AS_LIST}
$<$<COMPILE_LANGUAGE:CXX>:${EXTRA_CXXFLAGS_AS_LIST}>
$<$<COMPILE_LANGUAGE:ASM>:${EXTRA_AFLAGS_AS_LIST}>
-Wno-format-zero-length
)

target_link_options(testbinary PRIVATE
Expand All @@ -130,6 +131,10 @@ if(CONFIG_COVERAGE)
target_link_libraries(testbinary PRIVATE $<TARGET_PROPERTY:linker,coverage>)
endif()

if (CONFIG_COMPILER_WARNINGS_AS_ERRORS)
target_compile_options(test_interface INTERFACE $<TARGET_PROPERTY:compiler,warnings_as_errors>)
endif()

if(LIBS)
message(FATAL_ERROR "This variable is not supported, see SOURCES instead")
endif()
Expand Down
7 changes: 6 additions & 1 deletion include/zephyr/linker/linker-defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
/* We need to dummy out DT_NODE_HAS_STATUS when building the unittests.
* Including devicetree.h would require generating dummy header files
* to match what gen_defines creates, so it's easier to just dummy out
* DT_NODE_HAS_STATUS.
* DT_NODE_HAS_STATUS. These are undefined at the end of the file.
*/
#ifdef ZTEST_UNITTEST
#define DT_NODE_HAS_STATUS(node, status) 0
Expand Down Expand Up @@ -359,4 +359,9 @@ extern char lnkr_ondemand_rodata_size[];
#endif /* CONFIG_LINKER_USE_ONDEMAND_SECTION */
#endif /* ! _ASMLANGUAGE */

#ifdef ZTEST_UNITTEST
#undef DT_NODE_HAS_STATUS
#undef DT_NODE_HAS_STATUS_OKAY
#endif

#endif /* ZEPHYR_INCLUDE_LINKER_LINKER_DEFS_H_ */
2 changes: 1 addition & 1 deletion tests/bluetooth/audio/bap_broadcast_source/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
#include <zephyr/bluetooth/iso.h>
#include <zephyr/fff.h>
#include <zephyr/kernel.h>
#include <zephyr/net/buf.h>
#include <zephyr/net_buf.h>
#include <zephyr/sys/printk.h>
#include <zephyr/sys/util_macro.h>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,13 +104,12 @@ static void cap_commander_test_broadcast_reception_before(void *f)
static void cap_commander_test_broadcast_reception_after(void *f)
{
struct cap_commander_test_broadcast_reception_fixture *fixture = f;
int err;

bt_cap_commander_unregister_cb(&mock_cap_commander_cb);
bt_bap_broadcast_assistant_unregister_cb(&fixture->broadcast_assistant_cb);

/* We need to cleanup since the CAP commander remembers state */
err = bt_cap_commander_cancel();
(void)bt_cap_commander_cancel();

for (size_t i = 0; i < ARRAY_SIZE(fixture->conns); i++) {
mock_bt_conn_disconnected(&fixture->conns[i], BT_HCI_ERR_REMOTE_USER_TERM_CONN);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,14 +182,11 @@ int bt_bap_broadcast_assistant_set_broadcast_code(
struct bt_conn *conn, uint8_t src_id,
const uint8_t broadcast_code[BT_ISO_BROADCAST_CODE_SIZE])
{
struct bap_broadcast_assistant_instance *inst;
struct bt_bap_broadcast_assistant_cb *listener, *next;
int err;

zassert_not_null(conn, "conn is NULL");

inst = inst_by_conn(conn);

zassert_equal(src_id, RANDOM_SRC_ID, "Invalid src_id");

err = strncmp((const char *)broadcast_code, BROADCAST_CODE, sizeof(BROADCAST_CODE));
Expand Down
4 changes: 2 additions & 2 deletions tests/bluetooth/audio/codec/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -659,7 +659,7 @@ ZTEST(audio_codec_test_suite, test_bt_audio_codec_cfg_meta_set_lang)
struct bt_audio_codec_cfg codec_cfg = BT_AUDIO_CODEC_CFG(
BT_HCI_CODING_FORMAT_LC3, 0x0000, 0x0000, {},
{BT_AUDIO_CODEC_DATA(BT_AUDIO_METADATA_TYPE_LANG, 'e', 'n', 'g')});
char new_expected_data[] = "deu";
const uint8_t new_expected_data[] = "deu";
char expected_data[] = "eng";
const uint8_t *lang;
int ret;
Expand Down Expand Up @@ -1701,7 +1701,7 @@ ZTEST(audio_codec_test_suite, test_bt_audio_codec_cap_meta_set_lang)
struct bt_audio_codec_cap codec_cap = BT_AUDIO_CODEC_CAP(
BT_HCI_CODING_FORMAT_LC3, 0x0000, 0x0000, {},
{BT_AUDIO_CODEC_DATA(BT_AUDIO_METADATA_TYPE_LANG, 'e', 'n', 'g')});
char new_expected_data[] = "deu";
const uint8_t new_expected_data[] = "deu";
char expected_data[] = "eng";
const uint8_t *lang;
int ret;
Expand Down
3 changes: 0 additions & 3 deletions tests/bluetooth/controller/ctrl_phy_update/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -589,13 +589,10 @@ ZTEST(phy_periph, test_phy_update_periph_loc_invalid_central)
{
uint8_t err;
struct node_tx *tx;
struct node_rx_pdu *ntf;
struct pdu_data_llctrl_phy_req req = { .rx_phys = PHY_2M, .tx_phys = PHY_2M };
uint16_t instant;
struct pdu_data_llctrl_conn_param_req conn_param_req = { };

struct node_rx_pu pu = { .status = BT_HCI_ERR_SUCCESS };

struct pdu_data_llctrl_phy_upd_ind phy_update_ind = { .c_to_p_phy = PHY_2M,
.p_to_c_phy = PHY_2M };

Expand Down
1 change: 1 addition & 0 deletions tests/bluetooth/host/conn/mocks/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/

#include <zephyr/kernel.h>
#include <zephyr/bluetooth/conn.h>

#include "scan.h"

Expand Down
2 changes: 1 addition & 1 deletion tests/unit/pot/nhpot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ ZTEST(pot, test_constexpr_NHPOT)
zassert_equal(0, NHPOT(UINT64_MAX));

zassert_equal(64, val);
zassert_equal(64, nhpot(42));
zassert_equal(64ULL, nhpot(42ULL));
zassert_equal(BIT64(33), val64);
zassert_equal(BIT64(33), nhpot(42 + BIT64(32)));
}
Loading