Skip to content

Commit

Permalink
No longer check for older Python 2 versions.
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Howitz committed May 4, 2017
1 parent f235b4c commit 3ec8f4d
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 77 deletions.
26 changes: 13 additions & 13 deletions src/AccessControl/ZopeGuards.py
Expand Up @@ -18,7 +18,6 @@
import random
import six
import string
import sys
import warnings

import RestrictedPython
Expand Down Expand Up @@ -425,9 +424,8 @@ class GuardedListType:
def __call__(self, *args, **kwargs):
return list(*args, **kwargs)

if sys.version_info >= (2, 4):
def sorted(self, iterable, cmp=None, key=None, reverse=False):
return list.sorted(iterable, cmp=None, key=None, reverse=False)
def sorted(self, iterable, cmp=None, key=None, reverse=False):
return list.sorted(iterable, cmp=None, key=None, reverse=False)


safe_builtins['list'] = GuardedListType()
Expand Down Expand Up @@ -511,16 +509,18 @@ def builtin_guarded_apply(func, args=(), kws={}):
safe_builtins['apply'] = builtin_guarded_apply


# Similar to min and reduce, use guarded_iter on the sequence being
# tested and apply the original function.
if sys.version_info >= (2, 5):
def guarded_any(seq):
return any(guarded_iter(seq))
safe_builtins['any'] = guarded_any
def guarded_any(seq):
return any(guarded_iter(seq))

def guarded_all(seq):
return all(guarded_iter(seq))
safe_builtins['all'] = guarded_all

safe_builtins['any'] = guarded_any


def guarded_all(seq):
return all(guarded_iter(seq))


safe_builtins['all'] = guarded_all


# This metaclass supplies the security declarations that allow all
Expand Down
112 changes: 48 additions & 64 deletions src/AccessControl/tests/testZopeGuards.py
Expand Up @@ -14,6 +14,8 @@
"""Test Zope Guards
"""

from AccessControl.ZopeGuards import guarded_all
from AccessControl.ZopeGuards import guarded_any
from AccessControl.ZopeGuards import guarded_getattr

import doctest
Expand All @@ -23,14 +25,6 @@
import sys
import unittest


if sys.version_info >= (2, 5):
from AccessControl.ZopeGuards import guarded_any
from AccessControl.ZopeGuards import guarded_all
MIN_MAX_TAKE_KEY = True
else:
MIN_MAX_TAKE_KEY = False

try:
__file__
except NameError:
Expand Down Expand Up @@ -395,20 +389,19 @@ def test_map_fails(self):
[1, 2, 3], [3, 2, 1])
self.setSecurityManager(old)

if sys.version_info >= (2, 5):
def test_all_fails(self):
from AccessControl import Unauthorized
sm = SecurityManager(1) # rejects
old = self.setSecurityManager(sm)
self.assertRaises(Unauthorized, guarded_all, [True, True, False])
self.setSecurityManager(old)
def test_all_fails(self):
from AccessControl import Unauthorized
sm = SecurityManager(1) # rejects
old = self.setSecurityManager(sm)
self.assertRaises(Unauthorized, guarded_all, [True, True, False])
self.setSecurityManager(old)

def test_any_fails(self):
from AccessControl import Unauthorized
sm = SecurityManager(1) # rejects
old = self.setSecurityManager(sm)
self.assertRaises(Unauthorized, guarded_any, [True, True, False])
self.setSecurityManager(old)
def test_any_fails(self):
from AccessControl import Unauthorized
sm = SecurityManager(1) # rejects
old = self.setSecurityManager(sm)
self.assertRaises(Unauthorized, guarded_any, [True, True, False])
self.setSecurityManager(old)

def test_min_fails(self):
from AccessControl import Unauthorized
Expand All @@ -417,14 +410,13 @@ def test_min_fails(self):
old = self.setSecurityManager(sm)
self.assertRaises(Unauthorized, guarded_min, [1, 2, 3])
self.assertRaises(Unauthorized, guarded_min, 1, 2, 3)
if MIN_MAX_TAKE_KEY:

class MyDict(dict): # guard() skips 'dict' values
pass
class MyDict(dict): # guard() skips 'dict' values
pass

