python-pyasn1: Update to 0.5.1

This also adds a test.sh script for the packages feed CI.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To 2023-11-28 12:05:24 +08:00 committed by Tianling Shen
parent 7d1febb77f
commit c65f7c66eb
2 changed files with 53 additions and 2 deletions

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pyasn1
PKG_VERSION:=0.5.0
PKG_VERSION:=0.5.1
PKG_RELEASE:=1
PYPI_NAME:=pyasn1
PKG_HASH:=97b7290ca68e62a832558ec3976f15cbf911bf5d7c7039d8b861c2a0ece69fde
PKG_HASH:=6d391a96e59b23130a5cfa74d6fd7f388dbbe26cc8f1edf39fdddf08d9d6676c
PKG_LICENSE:=BSD-2-Clause
PKG_LICENSE_FILES:=LICENSE.rst

View File

@ -0,0 +1,51 @@
#!/bin/sh
[ "$1" = python3-pyasn1 ] || exit 0
python3 - << 'EOF'
from collections import OrderedDict
from pyasn1.type import namedtype
from pyasn1.type import tag
from pyasn1.type import univ
from pyasn1.codec.der.encoder import encode as derEncode
from pyasn1.codec.der.decoder import decode as derDecode
from pyasn1.codec.native.encoder import encode as nativeEncode
from pyasn1.codec.native.decoder import decode as nativeDecode
class Record(univ.Sequence):
componentType = namedtype.NamedTypes(
namedtype.NamedType('id', univ.Integer()),
namedtype.OptionalNamedType(
'room', univ.Integer().subtype(
implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)
)
),
namedtype.DefaultedNamedType(
'house', univ.Integer(0).subtype(
implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)
)
)
)
# encoding modifies the object (https://github.com/pyasn1/pyasn1/issues/53)
# so test decoding before encoding
record = Record()
record['id'] = 123
record['room'] = 321
assert str(record) == 'Record:\n id=123\n room=321\n'
substrate = b'0\x07\x02\x01{\x80\x02\x01A'
received_record, _ = derDecode(substrate, asn1Spec=Record())
assert received_record == record
dict_record = nativeDecode({'id': 123, 'room': 321}, asn1Spec=Record())
assert dict_record == record
assert derEncode(record) == substrate
assert nativeEncode(record) == OrderedDict([('id', 123), ('room', 321), ('house', 0)])
EOF