From 5dfc656f1eacabc4f5b22a3be13defd86ec623a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Thu, 21 Jul 2005 20:48:27 +0000 Subject: [PATCH] Two implicit tests, one with all structures inlined git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@15703 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/asn1/check-gen.c | 20 ++++++++++++++------ lib/asn1/test.asn1 | 8 ++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/asn1/check-gen.c b/lib/asn1/check-gen.c index 8f417a7ee..87deb61c0 100644 --- a/lib/asn1/check-gen.c +++ b/lib/asn1/check-gen.c @@ -604,8 +604,6 @@ test_choice (void) return ret; } -#ifdef IMPLICIT_TAGGING_WORKS - static int cmp_TESTImplicit (void *a, void *b) { @@ -614,7 +612,7 @@ cmp_TESTImplicit (void *a, void *b) COMPARE_INTEGER(aa,ab,ti1); COMPARE_INTEGER(aa,ab,ti2.foo); - + COMPARE_INTEGER(aa,ab,ti3); return 0; } @@ -641,19 +639,29 @@ test_implicit (void) TESTImplicit c0; memset(&c0, 0, sizeof(c0)); - c0.ti1 = 1; + c0.ti1 = 0; c0.ti2.foo = 2; c0.ti3 = 3; tests[0].val = &c0; - return generic_test (tests, ntests, sizeof(TESTImplicit), + ret += generic_test (tests, ntests, sizeof(TESTImplicit), (generic_encode)encode_TESTImplicit, (generic_length)length_TESTImplicit, (generic_decode)decode_TESTImplicit, (generic_free)free_TESTImplicit, cmp_TESTImplicit); -} + +#ifdef IMPLICIT_TAGGING_WORKS + ret += generic_test (tests, ntests, sizeof(TESTImplicit2), + (generic_encode)encode_TESTImplicit2, + (generic_length)length_TESTImplicit2, + (generic_decode)decode_TESTImplicit2, + (generic_free)free_TESTImplicit2, + cmp_TESTImplicit); + #endif /* IMPLICIT_TAGGING_WORKS */ + return ret; +} static int check_fail_largetag(void) diff --git a/lib/asn1/test.asn1 b/lib/asn1/test.asn1 index 752c593a9..1a3110294 100644 --- a/lib/asn1/test.asn1 +++ b/lib/asn1/test.asn1 @@ -32,6 +32,14 @@ TESTInteger2 ::= [4] IMPLICIT TESTInteger TESTInteger3 ::= [5] IMPLICIT TESTInteger2 TESTImplicit ::= SEQUENCE { + ti1[0] IMPLICIT INTEGER (-2147483648..2147483647), + ti2[1] IMPLICIT SEQUENCE { + foo[127] INTEGER (-2147483648..2147483647) + }, + ti3[2] IMPLICIT [5] IMPLICIT [4] IMPLICIT INTEGER (-2147483648..2147483647) +} + +TESTImplicit2 ::= SEQUENCE { ti1[0] IMPLICIT TESTInteger, ti2[1] IMPLICIT TESTLargeTag, ti3[2] IMPLICIT TESTInteger3