|
5 | 5 | */
|
6 | 6 |
|
7 | 7 | #include <zephyr/ztest.h>
|
8 |
| - |
| 8 | +#include <zephyr/sys/util.h> |
9 | 9 | #include "lwm2m_engine.h"
|
10 | 10 | #include "lwm2m_util.h"
|
11 | 11 |
|
@@ -133,72 +133,111 @@ ZTEST(lwm2m_registry, test_get_res_inst)
|
133 | 133 | zassert_not_null(lwm2m_engine_get_res_inst(&LWM2M_OBJ(3, 0, 11, 0)));
|
134 | 134 | }
|
135 | 135 |
|
| 136 | +#define GET_SET_UNINIT_PATTERN 0xA5 |
| 137 | +#define GET_SET_INT(c_type, name, init) \ |
| 138 | + struct { \ |
| 139 | + IDENTITY c_type out; \ |
| 140 | + IDENTITY c_type in; \ |
| 141 | + } name = {.out = init}; \ |
| 142 | + memset(&name.in, GET_SET_UNINIT_PATTERN, sizeof(name.in)); \ |
| 143 | + zassert_not_ok(memcmp(&name.out, &name.in, sizeof(name.out)), "init value must be " \ |
| 144 | + "non-zero") |
| 145 | + |
| 146 | +#define GET_SET_ARRAY(c_type, name, init) \ |
| 147 | + struct { \ |
| 148 | + IDENTITY c_type out[sizeof((IDENTITY c_type[])__DEBRACKET init)]; \ |
| 149 | + IDENTITY c_type in[sizeof((IDENTITY c_type[])__DEBRACKET init)]; \ |
| 150 | + } name = {.out = __DEBRACKET init}; \ |
| 151 | + memset(&name.in, GET_SET_UNINIT_PATTERN, sizeof(name.in)); \ |
| 152 | + zassert_not_ok(memcmp(&name.out, &name.in, sizeof(name.out)), "init value must be " \ |
| 153 | + "non-zero") |
| 154 | + |
| 155 | +#define GET_SET_STRING(c_type, name, init) \ |
| 156 | + struct { \ |
| 157 | + IDENTITY c_type out[sizeof(init)]; \ |
| 158 | + IDENTITY c_type in[sizeof(init)]; \ |
| 159 | + } name = {.out = init}; \ |
| 160 | + memset(&name.in, GET_SET_UNINIT_PATTERN, sizeof(name.in)); \ |
| 161 | + zassert_not_ok(memcmp(&name.out, &name.in, sizeof(name.out)), "init value must be " \ |
| 162 | + "non-zero") |
| 163 | + |
| 164 | +#define GET_SET_STRUCT(c_type, name, init) \ |
| 165 | + struct { \ |
| 166 | + IDENTITY c_type out; \ |
| 167 | + IDENTITY c_type in; \ |
| 168 | + } name = {.out = __DEBRACKET init}; \ |
| 169 | + memset(&name.in, GET_SET_UNINIT_PATTERN, sizeof(name.in)); \ |
| 170 | + zassert_not_ok(memcmp(&name.out, &name.in, sizeof(name.out)), "init value must be " \ |
| 171 | + "non-zero") |
| 172 | + |
136 | 173 | ZTEST(lwm2m_registry, test_get_set)
|
137 | 174 | {
|
138 |
| - bool b = true; |
139 |
| - uint8_t opaque[] = {0xde, 0xad, 0xbe, 0xff, 0, 0}; |
140 |
| - char string[] = "Hello"; |
141 |
| - uint8_t u8 = 8; |
142 |
| - int8_t s8 = -8; |
143 |
| - uint16_t u16 = 16; |
144 |
| - int16_t s16 = -16; |
145 |
| - uint32_t u32 = 32; |
146 |
| - int32_t s32 = -32; |
147 |
| - int64_t s64 = -64; |
148 |
| - time_t t = 1687949519; |
149 |
| - double d = 3.1415; |
150 |
| - double d2; |
151 |
| - struct lwm2m_objlnk objl = {.obj_id = 1, .obj_inst = 2}; |
152 |
| - uint16_t l = sizeof(opaque); |
153 |
| - |
154 |
| - zassert_equal(lwm2m_set_bool(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_BOOL), b), 0); |
155 |
| - zassert_equal(lwm2m_set_opaque(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OPAQUE), opaque, l), 0); |
156 |
| - zassert_equal(lwm2m_set_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), string), 0); |
157 |
| - zassert_equal(lwm2m_set_u8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U8), u8), 0); |
158 |
| - zassert_equal(lwm2m_set_s8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S8), s8), 0); |
159 |
| - zassert_equal(lwm2m_set_u16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U16), u16), 0); |
160 |
| - zassert_equal(lwm2m_set_s16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S16), s16), 0); |
161 |
| - zassert_equal(lwm2m_set_u32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U32), u32), 0); |
162 |
| - zassert_equal(lwm2m_set_s32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S32), s32), 0); |
163 |
| - zassert_equal(lwm2m_set_s64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S64), s64), 0); |
164 |
| - zassert_equal(lwm2m_set_time(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_TIME), t), 0); |
165 |
| - zassert_equal(lwm2m_set_f64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_FLOAT), d), 0); |
166 |
| - zassert_equal(lwm2m_set_objlnk(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OBJLNK), &objl), 0); |
167 |
| - |
168 |
| - zassert_equal(lwm2m_get_bool(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_BOOL), &b), 0); |
169 |
| - zassert_equal(lwm2m_get_opaque(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OPAQUE), &opaque, l), 0); |
170 |
| - zassert_equal(lwm2m_get_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), &string, l), 0); |
171 |
| - zassert_equal(lwm2m_get_u8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U8), &u8), 0); |
172 |
| - zassert_equal(lwm2m_get_s8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S8), &s8), 0); |
173 |
| - zassert_equal(lwm2m_get_u16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U16), &u16), 0); |
174 |
| - zassert_equal(lwm2m_get_s16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S16), &s16), 0); |
175 |
| - zassert_equal(lwm2m_get_u32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U32), &u32), 0); |
176 |
| - zassert_equal(lwm2m_get_s32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S32), &s32), 0); |
177 |
| - zassert_equal(lwm2m_get_s64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S64), &s64), 0); |
178 |
| - zassert_equal(lwm2m_get_time(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_TIME), &t), 0); |
179 |
| - zassert_equal(lwm2m_get_f64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_FLOAT), &d2), 0); |
180 |
| - zassert_equal(lwm2m_get_objlnk(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OBJLNK), &objl), 0); |
181 |
| - |
182 |
| - zassert_equal(b, true); |
183 |
| - zassert_equal(memcmp(opaque, &(uint8_t[6]) {0xde, 0xad, 0xbe, 0xff, 0, 0}, l), 0); |
184 |
| - zassert_str_equal(string, "Hello"); |
185 |
| - zassert_equal(u8, 8); |
186 |
| - zassert_equal(s8, -8); |
187 |
| - zassert_equal(u16, 16); |
188 |
| - zassert_equal(s16, -16); |
189 |
| - zassert_equal(u32, 32); |
190 |
| - zassert_equal(s32, -32); |
191 |
| - zassert_equal(s64, -64); |
192 |
| - zassert_equal(t, 1687949519); |
193 |
| - zassert_equal(d, d2); |
194 |
| - zassert_equal( |
195 |
| - memcmp(&objl, &(struct lwm2m_objlnk){.obj_id = 1, .obj_inst = 2}, sizeof(objl)), 0); |
196 |
| - |
197 |
| - zassert_equal(lwm2m_set_res_data_len(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), 0), 0); |
| 175 | + GET_SET_INT((bool), b, true); |
| 176 | + GET_SET_ARRAY((uint8_t), opaque, ({0xde, 0xad, 0xbe, 0xff, 0, 0})); |
| 177 | + GET_SET_STRING((char), string, "Hello"); |
| 178 | + GET_SET_INT((uint8_t), u8, 8); |
| 179 | + GET_SET_INT((int8_t), s8, -8); |
| 180 | + GET_SET_INT((uint16_t), u16, 16); |
| 181 | + GET_SET_INT((int16_t), s16, -16); |
| 182 | + GET_SET_INT((uint32_t), u32, 32); |
| 183 | + GET_SET_INT((int32_t), s32, -32); |
| 184 | + GET_SET_INT((int64_t), s64, -64); |
| 185 | + GET_SET_INT((time_t), t, 1687949519); |
| 186 | + GET_SET_INT((double), d, 3.1415); |
| 187 | + GET_SET_STRUCT((struct lwm2m_objlnk), objl, ({.obj_id = 1, .obj_inst = 2})); |
| 188 | + |
| 189 | + /* set all resources */ |
| 190 | + zassert_ok(lwm2m_set_bool(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_BOOL), b.out)); |
| 191 | + zassert_ok(lwm2m_set_opaque(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OPAQUE), opaque.out, |
| 192 | + sizeof(opaque.out))); |
| 193 | + zassert_ok(lwm2m_set_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), string.out)); |
| 194 | + zassert_ok(lwm2m_set_u8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U8), u8.out)); |
| 195 | + zassert_ok(lwm2m_set_s8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S8), s8.out)); |
| 196 | + zassert_ok(lwm2m_set_u16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U16), u16.out)); |
| 197 | + zassert_ok(lwm2m_set_s16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S16), s16.out)); |
| 198 | + zassert_ok(lwm2m_set_u32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U32), u32.out)); |
| 199 | + zassert_ok(lwm2m_set_s32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S32), s32.out)); |
| 200 | + zassert_ok(lwm2m_set_s64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S64), s64.out)); |
| 201 | + zassert_ok(lwm2m_set_time(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_TIME), t.out)); |
| 202 | + zassert_ok(lwm2m_set_f64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_FLOAT), d.out)); |
| 203 | + zassert_ok(lwm2m_set_objlnk(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OBJLNK), &objl.out)); |
| 204 | + |
| 205 | + /* get all resources */ |
| 206 | + zassert_ok(lwm2m_get_bool(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_BOOL), &b.in)); |
| 207 | + zassert_ok(lwm2m_get_opaque(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OPAQUE), opaque.in, |
| 208 | + sizeof(opaque.in))); |
| 209 | + zassert_ok(lwm2m_get_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), string.in, |
| 210 | + sizeof(string.in))); |
| 211 | + zassert_ok(lwm2m_get_u8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U8), &u8.in)); |
| 212 | + zassert_ok(lwm2m_get_s8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S8), &s8.in)); |
| 213 | + zassert_ok(lwm2m_get_u16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U16), &u16.in)); |
| 214 | + zassert_ok(lwm2m_get_s16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S16), &s16.in)); |
| 215 | + zassert_ok(lwm2m_get_u32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U32), &u32.in)); |
| 216 | + zassert_ok(lwm2m_get_s32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S32), &s32.in)); |
| 217 | + zassert_ok(lwm2m_get_s64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S64), &s64.in)); |
| 218 | + zassert_ok(lwm2m_get_time(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_TIME), &t.in)); |
| 219 | + zassert_ok(lwm2m_get_f64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_FLOAT), &d.in)); |
| 220 | + zassert_ok(lwm2m_get_objlnk(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OBJLNK), &objl.in)); |
| 221 | + |
| 222 | + /* check read value */ |
| 223 | + zassert_equal(b.in, b.out); |
| 224 | + zassert_mem_equal(opaque.in, opaque.out, sizeof(opaque.out)); |
| 225 | + zassert_str_equal(string.in, string.out); |
| 226 | + zassert_equal(u8.in, u8.out); |
| 227 | + zassert_equal(s8.in, s8.out); |
| 228 | + zassert_equal(u16.in, u16.out); |
| 229 | + zassert_equal(s16.in, s16.out); |
| 230 | + zassert_equal(u32.in, u32.out); |
| 231 | + zassert_equal(s32.in, s32.out); |
| 232 | + zassert_equal(s64.in, s64.out); |
| 233 | + zassert_equal(t.in, t.out); |
| 234 | + zassert_equal(d.in, d.out); |
| 235 | + zassert_mem_equal(&objl.in, &objl.out, sizeof(objl.out)); |
| 236 | + |
| 237 | + /* set string resource to zero length */ |
| 238 | + zassert_ok(lwm2m_set_res_data_len(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), 0)); |
198 | 239 | char buf[10];
|
199 |
| - |
200 |
| - zassert_equal( |
201 |
| - lwm2m_get_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), buf, sizeof(buf)), 0); |
| 240 | + zassert_ok(lwm2m_get_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), buf, sizeof(buf))); |
202 | 241 | zassert_equal(strlen(buf), 0);
|
203 | 242 | }
|
204 | 243 |
|
@@ -522,69 +561,66 @@ ZTEST(lwm2m_registry, test_resource_cache)
|
522 | 561 |
|
523 | 562 | ZTEST(lwm2m_registry, test_set_bulk)
|
524 | 563 | {
|
525 |
| - bool b = true; |
526 |
| - uint8_t opaque[] = {0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}; |
527 |
| - char string[] = "Hello world"; |
528 |
| - uint8_t u8 = 80; |
529 |
| - int8_t s8 = -80; |
530 |
| - uint16_t u16 = 160; |
531 |
| - int16_t s16 = -160; |
532 |
| - uint32_t u32 = 320; |
533 |
| - int32_t s32 = -320; |
534 |
| - int64_t s64 = -640; |
535 |
| - time_t t = 1687949518; |
536 |
| - double d = 3.14151; |
537 |
| - double d2; |
538 |
| - struct lwm2m_objlnk objl = {.obj_id = 10, .obj_inst = 20}; |
| 564 | + GET_SET_INT((bool), b, true); |
| 565 | + GET_SET_ARRAY((uint8_t), opaque, ({0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff})); |
| 566 | + GET_SET_STRING((char), string, "Hello world"); |
| 567 | + GET_SET_INT((uint8_t), u8, 80); |
| 568 | + GET_SET_INT((int8_t), s8, -80); |
| 569 | + GET_SET_INT((uint16_t), u16, 160); |
| 570 | + GET_SET_INT((int16_t), s16, -160); |
| 571 | + GET_SET_INT((uint32_t), u32, 320); |
| 572 | + GET_SET_INT((int32_t), s32, -320); |
| 573 | + GET_SET_INT((int64_t), s64, -640); |
| 574 | + GET_SET_INT((time_t), t, 1687949518); |
| 575 | + GET_SET_INT((double), d, 3.14151); |
| 576 | + GET_SET_STRUCT((struct lwm2m_objlnk), objl, ({.obj_id = 10, .obj_inst = 20})); |
539 | 577 |
|
540 | 578 | struct lwm2m_res_item res_items[] = {
|
541 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_BOOL), &b, sizeof(b)}, |
542 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_OPAQUE), &opaque, sizeof(opaque)}, |
543 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_STRING), &string, sizeof(string)}, |
544 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U8), &u8, sizeof(u8)}, |
545 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S8), &s8, sizeof(s8)}, |
546 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U16), &u16, sizeof(u16)}, |
547 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S16), &s16, sizeof(s16)}, |
548 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U32), &u32, sizeof(u32)}, |
549 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S32), &s32, sizeof(s32)}, |
550 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S64), &s64, sizeof(s64)}, |
551 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_TIME), &t, sizeof(t)}, |
552 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_FLOAT), &d, sizeof(d)}, |
553 |
| - {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_OBJLNK), &objl, sizeof(objl)} |
554 |
| - }; |
| 579 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_BOOL), &b.out, sizeof(b.out)}, |
| 580 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_OPAQUE), opaque.out, sizeof(opaque.out)}, |
| 581 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_STRING), string.out, sizeof(string.out)}, |
| 582 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U8), &u8.out, sizeof(u8.out)}, |
| 583 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S8), &s8.out, sizeof(s8.out)}, |
| 584 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U16), &u16.out, sizeof(u16.out)}, |
| 585 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S16), &s16.out, sizeof(s16.out)}, |
| 586 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U32), &u32.out, sizeof(u32.out)}, |
| 587 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S32), &s32.out, sizeof(s32.out)}, |
| 588 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S64), &s64.out, sizeof(s64.out)}, |
| 589 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_TIME), &t.out, sizeof(t.out)}, |
| 590 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_FLOAT), &d.out, sizeof(d.out)}, |
| 591 | + {&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_OBJLNK), &objl.out, sizeof(objl.out)}}; |
555 | 592 |
|
556 | 593 | zassert_equal(lwm2m_set_bulk(res_items, ARRAY_SIZE(res_items)), 0);
|
557 | 594 |
|
558 |
| - zassert_equal(lwm2m_get_bool(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_BOOL), &b), 0); |
559 |
| - zassert_equal(lwm2m_get_opaque(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_OPAQUE), &opaque, |
560 |
| - sizeof(opaque)), 0); |
561 |
| - zassert_equal(lwm2m_get_string(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_STRING), &string, |
562 |
| - sizeof(string)), 0); |
563 |
| - zassert_equal(lwm2m_get_u8(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U8), &u8), 0); |
564 |
| - zassert_equal(lwm2m_get_s8(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S8), &s8), 0); |
565 |
| - zassert_equal(lwm2m_get_u16(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U16), &u16), 0); |
566 |
| - zassert_equal(lwm2m_get_s16(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S16), &s16), 0); |
567 |
| - zassert_equal(lwm2m_get_u32(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_U32), &u32), 0); |
568 |
| - zassert_equal(lwm2m_get_s32(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S32), &s32), 0); |
569 |
| - zassert_equal(lwm2m_get_s64(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_S64), &s64), 0); |
570 |
| - zassert_equal(lwm2m_get_time(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_TIME), &t), 0); |
571 |
| - zassert_equal(lwm2m_get_f64(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_FLOAT), &d2), 0); |
572 |
| - zassert_equal(lwm2m_get_objlnk(&LWM2M_OBJ(TEST_OBJ_ID, 0, LWM2M_RES_TYPE_OBJLNK), |
573 |
| - &objl), 0); |
574 |
| - |
575 |
| - zassert_equal(b, true); |
576 |
| - zassert_equal(memcmp(opaque, &(uint8_t[6]) {0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}, |
577 |
| - sizeof(opaque)), 0); |
578 |
| - zassert_str_equal(string, "Hello world"); |
579 |
| - zassert_equal(u8, 80); |
580 |
| - zassert_equal(s8, -80); |
581 |
| - zassert_equal(u16, 160); |
582 |
| - zassert_equal(s16, -160); |
583 |
| - zassert_equal(u32, 320); |
584 |
| - zassert_equal(s32, -320); |
585 |
| - zassert_equal(s64, -640); |
586 |
| - zassert_equal(t, 1687949518); |
587 |
| - zassert_equal(d, d2); |
588 |
| - zassert_equal(memcmp(&objl, &(struct lwm2m_objlnk){.obj_id = 10, .obj_inst = 20}, |
589 |
| - sizeof(objl)), 0); |
| 595 | + /* get all resources */ |
| 596 | + zassert_ok(lwm2m_get_bool(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_BOOL), &b.in)); |
| 597 | + zassert_ok(lwm2m_get_opaque(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OPAQUE), opaque.in, |
| 598 | + sizeof(opaque.in))); |
| 599 | + zassert_ok(lwm2m_get_string(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_STRING), string.in, |
| 600 | + sizeof(string.in))); |
| 601 | + zassert_ok(lwm2m_get_u8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U8), &u8.in)); |
| 602 | + zassert_ok(lwm2m_get_s8(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S8), &s8.in)); |
| 603 | + zassert_ok(lwm2m_get_u16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U16), &u16.in)); |
| 604 | + zassert_ok(lwm2m_get_s16(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S16), &s16.in)); |
| 605 | + zassert_ok(lwm2m_get_u32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_U32), &u32.in)); |
| 606 | + zassert_ok(lwm2m_get_s32(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S32), &s32.in)); |
| 607 | + zassert_ok(lwm2m_get_s64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_S64), &s64.in)); |
| 608 | + zassert_ok(lwm2m_get_time(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_TIME), &t.in)); |
| 609 | + zassert_ok(lwm2m_get_f64(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_FLOAT), &d.in)); |
| 610 | + zassert_ok(lwm2m_get_objlnk(&LWM2M_OBJ(32768, 0, LWM2M_RES_TYPE_OBJLNK), &objl.in)); |
| 611 | + |
| 612 | + /* check for equality */ |
| 613 | + zassert_equal(b.in, b.out); |
| 614 | + zassert_mem_equal(opaque.in, opaque.out, sizeof(opaque.out)); |
| 615 | + zassert_str_equal(string.in, string.out); |
| 616 | + zassert_equal(u8.in, u8.out); |
| 617 | + zassert_equal(s8.in, s8.out); |
| 618 | + zassert_equal(u16.in, u16.out); |
| 619 | + zassert_equal(s16.in, s16.out); |
| 620 | + zassert_equal(u32.in, u32.out); |
| 621 | + zassert_equal(s32.in, s32.out); |
| 622 | + zassert_equal(s64.in, s64.out); |
| 623 | + zassert_equal(t.in, t.out); |
| 624 | + zassert_equal(d.in, d.out); |
| 625 | + zassert_mem_equal(&objl.in, &objl.out, sizeof(objl.out)); |
590 | 626 | }
|
0 commit comments