test universal strings.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21357 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		@@ -296,6 +296,51 @@ test_bmp_string (void)
 | 
				
			|||||||
    return ret;
 | 
					    return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					cmp_universal_string (void *a, void *b)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    heim_universal_string *oa = (heim_universal_string *)a;
 | 
				
			||||||
 | 
					    heim_universal_string *ob = (heim_universal_string *)b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return der_heim_universal_string_cmp(oa, ob);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static uint32_t universal_d1[] = { 32 };
 | 
				
			||||||
 | 
					static uint32_t universal_d2[] = { 32, 32 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					test_universal_string (void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    heim_universal_string s1 = { 1, universal_d1 };
 | 
				
			||||||
 | 
					    heim_universal_string s2 = { 2, universal_d2 };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    struct test_case tests[] = {
 | 
				
			||||||
 | 
						{NULL, 4, "\x00\x00\x00\x20"},
 | 
				
			||||||
 | 
						{NULL, 8, "\x00\x00\x00\x20\x00\x00\x00\x20"}
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    int ntests = sizeof(tests) / sizeof(*tests);
 | 
				
			||||||
 | 
					    int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tests[0].val = &s1;
 | 
				
			||||||
 | 
					    asprintf (&tests[0].name, "a universal string");
 | 
				
			||||||
 | 
					    if (tests[0].name == NULL)
 | 
				
			||||||
 | 
						errx(1, "malloc");
 | 
				
			||||||
 | 
					    tests[1].val = &s2;
 | 
				
			||||||
 | 
					    asprintf (&tests[1].name, "second universal string");
 | 
				
			||||||
 | 
					    if (tests[1].name == NULL)
 | 
				
			||||||
 | 
						errx(1, "malloc");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ret = generic_test (tests, ntests, sizeof(heim_universal_string),
 | 
				
			||||||
 | 
								(generic_encode)der_put_universal_string,
 | 
				
			||||||
 | 
								(generic_length)der_length_universal_string,
 | 
				
			||||||
 | 
								(generic_decode)der_get_universal_string,
 | 
				
			||||||
 | 
								(generic_free)der_free_universal_string,
 | 
				
			||||||
 | 
								cmp_universal_string);
 | 
				
			||||||
 | 
					    free(tests[0].name);
 | 
				
			||||||
 | 
					    free(tests[1].name);
 | 
				
			||||||
 | 
					    return ret;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int
 | 
					static int
 | 
				
			||||||
cmp_general_string (void *a, void *b)
 | 
					cmp_general_string (void *a, void *b)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -965,6 +1010,7 @@ main(int argc, char **argv)
 | 
				
			|||||||
    ret += test_unsigned ();
 | 
					    ret += test_unsigned ();
 | 
				
			||||||
    ret += test_octet_string ();
 | 
					    ret += test_octet_string ();
 | 
				
			||||||
    ret += test_bmp_string ();
 | 
					    ret += test_bmp_string ();
 | 
				
			||||||
 | 
					    ret += test_universal_string ();
 | 
				
			||||||
    ret += test_general_string ();
 | 
					    ret += test_general_string ();
 | 
				
			||||||
    ret += test_generalized_time ();
 | 
					    ret += test_generalized_time ();
 | 
				
			||||||
    ret += test_oid ();
 | 
					    ret += test_oid ();
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user