Skip to content

Commit 0132e7c

Browse files
author
Cruz Monrreal
authored
Merge pull request #7273 from jarvte/update_cellular_unit_tests
Cellular: added unit tests for new API functions (sim, power, base, device).
2 parents 8fab40a + 9f68977 commit 0132e7c

File tree

11 files changed

+199
-55
lines changed

11 files changed

+199
-55
lines changed

features/cellular/UNITTESTS/at/at_cellularbase/at_cellularbasetest.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,12 @@ TEST(AT_CellularBase, test_AT_CellularBase_get_device_error)
4848
unit->test_AT_CellularBase_get_device_error();
4949
}
5050

51+
TEST(AT_CellularBase, test_AT_CellularBase_set_unsupported_features)
52+
{
53+
unit->test_AT_CellularBase_set_unsupported_features();
54+
}
55+
56+
TEST(AT_CellularBase, test_AT_CellularBase_is_supported)
57+
{
58+
unit->test_AT_CellularBase_is_supported();
59+
}

features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,34 @@
2525
using namespace mbed;
2626
using namespace events;
2727

28+
class my_base : public AT_CellularBase {
29+
public:
30+
my_base(ATHandler &at) : AT_CellularBase(at) {
31+
}
32+
bool check_not_supported() {
33+
static const AT_CellularBase::SupportedFeature unsupported_features[] = {
34+
AT_CellularBase::AT_CGSN_WITH_TYPE,
35+
AT_CellularBase::SUPPORTED_FEATURE_END_MARK
36+
};
37+
set_unsupported_features(unsupported_features);
38+
return is_supported(AT_CGSN_WITH_TYPE);
39+
}
40+
41+
bool check_supported() {
42+
set_unsupported_features(NULL);
43+
return is_supported(AT_CGSN_WITH_TYPE);
44+
}
45+
46+
bool check_supported_not_found() {
47+
static const AT_CellularBase::SupportedFeature unsupported_features[] = {
48+
AT_CellularBase::AT_CGSN_WITH_TYPE,
49+
AT_CellularBase::SUPPORTED_FEATURE_END_MARK
50+
};
51+
set_unsupported_features(unsupported_features);
52+
return is_supported(SUPPORTED_FEATURE_END_MARK);
53+
}
54+
};
55+
2856
Test_AT_CellularBase::Test_AT_CellularBase()
2957
{
3058

@@ -57,3 +85,31 @@ void Test_AT_CellularBase::test_AT_CellularBase_get_device_error()
5785

5886
ATHandler_stub::device_err_value.errCode = 0;
5987
}
88+
89+
void Test_AT_CellularBase::test_AT_CellularBase_set_unsupported_features()
90+
{
91+
EventQueue eq;
92+
FileHandle_stub fh;
93+
ATHandler ah(&fh, eq, 0, ",");
94+
AT_CellularBase at(ah);
95+
96+
static const AT_CellularBase::SupportedFeature unsupported_features[] = {
97+
AT_CellularBase::AT_CGSN_WITH_TYPE,
98+
AT_CellularBase::SUPPORTED_FEATURE_END_MARK
99+
};
100+
101+
at.set_unsupported_features(unsupported_features);
102+
}
103+
104+
void Test_AT_CellularBase::test_AT_CellularBase_is_supported()
105+
{
106+
EventQueue eq;
107+
FileHandle_stub fh;
108+
ATHandler ah(&fh, eq, 0, ",");
109+
my_base my_at(ah);
110+
111+
CHECK(true == my_at.check_supported());
112+
CHECK(true == my_at.check_supported_not_found());
113+
CHECK(false == my_at.check_not_supported());
114+
115+
}

features/cellular/UNITTESTS/at/at_cellularbase/test_at_cellularbase.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ class Test_AT_CellularBase
2727
void test_AT_CellularBase_get_at_handler();
2828

2929
void test_AT_CellularBase_get_device_error();
30+
31+
void test_AT_CellularBase_set_unsupported_features();
32+
33+
void test_AT_CellularBase_is_supported();
3034
};
3135

3236
#endif // TEST_AT_CELLULARBASE_H

