Skip to content

Commit 7f75716

Browse files
committed
test: Fix function does not return a value warnings
Many test stub functions are meant to return a value, but weren't. Clang would generate a warning for each instance where we weren't returning anything in a function that was meant to return a value. warning: non-void function does not return a value [-Wreturn-type] For a specific example, my_radio::time_on_air() is supposed to return a uint32_t, but wasn't returning anything. We'll return a zero instead of relying on undefined behavior. Without this, clang 11.0.1 was generating a virtual function implementation with a `ud2` instruction to abort at run-time, causing some execution of some unit tests to abort. Running main() from gmock_main.cc [==========] Running 10 tests from 1 test suite. [----------] Global test environment set-up. [----------] 10 tests from Test_LoRaPHYUS915 [ RUN ] Test_LoRaPHYUS915.constructor [ OK ] Test_LoRaPHYUS915.constructor (0 ms) [ RUN ] Test_LoRaPHYUS915.restore_default_channels [ OK ] Test_LoRaPHYUS915.restore_default_channels (0 ms) [ RUN ] Test_LoRaPHYUS915.rx_config [ OK ] Test_LoRaPHYUS915.rx_config (0 ms) [ RUN ] Test_LoRaPHYUS915.tx_config Process 35669 stopped * thread ARMmbed#1, name = 'lorawan-loraphy-', stop reason = signal SIGILL: privileged instruction frame #0: 0x0000000000276f73 lorawan-loraphy-us915-unittest`my_radio::time_on_air(this=0x0000000800c2b048, modem=MODEM_LORA, pkt_len='\0') at Test_LoRaPHYUS915.cpp:90:5 87 }; 88 89 virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len) -> 90 { 91 }; 92 93 virtual bool perform_carrier_sense(radio_modems_t modem, (lldb) disassemble --pc lorawan-loraphy-us915-unittest`my_radio::time_on_air: -> 0x276f73 <+67>: ud2 0x276f75: int3 0x276f76: int3 0x276f77: int3 (lldb)
1 parent 2ea0386 commit 7f75716

File tree

16 files changed

+29
-2
lines changed

16 files changed

+29
-2
lines changed

