@@ -144,6 +144,45 @@ static void test_variant_print_int64()
144144 }
145145}
146146
147+ static void test_variant_print_uint64 ()
148+ {
149+ int ret ;
150+ int i ;
151+ uint64_t inputs [] = {1 , 0 , 18446744073709551615ULL };
152+ char * expects [] = {"1" , "0" , "18446744073709551615" /*UINT64_MAX*/ };
153+
154+ FILE * fp = NULL ;
155+ struct cfl_variant * val = NULL ;
156+
157+ for (i = 0 ; i < sizeof (inputs )/sizeof (uint64_t ); i ++ ) {
158+ fp = tmpfile ();
159+ if (!TEST_CHECK (fp != NULL )) {
160+ TEST_MSG ("%d: fp is NULL" , i );
161+ continue ;
162+ }
163+ val = cfl_variant_create_from_uint64 (inputs [i ]);
164+ if (!TEST_CHECK (val != NULL )) {
165+ TEST_MSG ("%d: cfl_variant_create_from_uint64 failed" , i );
166+ fclose (fp );
167+ continue ;
168+ }
169+
170+ ret = cfl_variant_print (fp , val );
171+ if (!TEST_CHECK (ret > 0 )) {
172+ TEST_MSG ("%d:cfl_variant_print failed" , i );
173+ cfl_variant_destroy (val );
174+ fclose (fp );
175+ continue ;
176+ }
177+ ret = compare (fp , expects [i ], 0 );
178+ if (!TEST_CHECK (ret == 0 )) {
179+ TEST_MSG ("%d:compare failed" , i );
180+ }
181+ cfl_variant_destroy (val );
182+ fclose (fp );
183+ }
184+ }
185+
147186static void test_variant_print_array ()
148187{
149188 int ret ;
@@ -459,6 +498,7 @@ static void test_variant_print_unknown()
459498TEST_LIST = {
460499 {"variant_print_bool" , test_variant_print_bool },
461500 {"variant_print_int64" , test_variant_print_int64 },
501+ {"variant_print_uint64" , test_variant_print_uint64 },
462502 {"variant_print_double" , test_variant_print_double },
463503 {"variant_print_string" , test_variant_print_string },
464504 {"variant_print_bytes" , test_variant_print_bytes },
0 commit comments