Skip to content

Commit b234e86

Browse files
GardeningSteviekartben
authored andcommitted
tests: net: lib: lwm2m: detects no-operation setter and getter functions
Test case `test_set_bulk` and `test_get_set` test the LwM2m getter and setter function by - init a buffer with some value - calling lwm2m_set_... with buffer as parameter - calling lwm2_get_... by letting `get` write-back into the same buffer(!) - compare the buffer with the init value That implementation can't recognize a no-operation getter function. This change adds some C macro magic for both test cases where an `out` buffer for setter and an `in` buffer for getter functions exists. The buffers are checked before use for inequality to avoid any unexpected pass. Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
1 parent 42ad579 commit b234e86

File tree

1 file changed

+160
-124
lines changed

1 file changed

+160
-124
lines changed

tests/net/lib/lwm2m/lwm2m_registry/src/lwm2m_registry.c

Lines changed: 160 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66

77
#include <zephyr/ztest.h>
8-
8+
#include <zephyr/sys/util.h>
99
#include "lwm2m_engine.h"
1010
#include "lwm2m_util.h"
1111

@@ -133,72 +133,111 @@ ZTEST(lwm2m_registry, test_get_res_inst)
133133
zassert_not_null(lwm2m_engine_get_res_inst(&LWM2M_OBJ(3, 0, 11, 0)));
134134
}
135135

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+
136173
ZTEST(lwm2m_registry, test_get_set)
137174
{
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));
198239
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)));
202241
zassert_equal(strlen(buf), 0);
203242
}
204243

@@ -522,69 +561,66 @@ ZTEST(lwm2m_registry, test_resource_cache)
522561

523562
ZTEST(lwm2m_registry, test_set_bulk)
524563
{
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}));
539577

540578
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)}};
555592

556593
zassert_equal(lwm2m_set_bulk(res_items, ARRAY_SIZE(res_items)), 0);
557594

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));
590626
}

0 commit comments

Comments
 (0)