summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2013-02-15 20:37:26 +0000
committerelie <elie>2013-02-15 20:37:26 +0000
commit405b90be86614ddcaea6de79bbfd4ff7a0e90dd2 (patch)
treefbebacbadd1820356cf9cc60a5a9824c8fc984b6
parent4fb89e67ad959833ca9a3ab2edb0f89048ca5b79 (diff)
downloadpyasn1-405b90be86614ddcaea6de79bbfd4ff7a0e90dd2.tar.gz
test suite made discoverable by unittest/unittest2 discovery feature
-rw-r--r--CHANGES1
-rw-r--r--setup.py31
-rw-r--r--test/codec/ber/suite.py17
-rw-r--r--test/codec/ber/test_decoder.py (renamed from test/codec/ber/decoder.py)13
-rw-r--r--test/codec/ber/test_encoder.py (renamed from test/codec/ber/encoder.py)13
-rw-r--r--test/codec/cer/suite.py17
-rw-r--r--test/codec/cer/test_decoder.py (renamed from test/codec/cer/decoder.py)13
-rw-r--r--test/codec/cer/test_encoder.py (renamed from test/codec/cer/encoder.py)13
-rw-r--r--test/codec/der/suite.py17
-rw-r--r--test/codec/der/test_decoder.py (renamed from test/codec/der/decoder.py)13
-rw-r--r--test/codec/der/test_encoder.py (renamed from test/codec/der/encoder.py)13
-rw-r--r--test/codec/suite.py14
-rw-r--r--test/suite.py14
-rw-r--r--test/type/suite.py17
-rw-r--r--test/type/test_constraint.py (renamed from test/type/constraint.py)13
-rw-r--r--test/type/test_namedtype.py (renamed from test/type/namedtype.py)13
-rw-r--r--test/type/test_tag.py (renamed from test/type/tag.py)13
-rw-r--r--test/type/test_univ.py (renamed from test/type/univ.py)13
18 files changed, 164 insertions, 94 deletions
diff --git a/CHANGES b/CHANGES
index 5b2e162..c7edecd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
Revision 0.1.7
--------------
+- Test suite made discoverable by unittest/unittest2 discovery feature.
- Fix to decoder working on indefinite length substrate -- end-of-octets
marker is now detected by both tag and value. Otherwise zero values may
interfere with end-of-octets marker.
diff --git a/setup.py b/setup.py
index 1315525..194f0c8 100644
--- a/setup.py
+++ b/setup.py
@@ -5,6 +5,7 @@
"""
import os
+import sys
classifiers = """\
Development Status :: 5 - Production/Stable
@@ -50,12 +51,11 @@ def howto_install_setuptools():
""")
try:
- from setuptools import setup
+ from setuptools import setup, Command
params = {
'zip_safe': True
- }
+ }
except ImportError:
- import sys
for arg in sys.argv:
if arg.find('egg') != -1:
if sys.version_info[0] > 2:
@@ -63,7 +63,7 @@ except ImportError:
else:
howto_install_setuptools()
sys.exit(1)
- from distutils.core import setup
+ from distutils.core import setup, Command
params = {}
doclines = [ x.strip() for x in __doc__.split('\n') if x ]
@@ -89,4 +89,27 @@ params.update( {
'pyasn1.codec.der' ]
} )
+# handle unittest discovery feature
+if sys.version_info[0:2] < (2, 7) or \
+ sys.version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ unittest = None
+else:
+ import unittest
+
+if unittest:
+ class PyTest(Command):
+ user_options = []
+
+ def initialize_options(self): pass
+ def finalize_options(self): pass
+
+ def run(self):
+ suite = unittest.defaultTestLoader.discover('.')
+ unittest.TextTestRunner(verbosity=2).run(suite)
+
+ params['cmdclass'] = { 'test': PyTest }
+
setup(**params)
diff --git a/test/codec/ber/suite.py b/test/codec/ber/suite.py
index 89ecd03..f10469d 100644
--- a/test/codec/ber/suite.py
+++ b/test/codec/ber/suite.py
@@ -1,15 +1,18 @@
-import encoder, decoder
+import test_encoder, test_decoder
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
suite = unittest.TestSuite()
loader = unittest.TestLoader()
-for m in (encoder, decoder):
+for m in (test_encoder, test_decoder):
suite.addTest(loader.loadTestsFromModule(m))
def runTests(): unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/codec/ber/decoder.py b/test/codec/ber/test_decoder.py
index c16d32c..8dd7848 100644
--- a/test/codec/ber/decoder.py
+++ b/test/codec/ber/test_decoder.py
@@ -2,12 +2,15 @@ from pyasn1.type import tag, namedtype, univ
from pyasn1.codec.ber import decoder
from pyasn1.compat.octets import ints2octs, str2octs, null
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class LargeTagDecoderTestCase(unittest.TestCase):
def testLargeTag(self):
diff --git a/test/codec/ber/encoder.py b/test/codec/ber/test_encoder.py
index 87ab038..bfb3f61 100644
--- a/test/codec/ber/encoder.py
+++ b/test/codec/ber/test_encoder.py
@@ -2,12 +2,15 @@ from pyasn1.type import tag, namedtype, univ
from pyasn1.codec.ber import encoder
from pyasn1.compat.octets import ints2octs
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class LargeTagEncoderTestCase(unittest.TestCase):
def setUp(self):
diff --git a/test/codec/cer/suite.py b/test/codec/cer/suite.py
index 89ecd03..f10469d 100644
--- a/test/codec/cer/suite.py
+++ b/test/codec/cer/suite.py
@@ -1,15 +1,18 @@
-import encoder, decoder
+import test_encoder, test_decoder
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
suite = unittest.TestSuite()
loader = unittest.TestLoader()
-for m in (encoder, decoder):
+for m in (test_encoder, test_decoder):
suite.addTest(loader.loadTestsFromModule(m))
def runTests(): unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/codec/cer/decoder.py b/test/codec/cer/test_decoder.py
index 880c7b3..7195b72 100644
--- a/test/codec/cer/decoder.py
+++ b/test/codec/cer/test_decoder.py
@@ -2,12 +2,15 @@ from pyasn1.type import univ
from pyasn1.codec.cer import decoder
from pyasn1.compat.octets import ints2octs, str2octs, null
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class BooleanDecoderTestCase(unittest.TestCase):
def testTrue(self):
diff --git a/test/codec/cer/encoder.py b/test/codec/cer/test_encoder.py
index f838369..a4f80aa 100644
--- a/test/codec/cer/encoder.py
+++ b/test/codec/cer/test_encoder.py
@@ -2,12 +2,15 @@ from pyasn1.type import namedtype, univ
from pyasn1.codec.cer import encoder
from pyasn1.compat.octets import ints2octs
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class BooleanEncoderTestCase(unittest.TestCase):
def testTrue(self):
diff --git a/test/codec/der/suite.py b/test/codec/der/suite.py
index 89ecd03..f10469d 100644
--- a/test/codec/der/suite.py
+++ b/test/codec/der/suite.py
@@ -1,15 +1,18 @@
-import encoder, decoder
+import test_encoder, test_decoder
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
suite = unittest.TestSuite()
loader = unittest.TestLoader()
-for m in (encoder, decoder):
+for m in (test_encoder, test_decoder):
suite.addTest(loader.loadTestsFromModule(m))
def runTests(): unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/codec/der/decoder.py b/test/codec/der/test_decoder.py
index d363a2f..5c9a194 100644
--- a/test/codec/der/decoder.py
+++ b/test/codec/der/test_decoder.py
@@ -1,12 +1,15 @@
from pyasn1.type import univ
from pyasn1.codec.der import decoder
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class OctetStringDecoderTestCase(unittest.TestCase):
def testShortMode(self):
diff --git a/test/codec/der/encoder.py b/test/codec/der/test_encoder.py
index 93e8f1e..787da7b 100644
--- a/test/codec/der/encoder.py
+++ b/test/codec/der/test_encoder.py
@@ -2,12 +2,15 @@ from pyasn1.type import namedtype, univ
from pyasn1.codec.der import encoder
from pyasn1.compat.octets import ints2octs
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class OctetStringEncoderTestCase(unittest.TestCase):
def testShortMode(self):
diff --git a/test/codec/suite.py b/test/codec/suite.py
index 73fd48a..93ff063 100644
--- a/test/codec/suite.py
+++ b/test/codec/suite.py
@@ -1,4 +1,4 @@
-from sys import path
+from sys import path, version_info
from os.path import sep
path.insert(1, path[0]+sep+'codec'+sep+'ber')
import ber.suite
@@ -7,12 +7,14 @@ import cer.suite
path.insert(1, path[0]+sep+'codec'+sep+'der')
import der.suite
from pyasn1.error import PyAsn1Error
-try:
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
suite = unittest.TestSuite()
for m in (
diff --git a/test/suite.py b/test/suite.py
index a951082..b4d80e8 100644
--- a/test/suite.py
+++ b/test/suite.py
@@ -1,16 +1,18 @@
-from sys import path
+from sys import path, version_info
from os.path import sep
path.insert(1, path[0]+sep+'type')
import type.suite
path.insert(1, path[0]+sep+'codec')
import codec.suite
from pyasn1.error import PyAsn1Error
-try:
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
suite = unittest.TestSuite()
for m in (
diff --git a/test/type/suite.py b/test/type/suite.py
index 6db61b5..bc4b486 100644
--- a/test/type/suite.py
+++ b/test/type/suite.py
@@ -1,15 +1,18 @@
-import tag, constraint, namedtype, univ
+import test_tag, test_constraint, test_namedtype, test_univ
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
suite = unittest.TestSuite()
loader = unittest.TestLoader()
-for m in (tag, constraint, namedtype, univ):
+for m in (test_tag, test_constraint, test_namedtype, test_univ):
suite.addTest(loader.loadTestsFromModule(m))
def runTests(): unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/test/type/constraint.py b/test/type/test_constraint.py
index 950abd8..3457c0f 100644
--- a/test/type/constraint.py
+++ b/test/type/test_constraint.py
@@ -1,11 +1,14 @@
from pyasn1.type import constraint, error
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class SingleValueConstraintTestCase(unittest.TestCase):
def setUp(self):
diff --git a/test/type/namedtype.py b/test/type/test_namedtype.py
index dfbef18..3a4f305 100644
--- a/test/type/namedtype.py
+++ b/test/type/test_namedtype.py
@@ -1,11 +1,14 @@
from pyasn1.type import namedtype, univ
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class NamedTypeCaseBase(unittest.TestCase):
def setUp(self):
diff --git a/test/type/tag.py b/test/type/test_tag.py
index c35d18c..78146dc 100644
--- a/test/type/tag.py
+++ b/test/type/test_tag.py
@@ -1,11 +1,14 @@
from pyasn1.type import tag
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class TagTestCaseBase(unittest.TestCase):
def setUp(self):
diff --git a/test/type/univ.py b/test/type/test_univ.py
index 7b9a046..3eedcf2 100644
--- a/test/type/univ.py
+++ b/test/type/test_univ.py
@@ -1,12 +1,15 @@
from pyasn1.type import univ, tag, constraint, namedtype, namedval, error
from pyasn1.compat.octets import str2octs, ints2octs
from pyasn1.error import PyAsn1Error
-try:
+from sys import version_info
+if version_info[0:2] < (2, 7) or \
+ version_info[0:2] in ( (3, 0), (3, 1) ):
+ try:
+ import unittest2 as unittest
+ except ImportError:
+ import unittest
+else:
import unittest
-except ImportError:
- raise PyAsn1Error(
- 'PyUnit package\'s missing. See http://pyunit.sourceforge.net/'
- )
class IntegerTestCase(unittest.TestCase):
def testStr(self): assert str(univ.Integer(1)) in ('1','1L'),'str() fails'