diff --git a/asn1c/tests/Makefile.am b/asn1c/tests/Makefile.am index 24d0a38f98e4585063e0ef938de27b3f9c6b6c80..979161396b93064d1f7d940b2419ffa48e4cd0dc 100644 --- a/asn1c/tests/Makefile.am +++ b/asn1c/tests/Makefile.am @@ -11,7 +11,12 @@ else TESTS = check-*.c endif -EXTRA_DIST = $(check_SCRIPTS) check-*.c* +EXTRA_DIST = $(check_SCRIPTS) check-*.c* data-*/*.* clean: - for t in test-*; do rm -rf $$t; done + rm -rf test-* + +SUFFIXES = .xbr .ber + +.xbr.ber: + ../enber $< > $@ diff --git a/asn1c/tests/Makefile.in b/asn1c/tests/Makefile.in index e4b6b3b110cdcaa49ade88175d73aab331d0335e..00336bf2e8dd6442a244008e68169ebc7ebbbdab 100644 --- a/asn1c/tests/Makefile.in +++ b/asn1c/tests/Makefile.in @@ -160,10 +160,12 @@ check_SCRIPTS = check-assembly.sh TESTS_ENVIRONMENT = CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" ./check-assembly.sh @CPLUSPLUS_FOUND_FALSE@TESTS = check-*.c @CPLUSPLUS_FOUND_TRUE@TESTS = check-*.c check-*.cc ## Include C++ test filed (.cc) -EXTRA_DIST = $(check_SCRIPTS) check-*.c* +EXTRA_DIST = $(check_SCRIPTS) check-*.c* data-*/*.* +SUFFIXES = .xbr .ber all: all-am .SUFFIXES: +.SUFFIXES: .xbr .ber $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -284,6 +286,7 @@ check-TESTS: $(TESTS) else :; fi distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/data-* @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; for file in $$list; do \ @@ -396,7 +399,10 @@ uninstall-am: uninstall-info-am clean: - for t in test-*; do rm -rf $$t; done + rm -rf test-* + +.xbr.ber: + ../enber $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/asn1c/tests/check-62.c b/asn1c/tests/check-62.c new file mode 100644 index 0000000000000000000000000000000000000000..06287a8a49f4ce6e6cf7cac413e0bb02a7fdc841 --- /dev/null +++ b/asn1c/tests/check-62.c @@ -0,0 +1,193 @@ +#undef NDEBUG +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <unistd.h> /* for chdir(2) */ +#include <string.h> +#include <dirent.h> +#include <assert.h> +#include <errno.h> + +#include <T.h> + +enum expectation { + EXP_OK, /* Encoding/decoding must succeed */ + EXP_BROKEN, /* Decoding must fail */ + EXP_RECLESS, /* Reconstruction is allowed to yield less data */ +}; + +static unsigned char buf[4096]; +static int buf_offset; + +static int +_buf_writer(const void *buffer, size_t size, void *app_key) { + unsigned char *b, *bend; + (void)app_key; + assert(buf_offset + size < sizeof(buf)); + memcpy(buf + buf_offset, buffer, size); + b = buf + buf_offset; + bend = b + size; + printf("=> ["); + for(; b < bend; b++) + printf(" %02X", *b); + printf("]:%ld\n", (long)size); + buf_offset += size; + return 0; +} + +static int +save_object(T_t *st) { + asn_enc_rval_t rval; /* Return value */ + + buf_offset = 0; + + rval = der_encode(&asn1_DEF_T, st, _buf_writer, 0); + if (rval.encoded == -1) { + fprintf(stderr, + "Cannot encode %s: %s\n", + rval.failed_type->name, strerror(errno)); + assert(rval.encoded != -1); + return -1; /* JIC */ + } + + fprintf(stderr, "SAVED OBJECT IN SIZE %d\n", buf_offset); + + return 0; +} + +static T_t * +load_object(enum expectation expectation, char *fbuf, int size) { + ber_dec_rval_t rval; + T_t *st = 0; + int csize; + + fprintf(stderr, "LOADING OBJECT OF SIZE %d\n", size); + + /* Perform multiple iterations with multiple chunks sizes */ + for(csize = 1; csize < 20; csize += 1) { + int fbuf_offset = 0; + int fbuf_left = size; + int fbuf_chunk = csize; + + if(st) asn1_DEF_T.free_struct(&asn1_DEF_T, st, 0); + st = 0; + + do { + fprintf(stderr, "Decoding from %d with %d (left %d)\n", + fbuf_offset, fbuf_chunk, fbuf_left); + rval = ber_decode(&asn1_DEF_T, (void **)&st, + fbuf + fbuf_offset, + fbuf_chunk < fbuf_left + ? fbuf_chunk : fbuf_left); + fbuf_offset += rval.consumed; + fbuf_left -= rval.consumed; + if(rval.code == RC_WMORE) + fbuf_chunk += 1; /* Give little more */ + else + fbuf_chunk = csize; /* Back off */ + } while(fbuf_left && rval.code == RC_WMORE); + + if(expectation != EXP_BROKEN) { + assert(rval.code == RC_OK); + } else { + assert(rval.code != RC_OK); + fprintf(stderr, "Failed, but this was expected\n"); + asn1_DEF_T.free_struct(&asn1_DEF_T, st, 0); + st = 0; /* ignore leak for now */ + } + } + + if(st) asn_fprint(stderr, &asn1_DEF_T, st); + return st; +} + + +static void +process_data(enum expectation expectation, char *fbuf, int size) { + T_t *st; + int ret; + + st = load_object(expectation, fbuf, size); + if(!st) return; + + ret = save_object(st); + assert(buf_offset < sizeof(buf)); + assert(ret == 0); + + if(expectation == EXP_RECLESS) { + assert(buf_offset > 0 && buf_offset < size); + assert(memcmp(buf + 2, fbuf + 2, buf_offset - 2) == 0); + } else { + assert(buf_offset == size); + assert(memcmp(buf, fbuf, buf_offset) == 0); + } + + asn1_DEF_T.free_struct(&asn1_DEF_T, st, 0); +} + +/* + * Decode the .der files and try to regenerate them. + */ +static int +process(const char *fname) { + char fbuf[4096]; + char *ext = strrchr(fname, '.'); + enum expectation expectation; + int ret; + int rd; + FILE *fp; + + if(ext == 0 || strcmp(ext, ".ber")) + return 0; + + switch(ext[-1]) { + case 'B': /* The file is intentionally broken */ + expectation = EXP_BROKEN; break; + case 'L': /* Extensions are present */ + expectation = EXP_RECLESS; break; + default: + expectation = EXP_OK; break; + } + + fprintf(stderr, "\nProcessing file [../%s]\n", fname); + + ret = chdir("../data-62"); + assert(ret == 0); + fp = fopen(fname, "r"); + ret = chdir("../test-check-62"); + assert(ret == 0); + assert(fp); + + rd = fread(fbuf, 1, sizeof(fbuf), fp); + fclose(fp); + + assert(rd < sizeof(fbuf)); /* expect small files */ + + process_data(expectation, fbuf, rd); + + return 1; +} + +int +main() { + DIR *dir; + struct dirent *dent; + int processed_files = 0; + + dir = opendir("../data-62"); + assert(dir); + + while((dent = readdir(dir))) { + if(strncmp(dent->d_name, "data-62-", 8)) + continue; + + if(process(dent->d_name)) + processed_files++; + } + + assert(processed_files); + closedir(dir); + + return 0; +} + diff --git a/asn1c/tests/data-62/data-62-01.ber b/asn1c/tests/data-62/data-62-01.ber new file mode 100644 index 0000000000000000000000000000000000000000..9d0cd7d589da08f92f33158de862dbeef6f782f6 --- /dev/null +++ b/asn1c/tests/data-62/data-62-01.ber @@ -0,0 +1 @@ +0¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-01.xbr b/asn1c/tests/data-62/data-62-01.xbr new file mode 100644 index 0000000000000000000000000000000000000000..18f3e1087eee3025842a11023fef2dd52b61aa69 --- /dev/null +++ b/asn1c/tests/data-62/data-62-01.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="11"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-02-B.ber b/asn1c/tests/data-62/data-62-02-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..288fa2f612f3fb27904d0ac6e5d979499363c19d --- /dev/null +++ b/asn1c/tests/data-62/data-62-02-B.ber @@ -0,0 +1,2 @@ +0 +¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-02-B.xbr b/asn1c/tests/data-62/data-62-02-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..3d4afbf36f51ebe285cbd30e5351849684c1f738 --- /dev/null +++ b/asn1c/tests/data-62/data-62-02-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="10"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-03-B.ber b/asn1c/tests/data-62/data-62-03-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..35271bcbc0aa5379de22fde2f57a43f463a59eca --- /dev/null +++ b/asn1c/tests/data-62/data-62-03-B.ber @@ -0,0 +1 @@ +0 ¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-03-B.xbr b/asn1c/tests/data-62/data-62-03-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..50930a62ad49f524cf3ee16d7e61d29f13ab26a0 --- /dev/null +++ b/asn1c/tests/data-62/data-62-03-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="9"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-04-B.ber b/asn1c/tests/data-62/data-62-04-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..c65a578cb3189683941b8a24ef50e79db8ed5337 --- /dev/null +++ b/asn1c/tests/data-62/data-62-04-B.ber @@ -0,0 +1 @@ +0¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-04-B.xbr b/asn1c/tests/data-62/data-62-04-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..f5b78c30df93d32d91c441c90c566646cd7249ae --- /dev/null +++ b/asn1c/tests/data-62/data-62-04-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="8"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-05-B.ber b/asn1c/tests/data-62/data-62-05-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..ff65b20234f750d3414543dc466e3e6e74ab3fe9 --- /dev/null +++ b/asn1c/tests/data-62/data-62-05-B.ber @@ -0,0 +1 @@ +0¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-05-B.xbr b/asn1c/tests/data-62/data-62-05-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..dd075fc9605144efecbb68d9033f2ebf62bdd60d --- /dev/null +++ b/asn1c/tests/data-62/data-62-05-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="7"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-06-B.ber b/asn1c/tests/data-62/data-62-06-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..530d54b2d143628961912bdca4f35b5567ee808e --- /dev/null +++ b/asn1c/tests/data-62/data-62-06-B.ber @@ -0,0 +1 @@ +0¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-06-B.xbr b/asn1c/tests/data-62/data-62-06-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..e5bdfd8bfc932775aab80fcbd54dfa552cd383e6 --- /dev/null +++ b/asn1c/tests/data-62/data-62-06-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="6"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-07-B.ber b/asn1c/tests/data-62/data-62-07-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..286ca58b752bb986b5c95156b64218c76c965493 --- /dev/null +++ b/asn1c/tests/data-62/data-62-07-B.ber @@ -0,0 +1 @@ +0¡test \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-07-B.xbr b/asn1c/tests/data-62/data-62-07-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..9680309209fa9c1ec13b8d32e36875141cabe8bc --- /dev/null +++ b/asn1c/tests/data-62/data-62-07-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="12"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-08-L.ber b/asn1c/tests/data-62/data-62-08-L.ber new file mode 100644 index 0000000000000000000000000000000000000000..d127e0882d89aaac98aa70965cf46e286d7b763f Binary files /dev/null and b/asn1c/tests/data-62/data-62-08-L.ber differ diff --git a/asn1c/tests/data-62/data-62-08-L.xbr b/asn1c/tests/data-62/data-62-08-L.xbr new file mode 100644 index 0000000000000000000000000000000000000000..8afad43a01591a5044de474ad7476a585cca9328 --- /dev/null +++ b/asn1c/tests/data-62/data-62-08-L.xbr @@ -0,0 +1,7 @@ +<C T="[UNIVERSAL 16]" TL="2" V="13"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> + <P T="[UNIVERSAL 5]" TL="2" V="0"></P> -- extra component +</C> diff --git a/asn1c/tests/data-62/data-62-09-L.ber b/asn1c/tests/data-62/data-62-09-L.ber new file mode 100644 index 0000000000000000000000000000000000000000..b7856ca024e1c3f1b2048af260626b641234f5df Binary files /dev/null and b/asn1c/tests/data-62/data-62-09-L.ber differ diff --git a/asn1c/tests/data-62/data-62-09-L.xbr b/asn1c/tests/data-62/data-62-09-L.xbr new file mode 100644 index 0000000000000000000000000000000000000000..e24ba2cd82ddefd15657503318128857c8b0e796 --- /dev/null +++ b/asn1c/tests/data-62/data-62-09-L.xbr @@ -0,0 +1,8 @@ +<C T="[UNIVERSAL 16]" TL="2" V="16"> + <P T="[UNIVERSAL 2]" TL="2" V="1">&x05;</P> + <C T="[1]" TL="2" V="6"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </C> + <P T="[UNIVERSAL 5]" TL="2" V="0"></P> -- extra component + <P T="[UNIVERSAL 1]" TL="2" V="1">&xff;</P> -- another extra component +</C> diff --git a/asn1c/tests/data-62/data-62-10.ber b/asn1c/tests/data-62/data-62-10.ber new file mode 100644 index 0000000000000000000000000000000000000000..0772c45986479f98ad39844e63a4998014840e04 Binary files /dev/null and b/asn1c/tests/data-62/data-62-10.ber differ diff --git a/asn1c/tests/data-62/data-62-10.xbr b/asn1c/tests/data-62/data-62-10.xbr new file mode 100644 index 0000000000000000000000000000000000000000..7dd86f020c68f3839813949554a2612195d1bb94 --- /dev/null +++ b/asn1c/tests/data-62/data-62-10.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="7"> + <C T="[1]" TL="2" V="5"> + <I T="[APPLICATION 123]" TL="3" V="Indefinite"> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-11.ber b/asn1c/tests/data-62/data-62-11.ber new file mode 100644 index 0000000000000000000000000000000000000000..8eeb0d883e62bed9aa49b5380c02b9dc8b1a9c4d Binary files /dev/null and b/asn1c/tests/data-62/data-62-11.ber differ diff --git a/asn1c/tests/data-62/data-62-11.xbr b/asn1c/tests/data-62/data-62-11.xbr new file mode 100644 index 0000000000000000000000000000000000000000..1ce0695acc6d4cb8693231c7c85d745d6f189965 --- /dev/null +++ b/asn1c/tests/data-62/data-62-11.xbr @@ -0,0 +1,8 @@ +<C T="[UNIVERSAL 16]" TL="2" V="10"> + <C T="[1]" TL="2" V="8"> + <I T="[1]" TL="2"> + </I> + <I T="[1]" TL="2"> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-12-B.ber b/asn1c/tests/data-62/data-62-12-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..2ea1bdcc83973b84420429298e8c5c486ea37e42 --- /dev/null +++ b/asn1c/tests/data-62/data-62-12-B.ber @@ -0,0 +1 @@ +0¡¡€ \ No newline at end of file diff --git a/asn1c/tests/data-62/data-62-12-B.xbr b/asn1c/tests/data-62/data-62-12-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..b3a370c96f9f1ec4833963cde9723c949c2e99e3 --- /dev/null +++ b/asn1c/tests/data-62/data-62-12-B.xbr @@ -0,0 +1,6 @@ +<C T="[UNIVERSAL 16]" TL="2" V="6"> + <C T="[1]" TL="2" V="2"> + <I T="[1]" TL="2"> + -- Do not terminate: no end-of-content octets is intended + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-13-B.ber b/asn1c/tests/data-62/data-62-13-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..47dc2ac027d2b410ccf4c6eb1c67ef8d067f51ff Binary files /dev/null and b/asn1c/tests/data-62/data-62-13-B.ber differ diff --git a/asn1c/tests/data-62/data-62-13-B.xbr b/asn1c/tests/data-62/data-62-13-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..4ee30022309fa1f3a6630389743a0791d9d5490c --- /dev/null +++ b/asn1c/tests/data-62/data-62-13-B.xbr @@ -0,0 +1,8 @@ +<C T="[UNIVERSAL 16]" TL="2" V="8"> + <C T="[1]" TL="2" V="6"> + <I T="[PRIVATE 1]" TL="2"> + </I> + <I T="[PRIVATE 2]" TL="2"> + -- Do not terminate: no end-of-content octets is intended. + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-14.ber b/asn1c/tests/data-62/data-62-14.ber new file mode 100644 index 0000000000000000000000000000000000000000..c048f282f50d7255afa45e9b9767513f7eabe5bc Binary files /dev/null and b/asn1c/tests/data-62/data-62-14.ber differ diff --git a/asn1c/tests/data-62/data-62-14.xbr b/asn1c/tests/data-62/data-62-14.xbr new file mode 100644 index 0000000000000000000000000000000000000000..0c7da7c66b34279288501284dc89311adf4fdc6e --- /dev/null +++ b/asn1c/tests/data-62/data-62-14.xbr @@ -0,0 +1,10 @@ +<C T="[UNIVERSAL 16]" TL="2" V="14"> + <C T="[1]" TL="2" V="12"> + <I T="[PRIVATE 1]" TL="2"> + <I T="[PRIVATE 2]" TL="2"> + </I> + <I T="[PRIVATE 3]" TL="2"> + </I> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-15-B.ber b/asn1c/tests/data-62/data-62-15-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..f87367fd5203b151630ea52fbaa6a4fc89b11bab Binary files /dev/null and b/asn1c/tests/data-62/data-62-15-B.ber differ diff --git a/asn1c/tests/data-62/data-62-15-B.xbr b/asn1c/tests/data-62/data-62-15-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..c57f270c3fb48f0e10d74891f23cbf41c8f2c8f8 --- /dev/null +++ b/asn1c/tests/data-62/data-62-15-B.xbr @@ -0,0 +1,10 @@ +<C T="[UNIVERSAL 16]" TL="2" V="12"> + <C T="[1]" TL="2" V="10"> + <I T="[PRIVATE 1]" TL="2"> + <I T="[PRIVATE 2]" TL="2"> + </I> + <I T="[PRIVATE 3]" TL="2"> + -- missing EOC + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-16.ber b/asn1c/tests/data-62/data-62-16.ber new file mode 100644 index 0000000000000000000000000000000000000000..799e1e7323f56a54a168bbdc3c4c83b357578b5a Binary files /dev/null and b/asn1c/tests/data-62/data-62-16.ber differ diff --git a/asn1c/tests/data-62/data-62-16.xbr b/asn1c/tests/data-62/data-62-16.xbr new file mode 100644 index 0000000000000000000000000000000000000000..600a6c11b9e188757d666024fc290ec0edf83a44 --- /dev/null +++ b/asn1c/tests/data-62/data-62-16.xbr @@ -0,0 +1,7 @@ +<C T="[UNIVERSAL 16]" TL="2" V="12"> + <C T="[1]" TL="2" V="10"> + <I T="[PRIVATE 1]" TL="2"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-17-B.ber b/asn1c/tests/data-62/data-62-17-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..5d98f99696749641627ee67e7a2b4aa562e48052 Binary files /dev/null and b/asn1c/tests/data-62/data-62-17-B.ber differ diff --git a/asn1c/tests/data-62/data-62-17-B.xbr b/asn1c/tests/data-62/data-62-17-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..4e49f2b14f1a53fac3a8ec1c92adaa7d44f9a3ef --- /dev/null +++ b/asn1c/tests/data-62/data-62-17-B.xbr @@ -0,0 +1,7 @@ +<C T="[UNIVERSAL 16]" TL="2" V="12"> + <C T="[1]" TL="2" V="10"> + <I T="[PRIVATE 1]" TL="2"> + <P T="[UNIVERSAL 19]" TL="2" V="5">test2</P> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-18-B.ber b/asn1c/tests/data-62/data-62-18-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..8200bcaf8ec907902dc026040a4f41308337f14c Binary files /dev/null and b/asn1c/tests/data-62/data-62-18-B.ber differ diff --git a/asn1c/tests/data-62/data-62-18-B.xbr b/asn1c/tests/data-62/data-62-18-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..21778660729bc82ce6bc8884c37b5166f50e0588 --- /dev/null +++ b/asn1c/tests/data-62/data-62-18-B.xbr @@ -0,0 +1,7 @@ +<C T="[UNIVERSAL 16]" TL="2" V="13"> + <C T="[1]" TL="2" V="11"> + <I T="[PRIVATE 1]" TL="2"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-19-B.ber b/asn1c/tests/data-62/data-62-19-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..1e2641b3ed3666bea14d132f6cc36d0d9d77c770 Binary files /dev/null and b/asn1c/tests/data-62/data-62-19-B.ber differ diff --git a/asn1c/tests/data-62/data-62-19-B.xbr b/asn1c/tests/data-62/data-62-19-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..5e424cc45230d6ad67205b5183edb5bbdfec2c27 --- /dev/null +++ b/asn1c/tests/data-62/data-62-19-B.xbr @@ -0,0 +1,7 @@ +<C T="[UNIVERSAL 16]" TL="2" V="12"> + <C T="[1]" TL="2" V="11"> + <I T="[PRIVATE 1]" TL="2"> + <P T="[UNIVERSAL 19]" TL="2" V="4">test</P> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-20.ber b/asn1c/tests/data-62/data-62-20.ber new file mode 100644 index 0000000000000000000000000000000000000000..ea13838a4f51e6e4c1bd6c93e9fc046ffb00bf9b Binary files /dev/null and b/asn1c/tests/data-62/data-62-20.ber differ diff --git a/asn1c/tests/data-62/data-62-20.xbr b/asn1c/tests/data-62/data-62-20.xbr new file mode 100644 index 0000000000000000000000000000000000000000..178fa6609132cdb4ec33a12f6365ee0476409354 --- /dev/null +++ b/asn1c/tests/data-62/data-62-20.xbr @@ -0,0 +1,8 @@ +<C T="[UNIVERSAL 16]" TL="2" V="9"> + <C T="[1]" TL="2" V="7"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="0"> + </C> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-21-B.ber b/asn1c/tests/data-62/data-62-21-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..d109b4f23e9f0bff1d2a7e4132f0672a6ab32b57 Binary files /dev/null and b/asn1c/tests/data-62/data-62-21-B.ber differ diff --git a/asn1c/tests/data-62/data-62-21-B.xbr b/asn1c/tests/data-62/data-62-21-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..7aeac97d7f9d089acf28beb02116606b44d342dc --- /dev/null +++ b/asn1c/tests/data-62/data-62-21-B.xbr @@ -0,0 +1,11 @@ +<C T="[UNIVERSAL 16]" TL="2" V="9"> + <C T="[1]" TL="2" V="7"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="0"> + <C T="[23]" TL="2" V="0"> + <P T="[UNIVERSAL 5]" TL="2" V="0"></P> + </C> + </C> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-22.ber b/asn1c/tests/data-62/data-62-22.ber new file mode 100644 index 0000000000000000000000000000000000000000..93111e9f4528787ae78c17a8948f418bb760eda3 Binary files /dev/null and b/asn1c/tests/data-62/data-62-22.ber differ diff --git a/asn1c/tests/data-62/data-62-22.xbr b/asn1c/tests/data-62/data-62-22.xbr new file mode 100644 index 0000000000000000000000000000000000000000..ca220a739329ad2b2111646e17432f72009f0806 --- /dev/null +++ b/asn1c/tests/data-62/data-62-22.xbr @@ -0,0 +1,11 @@ +<C T="[UNIVERSAL 16]" TL="2" V="13"> + <C T="[1]" TL="2" V="11"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="4"> + <C T="[23]" TL="2" V="2"> + <P T="[UNIVERSAL 5]" TL="2" V="0"></P> + </C> + </C> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-23-B.ber b/asn1c/tests/data-62/data-62-23-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..a1f5af9b8bed55a1ec496e1662b807fd6ff39902 Binary files /dev/null and b/asn1c/tests/data-62/data-62-23-B.ber differ diff --git a/asn1c/tests/data-62/data-62-23-B.xbr b/asn1c/tests/data-62/data-62-23-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..7a2777ed282c164d78f92d88c19f1ff0ddfc375a --- /dev/null +++ b/asn1c/tests/data-62/data-62-23-B.xbr @@ -0,0 +1,11 @@ +<C T="[UNIVERSAL 16]" TL="2" V="13"> + <C T="[1]" TL="2" V="11"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="5"> + <C T="[23]" TL="2" V="2"> + <P T="[UNIVERSAL 5]" TL="2" V="0"></P> + </C> + </C> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-24-L.ber b/asn1c/tests/data-62/data-62-24-L.ber new file mode 100644 index 0000000000000000000000000000000000000000..d88d78b4a21b31086cf36ed94671935d11f5a925 Binary files /dev/null and b/asn1c/tests/data-62/data-62-24-L.ber differ diff --git a/asn1c/tests/data-62/data-62-24-L.xbr b/asn1c/tests/data-62/data-62-24-L.xbr new file mode 100644 index 0000000000000000000000000000000000000000..9974a67eec1c151d3b75163d22c070fd37c77bc8 --- /dev/null +++ b/asn1c/tests/data-62/data-62-24-L.xbr @@ -0,0 +1,12 @@ +<I T="[UNIVERSAL 16]" TL="2" V="Indefinite"> + <C T="[1]" TL="2" V="14"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="5"> + <C T="[23]" TL="2" V="3"> + <P T="[UNIVERSAL 19]" TL="2" V="1">z</P> + </C> + </C> + </I> + <P T="[UNIVERSAL 0]" TL="2" V="0"></P> + </C> +</I> diff --git a/asn1c/tests/data-62/data-62-25.ber b/asn1c/tests/data-62/data-62-25.ber new file mode 100644 index 0000000000000000000000000000000000000000..931978ba483cd274faa4f997a6fafbbbf14d5d62 Binary files /dev/null and b/asn1c/tests/data-62/data-62-25.ber differ diff --git a/asn1c/tests/data-62/data-62-25.xbr b/asn1c/tests/data-62/data-62-25.xbr new file mode 100644 index 0000000000000000000000000000000000000000..d62e45677d250dbf7c81ae0a16aaa92049a25231 --- /dev/null +++ b/asn1c/tests/data-62/data-62-25.xbr @@ -0,0 +1,11 @@ +<C T="[UNIVERSAL 16]" TL="2" V="14"> + <C T="[1]" TL="2" V="12"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="5"> + <C T="[23]" TL="2" V="3"> + <P T="[UNIVERSAL 19]" TL="2" V="1">z</P> + </C> + </C> + </I> + </C> +</C> diff --git a/asn1c/tests/data-62/data-62-26-B.ber b/asn1c/tests/data-62/data-62-26-B.ber new file mode 100644 index 0000000000000000000000000000000000000000..ef7d10632c6296380d40e17c6e18855685d04270 Binary files /dev/null and b/asn1c/tests/data-62/data-62-26-B.ber differ diff --git a/asn1c/tests/data-62/data-62-26-B.xbr b/asn1c/tests/data-62/data-62-26-B.xbr new file mode 100644 index 0000000000000000000000000000000000000000..13c0aa29ad3a86f7d071dcb49e48e9126bb33d7a --- /dev/null +++ b/asn1c/tests/data-62/data-62-26-B.xbr @@ -0,0 +1,11 @@ +<I T="[UNIVERSAL 16]" TL="2" V="Indefinite"> + <C T="[1]" TL="2" V="14"> + <I T="[PRIVATE 1]" TL="2"> + <C T="[123]" TL="3" V="5"> + <C T="[23]" TL="2" V="3"> + <P T="[UNIVERSAL 19]" TL="2" V="1">z</P> + </C> + </C> + </I> + </C> +</I> diff --git a/asn1c/tests/data-62/data-62-27.ber b/asn1c/tests/data-62/data-62-27.ber new file mode 100644 index 0000000000000000000000000000000000000000..7cb619dcd6355c15108a6558777e518d7f852896 Binary files /dev/null and b/asn1c/tests/data-62/data-62-27.ber differ diff --git a/asn1c/tests/data-62/data-62-27.xbr b/asn1c/tests/data-62/data-62-27.xbr new file mode 100644 index 0000000000000000000000000000000000000000..2fb64227dee0e9364112a8208b5725553144c06e --- /dev/null +++ b/asn1c/tests/data-62/data-62-27.xbr @@ -0,0 +1,4 @@ +<C T="[UNIVERSAL 16]" TL="2" V="2"> + <C T="[1]" TL="2" V="0"> + </C> +</C>