diff options
Diffstat (limited to 'test/tutils.py')
-rw-r--r-- | test/tutils.py | 84 |
1 files changed, 20 insertions, 64 deletions
diff --git a/test/tutils.py b/test/tutils.py index a728e852..ceef1c15 100644 --- a/test/tutils.py +++ b/test/tutils.py @@ -4,6 +4,8 @@ import re import shutil import cStringIO from contextlib import contextmanager + +import netlib from libpathod import utils, test, pathoc, pathod, language from netlib import tcp import requests @@ -27,36 +29,36 @@ class DaemonTests(object): nocraft = False @classmethod - def setUpAll(klass): - opts = klass.ssloptions or {} - klass.confdir = tempfile.mkdtemp() - opts["confdir"] = klass.confdir + def setup_class(cls): + opts = cls.ssloptions or {} + cls.confdir = tempfile.mkdtemp() + opts["confdir"] = cls.confdir so = pathod.SSLOptions(**opts) - klass.d = test.Daemon( + cls.d = test.Daemon( staticdir=test_data.path("data"), anchors=[ (re.compile("/anchor/.*"), "202:da") ], - ssl=klass.ssl, + ssl=cls.ssl, ssloptions=so, sizelimit=1 * 1024 * 1024, - noweb=klass.noweb, - noapi=klass.noapi, - nohang=klass.nohang, - timeout=klass.timeout, - hexdump=klass.hexdump, - nocraft=klass.nocraft, + noweb=cls.noweb, + noapi=cls.noapi, + nohang=cls.nohang, + timeout=cls.timeout, + hexdump=cls.hexdump, + nocraft=cls.nocraft, logreq=True, logresp=True, explain=True ) @classmethod - def tearDownAll(self): - self.d.shutdown() - shutil.rmtree(self.confdir) + def teardown_class(cls): + cls.d.shutdown() + shutil.rmtree(cls.confdir) - def setUp(self): + def teardown(self): if not (self.noweb or self.noapi): self.d.clear_log() @@ -114,55 +116,9 @@ class DaemonTests(object): return ret, logfp.getvalue() -@contextmanager -def tmpdir(*args, **kwargs): - orig_workdir = os.getcwd() - temp_workdir = tempfile.mkdtemp(*args, **kwargs) - os.chdir(temp_workdir) - - yield temp_workdir - - os.chdir(orig_workdir) - shutil.rmtree(temp_workdir) - - -def raises(exc, obj, *args, **kwargs): - """ - Assert that a callable raises a specified exception. - - :exc An exception class or a string. If a class, assert that an - exception of this type is raised. If a string, assert that the string - occurs in the string representation of the exception, based on a - case-insenstivie match. - - :obj A callable object. +tmpdir = netlib.tutils.tmpdir - :args Arguments to be passsed to the callable. - - :kwargs Arguments to be passed to the callable. - """ - try: - obj(*args, **kwargs) - except (Exception, SystemExit) as v: - if isinstance(exc, basestring): - if exc.lower() in str(v).lower(): - return - else: - raise AssertionError( - "Expected %s, but caught %s" % ( - repr(str(exc)), v - ) - ) - else: - if isinstance(v, exc): - return - else: - raise AssertionError( - "Expected %s, but caught %s %s" % ( - exc.__name__, v.__class__.__name__, str(v) - ) - ) - raise AssertionError("No exception raised.") +raises = netlib.tutils.raises test_data = utils.Data(__name__) |