aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_language_base.py5
-rw-r--r--test/test_language_websocket.py7
-rw-r--r--test/test_pathoc.py12
-rw-r--r--test/test_pathoc_cmdline.py13
-rw-r--r--test/tutils.py84
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__)