aboutsummaryrefslogtreecommitdiffstats
path: root/test/tutils.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2015-09-21 23:03:45 +0200
committerMaximilian Hils <git@maximilianhils.com>2015-09-21 23:03:45 +0200
commit2f670bac99943404952ebd5e76490e9643e50297 (patch)
treeb6b25128692be754084aa35c95191400ef592b95 /test/tutils.py
parent2da4aaf1ede8310bb14c22e82248002b97b5f3e5 (diff)
downloadmitmproxy-2f670bac99943404952ebd5e76490e9643e50297.tar.gz
mitmproxy-2f670bac99943404952ebd5e76490e9643e50297.tar.bz2
mitmproxy-2f670bac99943404952ebd5e76490e9643e50297.zip
fix tests, use pytest
We currently test with unparallelized builds, because there are apparently some race conditions in the test suite, which I can't trigger locally but happen on travis. Squashed commit of the following: commit 7dceb6dd3a1bdbc39688258bc4dff6eee685a33b Author: Maximilian Hils <git@maximilianhils.com> Date: Mon Sep 21 23:00:24 2015 +0200 disable parallelized tests commit fc0c3f12ee9259162e83026851362925d93b69f2 Author: Maximilian Hils <git@maximilianhils.com> Date: Mon Sep 21 22:49:19 2015 +0200 fix tests commit baba3ca5ef49bdbd7aad14f1bf0626738fa3d21c Author: Maximilian Hils <git@maximilianhils.com> Date: Mon Sep 21 22:28:20 2015 +0200 fix tests, use py.test
Diffstat (limited to 'test/tutils.py')
-rw-r--r--test/tutils.py84
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__)