summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2017-02-12 10:54:00 +0100
committerIlya Etingof <etingof@gmail.com>2017-02-12 10:54:00 +0100
commit22e53a32753acfdc4101f6cb3f4d45397d72ce5c (patch)
tree574d16c8c1d71091db51798f1ec8c75a6494749e
parent1bbefa9040dcd38195bb94bfeb85349b441659bd (diff)
downloadpyasn1-git-22e53a32753acfdc4101f6cb3f4d45397d72ce5c.tar.gz
test dir renamed into tests
-rw-r--r--.travis.yml4
-rw-r--r--CHANGES.rst2
-rw-r--r--MANIFEST.in2
-rw-r--r--examples/partial-decoding.py114
-rw-r--r--setup.py2
-rw-r--r--test/type/__main__.py23
-rw-r--r--tests/__init__.py (renamed from test/__init__.py)0
-rw-r--r--tests/__main__.py (renamed from test/__main__.py)6
-rw-r--r--tests/codec/__init__.py (renamed from test/codec/__init__.py)0
-rw-r--r--tests/codec/__main__.py (renamed from test/codec/__main__.py)8
-rw-r--r--tests/codec/ber/__init__.py (renamed from test/codec/ber/__init__.py)0
-rw-r--r--tests/codec/ber/__main__.py (renamed from test/codec/ber/__main__.py)4
-rw-r--r--tests/codec/ber/test_decoder.py (renamed from test/codec/ber/test_decoder.py)0
-rw-r--r--tests/codec/ber/test_encoder.py (renamed from test/codec/ber/test_encoder.py)0
-rw-r--r--tests/codec/cer/__init__.py (renamed from test/codec/cer/__init__.py)0
-rw-r--r--tests/codec/cer/__main__.py (renamed from test/codec/cer/__main__.py)4
-rw-r--r--tests/codec/cer/test_decoder.py (renamed from test/codec/cer/test_decoder.py)0
-rw-r--r--tests/codec/cer/test_encoder.py (renamed from test/codec/cer/test_encoder.py)0
-rw-r--r--tests/codec/der/__init__.py (renamed from test/codec/der/__init__.py)0
-rw-r--r--tests/codec/der/__main__.py (renamed from test/codec/der/__main__.py)4
-rw-r--r--tests/codec/der/test_decoder.py (renamed from test/codec/der/test_decoder.py)0
-rw-r--r--tests/codec/der/test_encoder.py (renamed from test/codec/der/test_encoder.py)0
-rw-r--r--tests/codec/native/__init__.py (renamed from test/codec/native/__init__.py)0
-rw-r--r--tests/codec/native/__main__.py (renamed from test/codec/native/__main__.py)4
-rw-r--r--tests/codec/native/test_decoder.py (renamed from test/codec/native/test_decoder.py)0
-rw-r--r--tests/codec/native/test_encoder.py (renamed from test/codec/native/test_encoder.py)0
-rw-r--r--tests/test_debug.py (renamed from test/test_debug.py)0
-rw-r--r--tests/type/__init__.py (renamed from test/type/__init__.py)0
-rw-r--r--tests/type/__main__.py23
-rw-r--r--tests/type/test_constraint.py (renamed from test/type/test_constraint.py)0
-rw-r--r--tests/type/test_namedtype.py (renamed from test/type/test_namedtype.py)0
-rw-r--r--tests/type/test_namedval.py (renamed from test/type/test_namedval.py)0
-rw-r--r--tests/type/test_tag.py (renamed from test/type/test_tag.py)0
-rw-r--r--tests/type/test_univ.py (renamed from test/type/test_univ.py)0
34 files changed, 158 insertions, 42 deletions
diff --git a/.travis.yml b/.travis.yml
index b3d6671..2436cc5 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -15,7 +15,7 @@ install:
- pip install codecov
- python setup.py install
script:
- - PYTHONPATH=.:$PYTHONPATH python test/__main__.py
+ - python tests/__main__.py
after_success:
- - PYTHONPATH=.:$PYTHONPATH coverage run --omit=*test* test/__main__.py
+ - coverage run --omit=*test* tests/__main__.py
- codecov
diff --git a/CHANGES.rst b/CHANGES.rst
index 49646e6..cb65465 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -11,6 +11,8 @@ Revision 0.2.3, released XX-02-2017
- Setter methods for constructed types consistently accept matchTags
and matchConstraints flags to control the strictness of inner
components compatibility verification.
+- The "test" directory renamed into "tests" not to collide with
+ the "test" module.
Revision 0.2.2, released 07-02-2017
-----------------------------------
diff --git a/MANIFEST.in b/MANIFEST.in
index a7b3bb6..a4f00fe 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,5 +1,5 @@
include *.rst *.md
-recursive-include test *.py
+recursive-include tests *.py
recursive-include doc Makefile *.rst
prune doc/build
prune doc/source/.templates \ No newline at end of file
diff --git a/examples/partial-decoding.py b/examples/partial-decoding.py
new file mode 100644
index 0000000..0058317
--- /dev/null
+++ b/examples/partial-decoding.py
@@ -0,0 +1,114 @@
+from pyasn1.type import tag, namedtype, univ
+from pyasn1.codec.native import encoder, decoder
+from pyasn1 import debug
+
+x = str(univ.BitString('111'))
+
+x = repr(univ.BitString('111'))
+
+univ.BitString((1,1,1,1,1))[:3]
+
+#debug.setLogger(debug.Debug('all'))
+#
+# class TBSCertificate(univ.Sequence):
+# componentType = namedtype.NamedTypes(
+# namedtype.DefaultedNamedType('version', univ.Integer(1).subtype(
+# explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
+# namedtype.NamedType('serialNumber', univ.Integer()),
+# namedtype.NamedType('issuer', univ.OctetString())
+# )
+#
+#
+# tbsCertificate = TBSCertificate()
+#
+# tbsCertificate.update(version=1, serialNumber=2, issuer='someone'),
+#
+# class Certificate(univ.Sequence):
+# componentType = namedtype.NamedTypes(
+# namedtype.NamedType('tbsCertificate', TBSCertificate()),
+# namedtype.NamedType('signatureAlgorithm', univ.ObjectIdentifier()),
+# namedtype.NamedType('signatureValue', univ.BitString())
+# )
+#
+# certificate = Certificate()
+#
+# certificate.update(
+# tbsCertificate=tbsCertificate,
+# signatureAlgorithm='1.3.2.1',
+# signatureValue=(1, 0, 1, 0, 1, 1, 1, 1)
+# )
+#
+# #print(certificate.prettyPrint())
+#
+# substrate = encoder.encode(certificate)
+#
+# #print(substrate)
+#
+# certificate = decoder.decode(substrate, asn1Spec=Certificate())
+#
+# #print(certificate.prettyPrint())
+
+
+from pyasn1_modules import rfc2459
+
+from pyasn1.codec.der import decoder, encoder
+from pyasn1.error import PyAsn1Error
+from pyasn1.type import namedtype, univ
+#
+#
+# class _DSSSigValue(univ.Sequence):
+# componentType = namedtype.NamedTypes(
+# namedtype.NamedType('r', univ.Integer()),
+# namedtype.NamedType('s', univ.Integer())
+# )
+#
+# def decode_dss_signature(signature):
+# try:
+# data, remaining = decoder.decode(signature, asn1Spec=_DSSSigValue())
+# except PyAsn1Error:
+# raise ValueError("Invalid signature data. Unable to decode ASN.1")
+#
+# if remaining:
+# raise ValueError(
+# "The signature contains bytes after the end of the ASN.1 sequence."
+# )
+#
+# r = int(data.getComponentByName('r'))
+# s = int(data.getComponentByName('s'))
+# return (r, s)
+#
+#
+# sig=bytes.fromhex('3045022100a99e5b6a71f5622367286433638db4a7808becc63642d5f98a8c48b8f82fd82802201b872c32a1563df4918333960a3d0036ae4e2a8c4a7d77de182cbdba2dd5d061')
+
+import cProfile
+
+pr = cProfile.Profile()
+pr.enable()
+
+#for x in range(20000):
+# x = decode_dss_signature(sig)
+
+
+
+substrate = b'0\x82\x02\xe70\x82\x02P\x02\x01\x010\r\x06\t*\x86H\x86\xf7\r\x01\x01\x05\x05\x000\x81\xbb1$0"\x06\x03U\x04\x07\x13\x1bValiCert Validation Network1\x170\x15\x06\x03U\x04\n\x13\x0eValiCert, Inc.1503\x06\x03U\x04\x0b\x13,ValiCert Class 3 Policy Validation Authority1!0\x1f\x06\x03U\x04\x03\x13\x18http://www.valicert.com/1 0\x1e\x06\t*\x86H\x86\xf7\r\x01\t\x01\x16\x11info@valicert.com0\x1e\x17\r990626002233Z\x17\r190626002233Z0\x81\xbb1$0"\x06\x03U\x04\x07\x13\x1bValiCert Validation Network1\x170\x15\x06\x03U\x04\n\x13\x0eValiCert, Inc.1503\x06\x03U\x04\x0b\x13,ValiCert Class 3 Policy Validation Authority1!0\x1f\x06\x03U\x04\x03\x13\x18http://www.valicert.com/1 0\x1e\x06\t*\x86H\x86\xf7\r\x01\t\x01\x16\x11info@valicert.com0\x81\x9f0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\x00\x03\x81\x8d\x000\x81\x89\x02\x81\x81\x00\xe3\x98Q\x96\x1c\xe8\xd5\xb1\x06\x81jW\xc3ru\x93\xab\xcf\x9e\xa6\xfc\xf3\x16R\xd6-M\x9f5D\xa8.\x04M\x07I\x8a8)\xf5w7\xe7\xb7\xab]\xdf6q\x14\x99\x8f\xdc\xc2\x92\xf1\xe7`\x92\x97\xec\xd8H\xdc\xbf\xc1\x02 \xc6$\xa4(L0Zvm\xb1\\\xf3\xdd\xde\x9e\x10q\xa1\x88\xc7[\x9bAm\xca\xb0\xb8\x8e\x15\xee\xad3+\xcfG\x04\\uq\n\x98$\x98)\xa7IY\xa5\xdd\xf8\xb7Cba\xf3\xd3\xe2\xd0U?\x02\x03\x01\x00\x010\r\x06\t*\x86H\x86\xf7\r\x01\x01\x05\x05\x00\x03\x81\x81\x00V\xbb\x02X\x84g\x08,\xdf\x1f\xdb{I3\xf5\xd3g\x9d\xf4\xb4\n\x10\xb3\xc9\xc5,\xe2\x92jqx\'\xf2p\x83B\xd3>\xcf\xa9T\xf4\xf1\xd8\x92\x16\x8c\xd1\x04\xcbK\xab\xc9\x9fE\xae<\x8a\xa9\xb0q3]\xc8\xc5W\xdf\xaf\xa85\xb3\x7f\x89\x87\xe9\xe8%\x92\xb8\x7f\x85z\xae\xd6\xbc\x1e7X*g\xc9\x91\xcf*\x81>\xed\xc69\xdf\xc0>\x19\x9c\x19\xcc\x13M\x82A\xb5\x8c\xde\xe0=`\x08 \x0fE~k\xa2\x7f\xa3\x8c\x15\xee'
+
+# 17 secs
+# 13 secs (w/o SequenceAndSetBase.clone())
+
+for x in range(1000):
+ cert, rest = decoder.decode(substrate, asn1Spec=rfc2459.Certificate())
+
+ if encoder.encode(cert) != substrate:
+ raise Exception('!!!')
+
+pr.disable()
+pr.print_stats(sort='tottime')
+
+#
+# partialAsn1Spec = Certificate()
+#
+# partialAsn1Spec.update(tbsCertificate=dict(serialNumber=13))
+#
+# partialCertificate, _ = decoder.decode(substrate, asn1Spec=partialAsn1Spec)
+#
+# print(partialCertificate.prettyPrint())
diff --git a/setup.py b/setup.py
index dd17565..9e05783 100644
--- a/setup.py
+++ b/setup.py
@@ -107,7 +107,7 @@ class PyTest(Command):
def run(self):
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.__main__.suite']
+ ['tests.__main__.suite']
)
unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/type/__main__.py b/test/type/__main__.py
deleted file mode 100644
index da87042..0000000
--- a/test/type/__main__.py
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# This file is part of pyasn1 software.
-#
-# Copyright (c) 2005-2017, Ilya Etingof <etingof@gmail.com>
-# License: http://pyasn1.sf.net/license.html
-#
-try:
- import unittest2 as unittest
-
-except ImportError:
- import unittest
-
-suite = unittest.TestLoader().loadTestsFromNames(
- ['test.type.test_constraint.suite',
- 'test.type.test_namedtype.suite',
- 'test.type.test_namedval.suite',
- 'test.type.test_tag.suite',
- 'test.type.test_univ.suite']
-)
-
-
-if __name__ == '__main__':
- unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/__init__.py b/tests/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/__init__.py
+++ b/tests/__init__.py
diff --git a/test/__main__.py b/tests/__main__.py
index 409a937..70bd9ea 100644
--- a/test/__main__.py
+++ b/tests/__main__.py
@@ -11,9 +11,9 @@ except ImportError:
import unittest
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.test_debug.suite',
- 'test.type.__main__.suite',
- 'test.codec.__main__.suite']
+ ['tests.test_debug.suite',
+ 'tests.type.__main__.suite',
+ 'tests.codec.__main__.suite']
)
diff --git a/test/codec/__init__.py b/tests/codec/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/codec/__init__.py
+++ b/tests/codec/__init__.py
diff --git a/test/codec/__main__.py b/tests/codec/__main__.py
index d289452..bcfd96f 100644
--- a/test/codec/__main__.py
+++ b/tests/codec/__main__.py
@@ -11,10 +11,10 @@ except ImportError:
import unittest
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.codec.ber.__main__.suite',
- 'test.codec.cer.__main__.suite',
- 'test.codec.der.__main__.suite',
- 'test.codec.native.__main__.suite']
+ ['tests.codec.ber.__main__.suite',
+ 'tests.codec.cer.__main__.suite',
+ 'tests.codec.der.__main__.suite',
+ 'tests.codec.native.__main__.suite']
)
diff --git a/test/codec/ber/__init__.py b/tests/codec/ber/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/codec/ber/__init__.py
+++ b/tests/codec/ber/__init__.py
diff --git a/test/codec/ber/__main__.py b/tests/codec/ber/__main__.py
index 122bf76..2909628 100644
--- a/test/codec/ber/__main__.py
+++ b/tests/codec/ber/__main__.py
@@ -11,8 +11,8 @@ except ImportError:
import unittest
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.codec.ber.test_encoder.suite',
- 'test.codec.ber.test_decoder.suite']
+ ['tests.codec.ber.test_encoder.suite',
+ 'tests.codec.ber.test_decoder.suite']
)
diff --git a/test/codec/ber/test_decoder.py b/tests/codec/ber/test_decoder.py
index c1852c4..c1852c4 100644
--- a/test/codec/ber/test_decoder.py
+++ b/tests/codec/ber/test_decoder.py
diff --git a/test/codec/ber/test_encoder.py b/tests/codec/ber/test_encoder.py
index 48a916b..48a916b 100644
--- a/test/codec/ber/test_encoder.py
+++ b/tests/codec/ber/test_encoder.py
diff --git a/test/codec/cer/__init__.py b/tests/codec/cer/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/codec/cer/__init__.py
+++ b/tests/codec/cer/__init__.py
diff --git a/test/codec/cer/__main__.py b/tests/codec/cer/__main__.py
index d63775b..f641b82 100644
--- a/test/codec/cer/__main__.py
+++ b/tests/codec/cer/__main__.py
@@ -11,8 +11,8 @@ except ImportError:
import unittest
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.codec.cer.test_encoder.suite',
- 'test.codec.cer.test_decoder.suite']
+ ['tests.codec.cer.test_encoder.suite',
+ 'tests.codec.cer.test_decoder.suite']
)
diff --git a/test/codec/cer/test_decoder.py b/tests/codec/cer/test_decoder.py
index 3ae1f99..3ae1f99 100644
--- a/test/codec/cer/test_decoder.py
+++ b/tests/codec/cer/test_decoder.py
diff --git a/test/codec/cer/test_encoder.py b/tests/codec/cer/test_encoder.py
index 0ced510..0ced510 100644
--- a/test/codec/cer/test_encoder.py
+++ b/tests/codec/cer/test_encoder.py
diff --git a/test/codec/der/__init__.py b/tests/codec/der/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/codec/der/__init__.py
+++ b/tests/codec/der/__init__.py
diff --git a/test/codec/der/__main__.py b/tests/codec/der/__main__.py
index d734ff0..0db3904 100644
--- a/test/codec/der/__main__.py
+++ b/tests/codec/der/__main__.py
@@ -11,8 +11,8 @@ except ImportError:
import unittest
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.codec.der.test_encoder.suite',
- 'test.codec.der.test_decoder.suite']
+ ['tests.codec.der.test_encoder.suite',
+ 'tests.codec.der.test_decoder.suite']
)
diff --git a/test/codec/der/test_decoder.py b/tests/codec/der/test_decoder.py
index 3fd55c3..3fd55c3 100644
--- a/test/codec/der/test_decoder.py
+++ b/tests/codec/der/test_decoder.py
diff --git a/test/codec/der/test_encoder.py b/tests/codec/der/test_encoder.py
index b514e3b..b514e3b 100644
--- a/test/codec/der/test_encoder.py
+++ b/tests/codec/der/test_encoder.py
diff --git a/test/codec/native/__init__.py b/tests/codec/native/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/codec/native/__init__.py
+++ b/tests/codec/native/__init__.py
diff --git a/test/codec/native/__main__.py b/tests/codec/native/__main__.py
index aef17d1..89f0e06 100644
--- a/test/codec/native/__main__.py
+++ b/tests/codec/native/__main__.py
@@ -11,8 +11,8 @@ except ImportError:
import unittest
suite = unittest.TestLoader().loadTestsFromNames(
- ['test.codec.native.test_encoder.suite',
- 'test.codec.native.test_decoder.suite']
+ ['tests.codec.native.test_encoder.suite',
+ 'tests.codec.native.test_decoder.suite']
)
if __name__ == '__main__':
diff --git a/test/codec/native/test_decoder.py b/tests/codec/native/test_decoder.py
index 16fddfc..16fddfc 100644
--- a/test/codec/native/test_decoder.py
+++ b/tests/codec/native/test_decoder.py
diff --git a/test/codec/native/test_encoder.py b/tests/codec/native/test_encoder.py
index a1d9efc..a1d9efc 100644
--- a/test/codec/native/test_encoder.py
+++ b/tests/codec/native/test_encoder.py
diff --git a/test/test_debug.py b/tests/test_debug.py
index 742f7f1..742f7f1 100644
--- a/test/test_debug.py
+++ b/tests/test_debug.py
diff --git a/test/type/__init__.py b/tests/type/__init__.py
index 8c3066b..8c3066b 100644
--- a/test/type/__init__.py
+++ b/tests/type/__init__.py
diff --git a/tests/type/__main__.py b/tests/type/__main__.py
new file mode 100644
index 0000000..bd89f8b
--- /dev/null
+++ b/tests/type/__main__.py
@@ -0,0 +1,23 @@
+#
+# This file is part of pyasn1 software.
+#
+# Copyright (c) 2005-2017, Ilya Etingof <etingof@gmail.com>
+# License: http://pyasn1.sf.net/license.html
+#
+try:
+ import unittest2 as unittest
+
+except ImportError:
+ import unittest
+
+suite = unittest.TestLoader().loadTestsFromNames(
+ ['tests.type.test_constraint.suite',
+ 'tests.type.test_namedtype.suite',
+ 'tests.type.test_namedval.suite',
+ 'tests.type.test_tag.suite',
+ 'tests.type.test_univ.suite']
+)
+
+
+if __name__ == '__main__':
+ unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/type/test_constraint.py b/tests/type/test_constraint.py
index 0ea4ed4..0ea4ed4 100644
--- a/test/type/test_constraint.py
+++ b/tests/type/test_constraint.py
diff --git a/test/type/test_namedtype.py b/tests/type/test_namedtype.py
index cbb9118..cbb9118 100644
--- a/test/type/test_namedtype.py
+++ b/tests/type/test_namedtype.py
diff --git a/test/type/test_namedval.py b/tests/type/test_namedval.py
index e52f724..e52f724 100644
--- a/test/type/test_namedval.py
+++ b/tests/type/test_namedval.py
diff --git a/test/type/test_tag.py b/tests/type/test_tag.py
index fac9783..fac9783 100644
--- a/test/type/test_tag.py
+++ b/tests/type/test_tag.py
diff --git a/test/type/test_univ.py b/tests/type/test_univ.py
index 0d7e0ad..0d7e0ad 100644
--- a/test/type/test_univ.py
+++ b/tests/type/test_univ.py