From 846d91fb95cc27c3a8b4ca50317a7de0bc0c510e Mon Sep 17 00:00:00 2001 From: Tim Strazny Date: Fri, 6 Apr 2018 16:23:04 +0200 Subject: [PATCH] Follow Ronny's advice and use ``type`` in ``base_type``. --- _pytest/python_api.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/_pytest/python_api.py b/_pytest/python_api.py index 92eaa5bd5..521c3bc48 100644 --- a/_pytest/python_api.py +++ b/_pytest/python_api.py @@ -2,6 +2,7 @@ import math import sys import py +from six import binary_type, text_type from six.moves import zip, filterfalse from more_itertools.more import always_iterable @@ -584,11 +585,11 @@ def raises(expected_exception, *args, **kwargs): """ __tracebackhide__ = True - if not isclass(expected_exception) or not issubclass(expected_exception, BaseException): - for exc in filterfalse(isclass, always_iterable(expected_exception)): - msg = ("exceptions must be old-style classes or" - " derived from BaseException, not %s") - raise TypeError(msg % type(exc)) + base_type = (type, text_type, binary_type) + for exc in filterfalse(isclass, always_iterable(expected_exception, base_type)): + msg = ("exceptions must be old-style classes or" + " derived from BaseException, not %s") + raise TypeError(msg % type(exc)) message = "DID NOT RAISE {0}".format(expected_exception) match_expr = None