features/cellular/UNITTESTS/at/at_cellulardevice/at_cellulardevicetest.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,8 @@ TEST(AT_CellularDevice, test_AT_CellularDevice_get_stack)
111111
{
112112
unit->test_AT_CellularDevice_get_stack();
113113
}
114+
115+
TEST(AT_CellularDevice, test_AT_CellularDevice_get_send_delay)
116+
{
117+
unit->test_AT_CellularDevice_get_send_delay();
118+
}

features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.cpp

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_get_at_handler()
5050
FileHandle_stub fh2;
5151
FileHandle_stub fh3;
5252

53-
dev.open_network(&fh1);
54-
dev.open_sms(&fh2);
53+
CHECK(dev.open_network(&fh1));
54+
CHECK(dev.open_sms(&fh2));
5555
AT_CellularBase_stub::handler_value = AT_CellularBase_stub::handler_at_constructor_value;
56-
dev.open_sim(&fh3);
56+
CHECK(dev.open_sim(&fh3));
5757
ATHandler_stub::fh_value = &fh1;
58-
dev.open_power(&fh1);
58+
CHECK(dev.open_power(&fh1));
5959

6060
ATHandler_stub::fh_value = NULL;
6161
}
@@ -121,6 +121,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_network()
121121
CHECK(ATHandler_stub::ref_count == 1);
122122

123123
dev.close_network();
124+
CHECK(ATHandler_stub::ref_count == 0);
124125
}
125126

126127
void Test_AT_CellularDevice::test_AT_CellularDevice_close_sms()
@@ -134,6 +135,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_sms()
134135
CHECK(ATHandler_stub::ref_count == 1);
135136

136137
dev.close_sms();
138+
CHECK(ATHandler_stub::ref_count == 0);
137139
}
138140

139141
void Test_AT_CellularDevice::test_AT_CellularDevice_close_power()
@@ -147,6 +149,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_power()
147149
CHECK(ATHandler_stub::ref_count == 1);
148150

149151
dev.close_power();
152+
CHECK(ATHandler_stub::ref_count == 0);
150153
}
151154

152155
void Test_AT_CellularDevice::test_AT_CellularDevice_close_sim()
@@ -162,6 +165,7 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_close_sim()
162165
CHECK(ATHandler_stub::ref_count == 1);
163166

164167
dev.close_sim();
168+
CHECK(ATHandler_stub::ref_count == 0);
165169
}
166170

167171
void Test_AT_CellularDevice::test_AT_CellularDevice_close_information()
@@ -212,6 +216,13 @@ void Test_AT_CellularDevice::test_AT_CellularDevice_set_timeout()
212216
dev.close_sim();
213217
}
214218

219+
void Test_AT_CellularDevice::test_AT_CellularDevice_get_send_delay()
220+
{
221+
EventQueue que;
222+
AT_CellularDevice dev(que);
223+
CHECK(0 == dev.get_send_delay());
224+
}
225+
215226
void Test_AT_CellularDevice::test_AT_CellularDevice_modem_debug_on()
216227
{
217228
EventQueue que;

features/cellular/UNITTESTS/at/at_cellulardevice/test_at_cellulardevice.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ class Test_AT_CellularDevice
5353
void test_AT_CellularDevice_modem_debug_on();
5454

5555
void test_AT_CellularDevice_get_stack();
56+
57+
void test_AT_CellularDevice_get_send_delay();
5658
};
5759

5860
#endif // TEST_AT_CELLULARDEVICE_H

features/cellular/UNITTESTS/at/at_cellularpower/test_at_cellularpower.cpp

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,11 @@ void Test_AT_CellularPower::test_AT_CellularPower_set_at_mode()
7474
ATHandler at(&fh1, que, 0, ",");
7575

7676
AT_CellularPower pow(at);
77-
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
78-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_at_mode());
77+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
78+
CHECK(NSAPI_ERROR_OK == pow.set_at_mode());
79+
80+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
81+
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.set_at_mode());
7982
}
8083

8184
void Test_AT_CellularPower::test_AT_CellularPower_set_power_level()
@@ -85,10 +88,13 @@ void Test_AT_CellularPower::test_AT_CellularPower_set_power_level()
8588
ATHandler at(&fh1, que, 0, ",");
8689

