diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_language_base.py | 5 | ||||
| -rw-r--r-- | test/test_language_websocket.py | 7 | ||||
| -rw-r--r-- | test/test_pathoc.py | 12 | ||||
| -rw-r--r-- | test/test_pathoc_cmdline.py | 13 | ||||
| -rw-r--r-- | test/tutils.py | 84 |
5 files changed, 34 insertions, 87 deletions
diff --git a/test/test_language_base.py b/test/test_language_base.py index 7a9d2a54..b18ee5b2 100644 --- a/test/test_language_base.py +++ b/test/test_language_base.py @@ -2,7 +2,6 @@ import os from libpathod import language from libpathod.language import base, exceptions import tutils -import nose.tools as nt def parse_request(s): @@ -63,8 +62,8 @@ class TestTokValueLiteral: e = base.TokValueLiteral.expr() v = base.TokValueLiteral(spec) v2 = e.parseString(v.spec()) - nt.assert_equal(v.val, v2[0].val) - nt.assert_equal(v.spec(), v2[0].spec()) + assert v.val == v2[0].val + assert v.spec() == v2[0].spec() def test_roundtrip(self): self.roundtrip("'") diff --git a/test/test_language_websocket.py b/test/test_language_websocket.py index 8878f355..d98fd33e 100644 --- a/test/test_language_websocket.py +++ b/test/test_language_websocket.py @@ -131,11 +131,8 @@ class TestWebsocketFrame: assert frm.payload == "abc" def test_knone(self): - tutils.raises( - "expected 4 bytes", - self.fr, - "wf:b'foo':mask:knone", - ) + with tutils.raises("expected 4 bytes"): + self.fr("wf:b'foo':mask:knone") def test_length(self): assert self.fr("wf:l3:b'foo'").header.payload_length == 3 diff --git a/test/test_pathoc.py b/test/test_pathoc.py index 6c0bf039..72af8b13 100644 --- a/test/test_pathoc.py +++ b/test/test_pathoc.py @@ -22,10 +22,10 @@ class _TestDaemon: ssloptions = pathod.SSLOptions() @classmethod - def setUpAll(self): - self.d = test.Daemon( - ssl=self.ssl, - ssloptions=self.ssloptions, + def setup_class(cls): + cls.d = test.Daemon( + ssl=cls.ssl, + ssloptions=cls.ssloptions, staticdir=tutils.test_data.path("data"), anchors=[ (re.compile("/anchor/.*"), "202") @@ -33,8 +33,8 @@ class _TestDaemon: ) @classmethod - def tearDownAll(self): - self.d.shutdown() + def teardown_class(cls): + cls.d.shutdown() def setUp(self): self.d.clear_log() diff --git a/test/test_pathoc_cmdline.py b/test/test_pathoc_cmdline.py index 6c070aed..74dfef57 100644 --- a/test/test_pathoc_cmdline.py +++ b/test/test_pathoc_cmdline.py @@ -8,9 +8,8 @@ import mock def test_pathoc(perror): assert cmdline.args_pathoc(["pathoc", "foo.com", "get:/"]) s = cStringIO.StringIO() - tutils.raises( - SystemExit, cmdline.args_pathoc, [ - "pathoc", "--show-uas"], s, s) + with tutils.raises(SystemExit): + cmdline.args_pathoc(["pathoc", "--show-uas"], s, s) a = cmdline.args_pathoc(["pathoc", "foo.com:8888", "get:/"]) assert a.port == 8888 @@ -56,9 +55,5 @@ def test_pathoc(perror): ) assert len(list(a.requests)) == 1 - tutils.raises( - SystemExit, - cmdline.args_pathoc, - ["pathoc", "foo.com", "invalid"], - s, s - ) + with tutils.raises(SystemExit): + cmdline.args_pathoc(["pathoc", "foo.com", "invalid"], s, s) 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__) |
