diff --git a/examples/sample.source.1609.2/Makefile b/examples/sample.source.1609.2/Makefile index a66c1c66..c335ec9c 100644 --- a/examples/sample.source.1609.2/Makefile +++ b/examples/sample.source.1609.2/Makefile @@ -208,6 +208,9 @@ ASN_MODULE_HEADERS= \ SubjectPermissions.h \ VerificationKeyIndicator.h +ASN_MODULE_HEADERS+=OPEN_TYPE.h +ASN_MODULE_SOURCES+=OPEN_TYPE.c +ASN_MODULE_HEADERS+=constr_CHOICE.h ASN_MODULE_HEADERS+=UTF8String.h ASN_MODULE_HEADERS+=BOOLEAN.h ASN_MODULE_SOURCES+=BOOLEAN.c @@ -224,7 +227,6 @@ ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c ASN_MODULE_HEADERS+=asn_SET_OF.h ASN_MODULE_SOURCES+=asn_SET_OF.c -ASN_MODULE_HEADERS+=constr_CHOICE.h ASN_MODULE_SOURCES+=constr_CHOICE.c ASN_MODULE_HEADERS+=constr_SEQUENCE.h ASN_MODULE_SOURCES+=constr_SEQUENCE.c @@ -233,9 +235,12 @@ ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c ASN_MODULE_HEADERS+=constr_SET_OF.h ASN_MODULE_SOURCES+=constr_SET_OF.c ASN_MODULE_HEADERS+=asn_application.h +ASN_MODULE_HEADERS+=asn_ioc.h ASN_MODULE_HEADERS+=asn_system.h ASN_MODULE_HEADERS+=asn_codecs.h ASN_MODULE_HEADERS+=asn_internal.h +ASN_MODULE_HEADERS+=asn_bit_data.h +ASN_MODULE_SOURCES+=asn_bit_data.c ASN_MODULE_HEADERS+=OCTET_STRING.h ASN_MODULE_SOURCES+=OCTET_STRING.c ASN_MODULE_HEADERS+=BIT_STRING.h @@ -260,12 +265,6 @@ ASN_MODULE_HEADERS+=xer_decoder.h ASN_MODULE_SOURCES+=xer_decoder.c ASN_MODULE_HEADERS+=xer_encoder.h ASN_MODULE_SOURCES+=xer_encoder.c -ASN_MODULE_HEADERS+=oer_decoder.h -ASN_MODULE_SOURCES+=oer_decoder.c -ASN_MODULE_HEADERS+=oer_encoder.h -ASN_MODULE_SOURCES+=oer_encoder.c -ASN_MODULE_HEADERS+=oer_support.h -ASN_MODULE_SOURCES+=oer_support.c ASN_MODULE_HEADERS+=per_support.h ASN_MODULE_SOURCES+=per_support.c ASN_MODULE_HEADERS+=per_decoder.h @@ -275,10 +274,19 @@ ASN_MODULE_SOURCES+=per_encoder.c ASN_MODULE_HEADERS+=per_opentype.h ASN_MODULE_SOURCES+=per_opentype.c ASN_CONVERTER_SOURCES+=converter-sample.c +ASN_MODULE_HEADERS+=oer_decoder.h +ASN_MODULE_SOURCES+=oer_decoder.c +ASN_MODULE_HEADERS+=oer_encoder.h +ASN_MODULE_SOURCES+=oer_encoder.c +ASN_MODULE_HEADERS+=oer_support.h +ASN_MODULE_SOURCES+=oer_support.c +ASN_MODULE_SOURCES+=OPEN_TYPE_oer.c ASN_MODULE_SOURCES+=INTEGER_oer.c ASN_MODULE_SOURCES+=OCTET_STRING_oer.c ASN_MODULE_SOURCES+=NativeInteger_oer.c +ASN_MODULE_SOURCES+=NativeEnumerated_oer.c ASN_MODULE_SOURCES+=constr_SEQUENCE_oer.c +ASN_MODULE_SOURCES+=constr_CHOICE_oer.c ASN_CONVERTER_SOURCES+=pdu_collection.c @@ -326,70 +334,88 @@ regen-makefile: CPPFLAGS="" \ ../sample.makefile.regen -check: ${TARGET} check-ber check-xer check-per +check: ${TARGET} check-ber check-xer check-oer check-per @echo ================ @echo All tests passed @echo ================ check-ber: @if test -f sample-Certificate-1.[db]er ; then \ - for f in sample-Certificate-*.[db]er; do \ + for f in sample-*-*.[db]er; do \ + pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \ for b in 1 17 33 980 8192; do \ - echo "Recoding $$f into XER and back ($$b)..."; \ - ./${TARGET} -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${TARGET} -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ + echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ + ./${TARGET} -p $$pdu -b $$b -iber -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ + ./${TARGET} -p $$pdu -b $$b -ixer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ rm -f ./.tmp.[12].$$$$; \ echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -iber -onull $$f || exit 5; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -iber -onull $$f || exit 6; \ + ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 5; \ + ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iber -onull $$f || exit 6; \ done; done; fi check-xer: @if test -f sample-Certificate-1.xer ; then \ - for f in sample-Certificate-*.xer; do \ + for f in sample-*-*.xer; do \ + pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \ for b in 1 17 33 980 8192; do \ - echo "Recoding $$f into DER and back ($$b)..."; \ - ./${TARGET} -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ + echo "Recoding $$f ($$pdu) into DER and back ($$b)..."; \ + ./${TARGET} -p $$pdu -b $$b -ixer -oder $$f > ./.tmp.1.$$$$ || exit 2; \ + ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ diff $$f ./.tmp.2.$$$$ || exit 4; \ rm -f ./.tmp.[12].$$$$; \ echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -ixer -onull $$f || exit 5; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -ixer -onull $$f || exit 6; \ + ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 5; \ + ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ixer -onull $$f || exit 6; \ + done; done; fi + +check-oer: + @if test -f sample-Certificate-1.*oer ; then \ + for f in sample-*-*.{c,}oer; do \ + pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \ + for b in 1 17 33 980 8192; do \ + echo "Recoding $$f ($$pdu) into XER and back ($$b)..."; \ + ./${TARGET} -p $$pdu -b $$b -ioer -oxer $$f > ./.tmp.1.$$$$ || exit 2; \ + ./${TARGET} -p $$pdu -b $$b -ioer -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ + diff ./.tmp.1.$$$$ ./.tmp.2.$$$$ || exit 4; \ + rm -f ./.tmp.[12].$$$$; \ + echo "Test junking $$f (please wait)..."; \ + ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 5; \ + ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -ioer -onull $$f || exit 6; \ done; done; fi check-per: @if test -f sample-Certificate-1-nopad.per ; then \ - for f in sample-Certificate-[1-9]-nopad.per; do \ + for f in sample-*-[1-9]-nopad.per; do \ + pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \ for b in 1 17 33 980 8192; do \ - echo "Recoding non-padded $$f into DER into XER and back ($$b)..."; \ - ./${TARGET} -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ - ./${TARGET} -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ - ./${TARGET} -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ + echo "Recoding non-padded $$f ($$pdu) into DER into XER and back ($$b)..."; \ + ./${TARGET} -p $$pdu -b $$b -per-nopad -iper -oder $$f > ./.tmp.1.$$$$ || exit 2; \ + ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 3; \ + ./${TARGET} -p $$pdu -b $$b -ixer -oder ./.tmp.2.$$$$ > ./.tmp.3.$$$$ || exit 4; \ diff ./.tmp.1.$$$$ ./.tmp.3.$$$$ || exit 5; \ rm -f ./.tmp.[123].$$$$; \ echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 6; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -per-nopad -iper -onull $$f || exit 7; \ + ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 6; \ + ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -per-nopad -iper -onull $$f || exit 7; \ done; done; fi @if test -f sample-Certificate-1.per ; then \ for f in sample-*-[1-9].per; do \ pdu=`echo $$f | sed -E -e "s/sample-([A-Za-z-]+)-[0-9].*/\1/"`; \ for b in 1 17 33 980 8192; do \ - echo "Recoding $$f into DER into XER and back ($$b)..."; \ - ./${TARGET} -b $$b -p $$pdu -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ - ./${TARGET} -b $$b -p $$pdu -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ - ./${TARGET} -b $$b -p $$pdu -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ + echo "Recoding $$f ($$pdu) into DER into XER and back ($$b)..."; \ + ./${TARGET} -p $$pdu -b $$b -iper -oder $$f > ./.tmp.1.$$$$ || exit 3; \ + ./${TARGET} -p $$pdu -b $$b -iber -oxer ./.tmp.1.$$$$ > ./.tmp.2.$$$$ || exit 4; \ + ./${TARGET} -p $$pdu -b $$b -ixer -oper ./.tmp.2.$$$$ > ./.tmp.1.$$$$ || exit 5; \ diff $$f ./.tmp.1.$$$$ || exit 6; \ rm -f ./.tmp.[12].$$$$; \ echo "Test junking $$f (please wait)..."; \ - ./${TARGET} -J0.0001 -n 1000 -b $$b -iper -onull $$f || exit 7; \ - ./${TARGET} -J0.001 -n 1000 -b $$b -iper -onull $$f || exit 8; \ + ./${TARGET} -J0.0001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 7; \ + ./${TARGET} -J0.001 -n 1000 -p $$pdu -b $$b -iper -onull $$f || exit 8; \ done; done; fi maybe-wip-pause: - @[ -f WIP ] && cat WIP && sleep 2 + @if [ -f WIP ]; then cat WIP; sleep 2; fi distclean: clean rm -f $(ASN_MODULE_SOURCES)