UNITTESTS/stubs/FileHandle_stub.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ class FileHandle_stub : public FileHandle {
6767

6868
virtual int close()
6969
{
70+
return 0;
7071
}
7172

7273
virtual short poll(short events) const

UNITTESTS/stubs/connectivity/AT_CellularDevice_stub.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ ATHandler *AT_CellularDevice::get_at_handler()
5656

5757
CellularContext *create_context(const char *apn)
5858
{
59+
return nullptr;
5960
}
6061

6162
void delete_context(CellularContext *context)

UNITTESTS/stubs/connectivity/LoRaMac_stub.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ void LoRaMac::post_process_mlme_ind()
9494

9595
lorawan_time_t LoRaMac::get_current_time(void)
9696
{
97+
return 0;
9798
}
9899

99100
rx_slot_t LoRaMac::get_current_slot(void)

UNITTESTS/stubs/drivers/BufferedSerial_stub.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ ssize_t BufferedSerial::write_unbuffered(const char *buf_ptr, size_t length)
8585

8686
bool BufferedSerial::hup() const
8787
{
88+
return false;
8889
}
8990

9091
void BufferedSerial::wake()

UNITTESTS/stubs/events/equeue_stub.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ void equeue_background(equeue_t *queue,
105105

106106
int equeue_chain(equeue_t *queue, equeue_t *target)
107107
{
108-
108+
return 0;
109109
}
110110

111111
int equeue_call_in(equeue_t *q, int ms, void (*cb)(void *), void *data)

UNITTESTS/stubs/storage/EmulatedSD.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ int EmulatedSD::deinit()
6262
{
6363
fclose(_p->fs);
6464
_p->fs = nullptr;
65+
return 0;
6566
}
6667

6768
int EmulatedSD::read(void *buffer, bd_addr_t addr, bd_size_t size)

connectivity/cellular/tests/UNITTESTS/framework/AT/at_cellularcontext/at_cellularcontexttest.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ class my_AT_CTXIPV6 : public AT_CellularContext {
153153
if (!_stack) {
154154
_stack = new my_stack(_at, *get_device());
155155
}
156+
157+
return _stack;
156158
}
157159
virtual uint32_t get_timeout_for_operation(ContextOperation op) const
158160
{

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loramac/Test_LoRaMac.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ TEST_F(Test_LoRaMac, post_process_mlme_ind)
537537

538538
uint8_t batt_cb()
539539
{
540-
540+
return 100;
541541
}
542542

543543
TEST_F(Test_LoRaMac, set_batterylevel_callback)

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loraphy/Test_LoRaPHY.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ class my_radio : public LoRaRadio {
8888

8989
virtual uint32_t random(void)
9090
{
91+
return 4;
9192
};
9293

9394
virtual uint8_t get_status(void)
@@ -105,6 +106,7 @@ class my_radio : public LoRaRadio {
105106

106107
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
107108
{
109+
return 0;
108110
};
109111

110112
virtual bool perform_carrier_sense(radio_modems_t modem,

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loraphyas923/Test_LoRaPHYAS923.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class my_radio : public LoRaRadio {
7171

7272
virtual uint32_t random(void)
7373
{
74+
return 4;
7475
};
7576

7677
virtual uint8_t get_status(void)
@@ -88,6 +89,7 @@ class my_radio : public LoRaRadio {
8889

8990
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
9091
{
92+
return 0;
9193
};
9294

9395
virtual bool perform_carrier_sense(radio_modems_t modem,

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loraphyau915/Test_LoRaPHYAU915.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class my_radio : public LoRaRadio {
7171

7272
virtual uint32_t random(void)
7373
{
74+
return 4;
7475
};
7576

7677
virtual uint8_t get_status(void)
@@ -88,6 +89,7 @@ class my_radio : public LoRaRadio {
8889

8990
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
9091
{
92+
return 0;
9193
};
9294

9395
virtual bool perform_carrier_sense(radio_modems_t modem,

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loraphycn470/Test_LoRaPHYCN470.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class my_radio : public LoRaRadio {
7171

7272
virtual uint32_t random(void)
7373
{
74+
return 4;
7475
};
7576

7677
virtual uint8_t get_status(void)
@@ -88,6 +89,7 @@ class my_radio : public LoRaRadio {
8889

8990
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
9091
{
92+
return 0;
9193
};
9294

9395
virtual bool perform_carrier_sense(radio_modems_t modem,

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loraphykr920/Test_LoRaPHYKR920.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,12 @@ class my_radio : public LoRaRadio {
7171

7272
virtual uint32_t random(void)
7373
{
74+
return 4;
7475
};
7576

7677
virtual uint8_t get_status(void)
7778
{
79+
return 0;
7880
};
7981

8082
virtual void set_max_payload_length(radio_modems_t modem, uint8_t max)
@@ -87,6 +89,7 @@ class my_radio : public LoRaRadio {
8789

8890
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
8991
{
92+
return 0;
9093
};
9194

9295
virtual bool perform_carrier_sense(radio_modems_t modem,

connectivity/lorawan/tests/UNITTESTS/features/lorawan/loraphyus915/Test_LoRaPHYUS915.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ class my_radio : public LoRaRadio {
7171

7272
virtual uint32_t random(void)
7373
{
74+
return 4;
7475
};
7576

7677
virtual uint8_t get_status(void)
@@ -88,6 +89,7 @@ class my_radio : public LoRaRadio {
8889

8990
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
9091
{
92+
return 0;
9193
};
9294

9395
virtual bool perform_carrier_sense(radio_modems_t modem,

connectivity/lorawan/tests/UNITTESTS/features/lorawan/lorawaninterface/Test_LoRaWANInterface.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,12 @@ class my_radio : public LoRaRadio {
7070

7171
virtual uint32_t random(void)
7272
{
73+
return 4;
7374
};
7475

7576
virtual uint8_t get_status(void)
7677
{
78+
return 0;
7779
};
7880

7981
virtual void set_max_payload_length(radio_modems_t modem, uint8_t max)
@@ -86,13 +88,15 @@ class my_radio : public LoRaRadio {
8688

8789
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
8890
{
91+
return 0;
8992
};
9093

9194
virtual bool perform_carrier_sense(radio_modems_t modem,
9295
uint32_t freq,
9396
int16_t rssi_threshold,
9497
uint32_t max_carrier_sense_time)
9598
{
99+
return true;
96100
};
97101

98102
virtual void start_cad(void)
@@ -101,6 +105,7 @@ class my_radio : public LoRaRadio {
101105

102106
virtual bool check_rf_frequency(uint32_t frequency)
103107
{
108+
return true;
104109
};
105110

106111
virtual void set_tx_continuous_wave(uint32_t freq, int8_t power, uint16_t time)

connectivity/lorawan/tests/UNITTESTS/features/lorawan/lorawanstack/Test_LoRaWANStack.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ class my_radio : public LoRaRadio {
9797

9898
virtual uint32_t random(void)
9999
{
100+
return 4;
100101
};
101102

102103
virtual uint8_t get_status(void)
@@ -114,6 +115,7 @@ class my_radio : public LoRaRadio {
114115

115116
virtual uint32_t time_on_air(radio_modems_t modem, uint8_t pkt_len)
116117
{
118+
return 0;
117119
};
118120

119121
virtual bool perform_carrier_sense(radio_modems_t modem,

0 commit comments

Comments
 (0)