pyderasn.py | 14 ++++++++------ tests/test_pyderasn.py | 7 ++++++- diff --git a/pyderasn.py b/pyderasn.py index 0e8674489e7fbe37fc74c19c222dff699cdcc663366bdf374c5bd3f9ebaba66d..dc09dbfb947d6f7ef56538132839b123927e1da89f70a364f86f23cd1fb8f96b 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -1287,10 +1287,12 @@ :returns: memoryview over read-only mmap-ing of the whole file """ return memoryview(mmap(fd.fileno(), 0, prot=PROT_READ)) + def pureint(value): if not set(value) <= DECIMALS: raise ValueError("non-pure integer") return int(value) + def fractions2float(fractions_raw): pureint(fractions_raw) @@ -1304,7 +1306,7 @@ for path, define in defines_by_path: if len(path) != len(sub_decode_path): continue for p1, p2 in zip(path, sub_decode_path): - if (not p1 is any) and (p1 != p2): + if (p1 is not any) and (p1 != p2): break else: return define @@ -1963,7 +1965,7 @@ if tag_only: yield None return _decode_path, obj, tail = result - if not _decode_path is decode_path: + if _decode_path is not decode_path: yield result else: try: @@ -2005,7 +2007,7 @@ if tag_only: # pragma: no cover yield None return _decode_path, obj, tail = result - if not _decode_path is decode_path: + if _decode_path is not decode_path: yield result eoc_expected, tail = tail[:EOC_LEN], tail[EOC_LEN:] if eoc_expected.tobytes() != EOC: @@ -2044,7 +2046,7 @@ if tag_only: # pragma: no cover yield None return _decode_path, obj, tail = result - if not _decode_path is decode_path: + if _decode_path is not decode_path: yield result if obj.tlvlen < l and not ctx.get("allow_expl_oob", False): raise DecodeError( @@ -3373,7 +3375,7 @@ LEN1K, int2byte(0), octets[offset:offset + 999], ))) - tail = octets[offset+999:] + tail = octets[offset + 999:] if len(tail) > 0: tail = int2byte((8 - bit_len % 8) % 8) + tail write_full(writer, b"".join(( @@ -3833,7 +3835,7 @@ OctetString.tag_default, LEN1K, octets[offset:offset + 1000], ))) - tail = octets[offset+1000:] + tail = octets[offset + 1000:] if len(tail) > 0: write_full(writer, b"".join(( OctetString.tag_default, diff --git a/tests/test_pyderasn.py b/tests/test_pyderasn.py index da8db6765e37aee55b3c57b5a68782bc01fb7c6c0daa8b870207d3ab64af3fde..02fcd3347078a95ea0ef04865effdd94ec93d753e2c16b333e4f384a4452e01d 100644 --- a/tests/test_pyderasn.py +++ b/tests/test_pyderasn.py @@ -2662,7 +2662,6 @@ self.assertEqual(obj.expl_offset, offset) repr(obj) list(obj.pps()) - @given(integers(min_value=1)) def test_invalid_len(self, l): with self.assertRaises(InvalidLength): @@ -6274,6 +6273,7 @@ integers(min_value=1), min_size=len(_schema), max_size=len(_schema), ))] + class Wahl(Choice): schema = (("int", Integer()),) @@ -7046,6 +7046,7 @@ class SeqOf(SequenceOf): schema = Integer() bounds = (10, 20) seqof = None + def gen(n): for i in six_xrange(n): yield Integer(i) @@ -7065,6 +7066,7 @@ def test_iterator_twice(self): class SeqOf(SequenceOf): schema = Integer() bounds = (1, float("+inf")) + def gen(): for i in six_xrange(10): yield Integer(i) @@ -7079,6 +7081,7 @@ def test_iterator_2pass(self): class SeqOf(SequenceOf): schema = Integer() bounds = (1, float("+inf")) + def gen(): for i in six_xrange(10): yield Integer(i) @@ -7613,6 +7616,7 @@ self.assertEqual(decoded["tgt"].defined[1], Integer(tgt)) def test_remaining_data(self): oid = ObjectIdentifier("1.2.3") + class Seq(Sequence): schema = ( ("oid", ObjectIdentifier(defines=((("tgt",), { @@ -7630,6 +7634,7 @@ Seq().decode(seq.encode()) def test_remaining_data_seqof(self): oid = ObjectIdentifier("1.2.3") + class SeqOf(SetOf): schema = OctetString()