self.assertRaises(Unauthorized, guarded_min,
MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x'))
self.assertRaises(Unauthorized, guarded_min,
MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x'))
self.setSecurityManager(old)

def test_max_fails(self):
Expand All @@ -434,14 +426,12 @@ def test_max_fails(self):
old = self.setSecurityManager(sm)
self.assertRaises(Unauthorized, guarded_max, [1, 2, 3])
self.assertRaises(Unauthorized, guarded_max, 1, 2, 3)
if MIN_MAX_TAKE_KEY:
class MyDict(dict): # guard() skips 'dict' values
pass

class MyDict(dict): # guard() skips 'dict' values
pass

self.assertRaises(Unauthorized, guarded_max,
MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x'))
self.assertRaises(Unauthorized, guarded_max,
MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x'))
self.setSecurityManager(old)

def test_enumerate_fails(self):
Expand Down Expand Up @@ -481,33 +471,30 @@ def test_map_succeeds(self):
[4, 4, 4])
self.setSecurityManager(old)

if sys.version_info >= (2, 5):
def test_all_succeeds(self):
sm = SecurityManager() # accepts
old = self.setSecurityManager(sm)
self.assertEqual(guarded_all([True, True, False]), False)
self.setSecurityManager(old)
def test_all_succeeds(self):
sm = SecurityManager() # accepts
old = self.setSecurityManager(sm)
self.assertEqual(guarded_all([True, True, False]), False)
self.setSecurityManager(old)

def test_any_succeeds(self):
sm = SecurityManager() # accepts
old = self.setSecurityManager(sm)
self.assertEquals(guarded_any([True, True, False]), True)
self.setSecurityManager(old)
def test_any_succeeds(self):
sm = SecurityManager() # accepts
old = self.setSecurityManager(sm)
self.assertEquals(guarded_any([True, True, False]), True)
self.setSecurityManager(old)

def test_min_succeeds(self):
from AccessControl.ZopeGuards import guarded_min
sm = SecurityManager() # accepts
old = self.setSecurityManager(sm)
self.assertEqual(guarded_min([1, 2, 3]), 1)
self.assertEqual(guarded_min(1, 2, 3), 1)
if MIN_MAX_TAKE_KEY:
class MyDict(dict): # guard() skips 'dict' values
pass

class MyDict(dict): # guard() skips 'dict' values
pass

self.assertEqual(guarded_min(MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x')),
{'x': 1})
self.assertEqual(guarded_min(MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x')),
{'x': 1})
self.setSecurityManager(old)

def test_max_succeeds(self):
Expand All @@ -516,12 +503,11 @@ def test_max_succeeds(self):
old = self.setSecurityManager(sm)
self.assertEqual(guarded_max([1, 2, 3]), 3)
self.assertEqual(guarded_max(1, 2, 3), 3)
if MIN_MAX_TAKE_KEY:
class MyDict(dict): # guard() skips 'dict' values
pass
self.assertEqual(guarded_max(MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x')),
{'x': 2})
class MyDict(dict): # guard() skips 'dict' values
pass
self.assertEqual(guarded_max(MyDict(x=1), MyDict(x=2),
key=operator.itemgetter('x')),
{'x': 2})
self.setSecurityManager(old)

def test_enumerate_succeeds(self):
Expand Down Expand Up @@ -593,8 +579,7 @@ def testListCreation(self):
self.assertEquals(l([1, 2, 3]), [1, 2, 3])
x = [3, 2, 1]
self.assertEquals(l(x), [3, 2, 1])
if sys.version_info >= (2, 4):
self.assertEquals(sorted(x), [1, 2, 3])
self.assertEquals(sorted(x), [1, 2, 3])


class TestRestrictedPythonApply(GuardTestCase):
Expand Down Expand Up @@ -990,10 +975,9 @@ def test_inplacevar():
"""


if sys.version_info[:2] >= (2, 4):
def test_inplacevar_for_py24():
"""
protected_inplacevar allows inplce ops on sets:
def test_inplacevar_for_py24():
"""
protected_inplacevar allows in-place ops on sets:
>>> from AccessControl.ZopeGuards import protected_inplacevar
>>> s = set((1,2,3,4))
Expand Down

0 comments on commit 3ec8f4d

Please sign in to comment.