Fine-tune the naming of new macros before merging into master.
[apps/agl-service-can-low-level.git] / tests / test_decode_extensions.c
index b384c33..ef6a022 100644 (file)
@@ -7,6 +7,11 @@
 #include "alltypes.pb.h"
 #include "extensions.pb.h"
 
+#define TEST(x) if (!(x)) { \
+    printf("Test " #x " failed.\n"); \
+    return 2; \
+    }
+
 int main(int argc, char **argv)
 {
     uint8_t buffer[1024];
@@ -14,9 +19,14 @@ int main(int argc, char **argv)
     pb_istream_t stream = pb_istream_from_buffer(buffer, count);
     
     AllTypes alltypes = {};
+    
     int32_t extensionfield1;
     pb_extension_t ext1 = {&AllTypes_extensionfield1, &extensionfield1, NULL};
     alltypes.extensions = &ext1;
+        
+    ExtensionMessage extensionfield2 = {};
+    pb_extension_t ext2 = {&ExtensionMessage_AllTypes_extensionfield2, &extensionfield2, NULL};
+    ext1.next = &ext2;
     
     if (!pb_decode(&stream, AllTypes_fields, &alltypes))
     {
@@ -24,11 +34,9 @@ int main(int argc, char **argv)
         return 1;
     }
 
-    if (extensionfield1 != 12345)
-    {
-        printf("Wrong value for extension field: %d\n", extensionfield1);
-        return 2;
-    }    
+    TEST(extensionfield1 == 12345)
+    TEST(strcmp(extensionfield2.test1, "test") == 0)
+    TEST(extensionfield2.test2 == 54321)
     
     return 0;
 }