summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Halley <halley@dnspython.org>2014-05-31 11:07:58 -0700
committerBob Halley <halley@dnspython.org>2014-05-31 11:07:58 -0700
commitc8e17fc02a2d3ebbee3e7c34cd7828858e13fe57 (patch)
tree2deaf7d17d62a72616828e321310fb67aedcc1c7
parent1c8b777f3f0a9881f8286127d1e42b01e95876c4 (diff)
downloaddnspython-c8e17fc02a2d3ebbee3e7c34cd7828858e13fe57.tar.gz
overhaul test system
-rw-r--r--dns/dnssec.py2
-rw-r--r--tests/Makefile5
-rw-r--r--tests/test_bugs.py (renamed from tests/bugs.py)0
-rw-r--r--tests/test_dnssec.py (renamed from tests/dnssec.py)18
-rw-r--r--tests/test_flags.py (renamed from tests/flags.py)0
-rw-r--r--tests/test_generate.py (renamed from tests/generate.py)0
-rw-r--r--tests/test_grange.py (renamed from tests/grange.py)0
-rw-r--r--tests/test_message.py (renamed from tests/message.py)0
-rw-r--r--tests/test_name.py (renamed from tests/name.py)0
-rw-r--r--tests/test_namedict.py (renamed from tests/namedict.py)0
-rw-r--r--tests/test_ntoaaton.py (renamed from tests/ntoaaton.py)0
-rw-r--r--tests/test_rdtypeandclass.py (renamed from tests/rdtypeandclass.py)0
-rw-r--r--tests/test_rdtypeanyloc.py (renamed from tests/rdtypeanyloc.py)0
-rw-r--r--tests/test_resolver.py (renamed from tests/resolver.py)0
-rw-r--r--tests/test_rrset.py (renamed from tests/rrset.py)0
-rw-r--r--tests/test_set.py (renamed from tests/set.py)0
-rw-r--r--tests/test_tokenizer.py (renamed from tests/tokenizer.py)0
-rw-r--r--tests/test_update.py (renamed from tests/update.py)0
-rw-r--r--tests/test_zone.py (renamed from tests/zone.py)0
-rw-r--r--tests/utest.py8
20 files changed, 27 insertions, 6 deletions
diff --git a/dns/dnssec.py b/dns/dnssec.py
index edbe479..f1d70ce 100644
--- a/dns/dnssec.py
+++ b/dns/dnssec.py
@@ -405,9 +405,11 @@ try:
import Crypto.Util.number
validate = _validate
validate_rrsig = _validate_rrsig
+ _have_pycrypto = True
except ImportError:
validate = _need_pycrypto
validate_rrsig = _need_pycrypto
+ _have_pycrypto = False
try:
import ecdsa
diff --git a/tests/Makefile b/tests/Makefile
index 6ab444f..1524552 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -20,7 +20,4 @@ PYTHON=python
check: test
test:
- @for i in *.py; do \
- echo "Running $$i:"; \
- ${PYTHON} $$i || exit 1; \
- done
+ ${PYTHON} ./utest.py
diff --git a/tests/bugs.py b/tests/test_bugs.py
index 312ec3e..312ec3e 100644
--- a/tests/bugs.py
+++ b/tests/test_bugs.py
diff --git a/tests/dnssec.py b/tests/test_dnssec.py
index edb028b..cbbd3e2 100644
--- a/tests/dnssec.py
+++ b/tests/test_dnssec.py
@@ -133,22 +133,32 @@ abs_ecdsa384_soa_rrsig = dns.rrset.from_text('example.', 86400, 'IN', 'RRSIG',
class DNSSECValidatorTestCase(unittest.TestCase):
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testAbsoluteRSAGood(self):
dns.dnssec.validate(abs_soa, abs_soa_rrsig, abs_keys, None, when)
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testDuplicateKeytag(self):
dns.dnssec.validate(abs_soa, abs_soa_rrsig, abs_keys_duplicate_keytag, None, when)
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testAbsoluteRSABad(self):
def bad():
dns.dnssec.validate(abs_other_soa, abs_soa_rrsig, abs_keys, None,
when)
self.failUnlessRaises(dns.dnssec.ValidationFailure, bad)
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testRelativeRSAGood(self):
dns.dnssec.validate(rel_soa, rel_soa_rrsig, rel_keys,
abs_dnspython_org, when)
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testRelativeRSABad(self):
def bad():
dns.dnssec.validate(rel_other_soa, rel_soa_rrsig, rel_keys,
@@ -159,10 +169,14 @@ class DNSSECValidatorTestCase(unittest.TestCase):
ds = dns.dnssec.make_ds(abs_dnspython_org, sep_key, 'SHA256')
self.failUnless(ds == good_ds)
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testAbsoluteDSAGood(self):
dns.dnssec.validate(abs_dsa_soa, abs_dsa_soa_rrsig, abs_dsa_keys, None,
when2)
+ @unittest.skipIf(not dns.dnssec._have_pycrypto,
+ "PyCrypto cannot be imported")
def testAbsoluteDSABad(self):
def bad():
dns.dnssec.validate(abs_other_dsa_soa, abs_dsa_soa_rrsig,
@@ -178,13 +192,13 @@ class DNSSECValidatorTestCase(unittest.TestCase):
self.failUnless(ds == example_ds_sha256)
@unittest.skipIf(not dns.dnssec._have_ecdsa,
- "python ECDSA can not be imported")
+ "python ECDSA cannot be imported")
def testAbsoluteECDSA256Good(self):
dns.dnssec.validate(abs_ecdsa256_soa, abs_ecdsa256_soa_rrsig,
abs_ecdsa256_keys, None, when3)
@unittest.skipIf(not dns.dnssec._have_ecdsa,
- "python ECDSA can not be imported")
+ "python ECDSA cannot be imported")
def testAbsoluteECDSA256Bad(self):
def bad():
dns.dnssec.validate(abs_other_ecdsa256_soa, abs_ecdsa256_soa_rrsig,
diff --git a/tests/flags.py b/tests/test_flags.py
index b3cf671..b3cf671 100644
--- a/tests/flags.py
+++ b/tests/test_flags.py
diff --git a/tests/generate.py b/tests/test_generate.py
index 43c5f9a..43c5f9a 100644
--- a/tests/generate.py
+++ b/tests/test_generate.py
diff --git a/tests/grange.py b/tests/test_grange.py
index 1bb7dbb..1bb7dbb 100644
--- a/tests/grange.py
+++ b/tests/test_grange.py
diff --git a/tests/message.py b/tests/test_message.py
index 931bb19..931bb19 100644
--- a/tests/message.py
+++ b/tests/test_message.py
diff --git a/tests/name.py b/tests/test_name.py
index e30e43d..e30e43d 100644
--- a/tests/name.py
+++ b/tests/test_name.py
diff --git a/tests/namedict.py b/tests/test_namedict.py
index e256bfe..e256bfe 100644
--- a/tests/namedict.py
+++ b/tests/test_namedict.py
diff --git a/tests/ntoaaton.py b/tests/test_ntoaaton.py
index e93de2d..e93de2d 100644
--- a/tests/ntoaaton.py
+++ b/tests/test_ntoaaton.py
diff --git a/tests/rdtypeandclass.py b/tests/test_rdtypeandclass.py
index f3c0628..f3c0628 100644
--- a/tests/rdtypeandclass.py
+++ b/tests/test_rdtypeandclass.py
diff --git a/tests/rdtypeanyloc.py b/tests/test_rdtypeanyloc.py
index 8d9838c..8d9838c 100644
--- a/tests/rdtypeanyloc.py
+++ b/tests/test_rdtypeanyloc.py
diff --git a/tests/resolver.py b/tests/test_resolver.py
index 6be955b..6be955b 100644
--- a/tests/resolver.py
+++ b/tests/test_resolver.py
diff --git a/tests/rrset.py b/tests/test_rrset.py
index be1324b..be1324b 100644
--- a/tests/rrset.py
+++ b/tests/test_rrset.py
diff --git a/tests/set.py b/tests/test_set.py
index 583d20c..583d20c 100644
--- a/tests/set.py
+++ b/tests/test_set.py
diff --git a/tests/tokenizer.py b/tests/test_tokenizer.py
index 1d561ae..1d561ae 100644
--- a/tests/tokenizer.py
+++ b/tests/test_tokenizer.py
diff --git a/tests/update.py b/tests/test_update.py
index 92ddb56..92ddb56 100644
--- a/tests/update.py
+++ b/tests/test_update.py
diff --git a/tests/zone.py b/tests/test_zone.py
index 31e7405..31e7405 100644
--- a/tests/zone.py
+++ b/tests/test_zone.py
diff --git a/tests/utest.py b/tests/utest.py
new file mode 100644
index 0000000..32c1d75
--- /dev/null
+++ b/tests/utest.py
@@ -0,0 +1,8 @@
+import os.path
+import sys
+import unittest
+
+if __name__ == '__main__':
+ sys.path.insert(0, os.path.realpath('..'))
+ suites = unittest.defaultTestLoader.discover('.')
+ unittest.TextTestRunner(verbosity=2).run(suites)