Skip to content

Commit

Permalink
Use exec directly (#5224)
Browse files Browse the repository at this point in the history
Use exec directly
  • Loading branch information
nicoddemus committed May 7, 2019
2 parents ef4dec0 + d1a48ad commit 1d466d0
Show file tree
Hide file tree
Showing 9 changed files with 10 additions and 16 deletions.
4 changes: 1 addition & 3 deletions bench/empty.py
@@ -1,4 +1,2 @@
import six

for i in range(1000):
six.exec_("def test_func_%d(): pass" % i)
exec("def test_func_%d(): pass" % i)
4 changes: 1 addition & 3 deletions doc/en/example/assertion/failure_demo.py
@@ -1,5 +1,3 @@
import six

import _pytest._code
import pytest
from pytest import raises
Expand Down Expand Up @@ -199,7 +197,7 @@ def test_dynamic_compile_shows_nicely():
name = "abc-123"
module = imp.new_module(name)
code = _pytest._code.compile(src, name, "exec")
six.exec_(code, module.__dict__)
exec(code, module.__dict__)
sys.modules[name] = module
module.foo()

Expand Down
2 changes: 1 addition & 1 deletion doc/en/example/reportingdemo.rst
Expand Up @@ -460,7 +460,7 @@ Here is a nice run of several failures and how ``pytest`` presents things:
name = "abc-123"
module = imp.new_module(name)
code = _pytest._code.compile(src, name, "exec")
six.exec_(code, module.__dict__)
exec(code, module.__dict__)
sys.modules[name] = module
> module.foo()
Expand Down
3 changes: 1 addition & 2 deletions src/_pytest/_code/code.py
Expand Up @@ -13,7 +13,6 @@
import attr
import pluggy
import py
import six
from six import text_type

import _pytest
Expand Down Expand Up @@ -138,7 +137,7 @@ def exec_(self, code, **vars):
"""
f_locals = self.f_locals.copy()
f_locals.update(vars)
six.exec_(code, self.f_globals, f_locals)
exec(code, self.f_globals, f_locals)

def repr(self, object):
""" return a 'safe' (non-recursive, one-line) string repr for 'object'
Expand Down
2 changes: 1 addition & 1 deletion src/_pytest/assertion/rewrite.py
Expand Up @@ -296,7 +296,7 @@ def load_module(self, name):
mod.__loader__ = self
# Normally, this attribute is 3.4+
mod.__spec__ = spec_from_file_location(name, co.co_filename, loader=self)
six.exec_(co, mod.__dict__)
exec(co, mod.__dict__)
except: # noqa
if name in sys.modules:
del sys.modules[name]
Expand Down
3 changes: 1 addition & 2 deletions src/_pytest/python_api.py
Expand Up @@ -7,7 +7,6 @@
from decimal import Decimal
from numbers import Number

import six
from more_itertools.more import always_iterable
from six.moves import filterfalse
from six.moves import zip
Expand Down Expand Up @@ -702,7 +701,7 @@ def raises(expected_exception, *args, **kwargs):
# print "raises frame scope: %r" % frame.f_locals
try:
code = _pytest._code.Source(code).compile(_genframe=frame)
six.exec_(code, frame.f_globals, loc)
exec(code, frame.f_globals, loc)
# XXX didn't mean f_globals == f_locals something special?
# this is destroyed here ...
except expected_exception:
Expand Down
2 changes: 1 addition & 1 deletion src/_pytest/recwarn.py
Expand Up @@ -102,7 +102,7 @@ def warns(expected_warning, *args, **kwargs):

with WarningsChecker(expected_warning):
code = _pytest._code.Source(code).compile()
six.exec_(code, frame.f_globals, loc)
exec(code, frame.f_globals, loc)
else:
func = args[0]
with WarningsChecker(expected_warning):
Expand Down
4 changes: 2 additions & 2 deletions testing/code/test_source.py
Expand Up @@ -312,7 +312,7 @@ def test_compile_to_ast(self):

def test_compile_and_getsource(self):
co = self.source.compile()
six.exec_(co, globals())
exec(co, globals())
f(7)
excinfo = pytest.raises(AssertionError, f, 6)
frame = excinfo.traceback[-1].frame
Expand Down Expand Up @@ -376,7 +376,7 @@ def f():
def g(): pass
"""
co = _pytest._code.compile(source)
six.exec_(co, globals())
exec(co, globals())
assert str(_pytest._code.Source(f)).strip() == "def f():\n raise ValueError"
assert str(_pytest._code.Source(g)).strip() == "def g(): pass"

Expand Down
2 changes: 1 addition & 1 deletion testing/test_assertrewrite.py
Expand Up @@ -52,7 +52,7 @@ def getmsg(f, extra_ns=None, must_pass=False):
ns = {}
if extra_ns is not None:
ns.update(extra_ns)
six.exec_(code, ns)
exec(code, ns)
func = ns[f.__name__]
try:
func()
Expand Down

0 comments on commit 1d466d0

Please sign in to comment.