8790
AT_CellularPower pow(at);
88-
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
89-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_power_level(6));
90-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_power_level(1,1));
91-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.set_power_level(1,0));
91+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
92+
CHECK(NSAPI_ERROR_OK == pow.set_power_level(6));
93+
CHECK(NSAPI_ERROR_OK == pow.set_power_level(1,1));
94+
CHECK(NSAPI_ERROR_OK == pow.set_power_level(1,0));
95+
96+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
97+
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.set_power_level(6));
9298
}
9399

94100
void Test_AT_CellularPower::test_AT_CellularPower_reset()
@@ -98,8 +104,11 @@ void Test_AT_CellularPower::test_AT_CellularPower_reset()
98104
ATHandler at(&fh1, que, 0, ",");
99105

100106
AT_CellularPower pow(at);
101-
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
102-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.reset());
107+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
108+
CHECK(NSAPI_ERROR_OK == pow.reset());
109+
110+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
111+
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.reset());
103112
}
104113

105114
void Test_AT_CellularPower::test_AT_CellularPower_opt_power_save_mode()
@@ -109,23 +118,25 @@ void Test_AT_CellularPower::test_AT_CellularPower_opt_power_save_mode()
109118
ATHandler at(&fh1, que, 0, ",");
110119

111120
AT_CellularPower pow(at);
112-
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
113-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(0,0));
121+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
122+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(0,0));
114123

115-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(10,0));
124+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(10,0));
116125

117-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(912,0));
126+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(912,0));
118127

119-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(1834,1834));
128+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(1834,1834));
120129

121-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(18345,18345));
130+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(18345,18345));
122131

123-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(101234,101234));
132+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(101234,101234));
124133

125-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_power_save_mode(1012345,1012345));
134+
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(1012345,1012345));
126135

127-
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
128136
CHECK(NSAPI_ERROR_OK == pow.opt_power_save_mode(39612345,39612345));
137+
138+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
139+
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.opt_power_save_mode(0,0));
129140
}
130141

131142
void Test_AT_CellularPower::test_AT_CellularPower_opt_receive_period()
@@ -135,8 +146,11 @@ void Test_AT_CellularPower::test_AT_CellularPower_opt_receive_period()
135146
ATHandler at(&fh1, que, 0, ",");
136147

137148
AT_CellularPower pow(at);
138-
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_AUTH_FAILURE;
139-
CHECK(NSAPI_ERROR_AUTH_FAILURE == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3));
149+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
150+
CHECK(NSAPI_ERROR_OK == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3));
151+
152+
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
153+
CHECK(NSAPI_ERROR_DEVICE_ERROR == pow.opt_receive_period(1, CellularPower::EDRXUTRAN_Iu_mode, 3));
140154
}
141155

142156
void Test_AT_CellularPower::test_AT_CellularPower_is_device_ready()
@@ -162,6 +176,7 @@ void Test_AT_CellularPower::test_AT_CellularPower_set_device_ready_urc_cb()
162176

163177
AT_CellularPower pow(at);
164178
CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(&device_ready_cb));
179+
CHECK(NSAPI_ERROR_UNSUPPORTED == pow.set_device_ready_urc_cb(NULL));
165180
}
166181

167182
void Test_AT_CellularPower::test_AT_CellularPower_remove_device_ready_urc_cb()

features/cellular/UNITTESTS/at/at_cellularsim/at_cellularsimtest.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
#include "CppUTest/TestHarness.h"
1818
#include "test_at_cellularsim.h"
19+
#include "ATHandler_stub.h"
1920

2021
TEST_GROUP(AT_CellularSIM)
2122
{
@@ -24,6 +25,7 @@ TEST_GROUP(AT_CellularSIM)
2425
void setup()
2526
{
2627
unit = new Test_AT_CellularSIM();
28+
ATHandler_stub::read_string_index = kRead_string_table_size;
2729
}
2830

2931
void teardown()
@@ -67,3 +69,7 @@ TEST(AT_CellularSIM, test_AT_CellularSIM_get_imsi)
6769
unit->test_AT_CellularSIM_get_imsi();
6870
}
6971

72+
TEST(AT_CellularSIM, test_AT_CellularSIM_get_iccid)
73+
{
74+
unit->test_AT_CellularSIM_get_iccid();
75+
}

0 commit comments

Comments
 (0)