| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Add a regression test for CFLAGS not having -Ofast, which is known to
break things. See https://github.com/zopefoundation/meta/pull/155 for
reference.
|
|
|
| |
* isort lines.
|
|
|
|
| |
The Python 2.7 variant was dropped there.
|
| |
|
|
|
|
| |
* Add support for Python 3.9.
|
|
|
|
|
|
|
|
| |
In 3.8 it produces a compilation warning, in earlier versions it is ignored.
Normalize ReST headings when adding the change note.
Publish changes on RTD.
|
|
|
|
|
|
| |
The docs say this callback is supposed to return -1 on error.
Fixes #30.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under Python 2, we were doing
PyUnicode_check->PyUnicode_AsEncodedString->PyString_Check->PyString_ASSTRING.
This can be simplified to PyString_AsString(). Internally it does the
same unicode check if needed. It produces a better error message if
the object is not a string or unicode. It is able to use the *cached*
byte string, and it doesn't allocate a new object. Because we don't
allocate a new object (sometimes) anymore, the extra INCREF/DECREF can
go away. We're also able to drop one type check.
Under Python 3, we were doing PyUnicode_Check->PyUnicode_AsUTF8String ->
PyBytes_AS_STRING. This can be simified to PyUnicode_AsUTF8. This
avoids an intermediate object and can use the cached byte string. We
can also drop the extra INCREF/DECREF since we don't ever have a new
object.
Python 2 docs claimed that the underlying tp_getattro slots need a
string object, but the unicode->string handling is done internally in
Python's PyObject_GetAttr now, AFAICS. (It's difficult to get a
unicode object in to these methods in the first place; someone must be
explicitly calling the __getattribute__ dunder method.)
|
|
|
|
| |
Fixes #20
|
|
|
|
|
|
|
|
|
| |
Fixes #21.
This removes the special cases for lists and tuples in the C code (but
requires an #if Python 2 block). Tests are added (and generalized for
Python 3). I verified that this fixes the issues observed in the
zope.security tests.
|
|
|
|
| |
This fixes the failure in test_security_proxy.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable coveralls to report on this.
Coverage reports showed two test classes that weren't subclassing the
correct base class, so we weren't actually testing the C
implementation of `removeAllProxies` and `queryInnerProxy`. Fixing
this revealed a probably bug in the implementation of
`removeAllProxies`; right now that test is skipped.
Also remove the `test_suite` for 'python setup.py test' since it
usually doesn't work anymore. See #18.
|
|
|
|
|
|
| |
By effectively bypassing them to access `_wrapped`.
Fixes #15.
|
| |
|
|
|
|
| |
The test is simple but requires zope.security to be installed.
I chose that over writing the test in zope.security
|
|
|
|
| |
correctly hashed.
|
|
|
|
| |
types (in pure-Python.).
|
|
|
|
| |
fix differences between the C and Python implementations in handling __module__, whether or not a subclass is involved.
|
|\
| |
| |
| | |
NextThought-int-and-float
|
| | |
|
| |
| |
| |
| | |
methods to proxy int and float. Fixes #3 and Fixes #4.
|
| |
| |
| |
| | |
let zope.container._proxy reuse all the fixes in this branch.
|
| | |
|
| | |
|
|/
|
|
| |
version does. This fixes #5.
|
|
|
|
|
|
|
|
|
| |
``PyProxyBase._wrapped.__iter__`` if available, otherwise fall back to
Python internals. The previous implementation always created a generator.
- Fixed ``PyProxyBase.__setattr__()`` to allow setting of properties on the
proxy itself. This is needed to properly allow proxy extensions as was
evidenced int he ``zope.security.decorator`` module.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
except under Python 2.6.
N.B. This change is an ABI incompatibility under Python 2.7:
extensions built under Python 2.7 against 4.0.x versions of
``zope.proxy`` must be rebuilt.
Bump target version to '4.1.0' to signal BBB issue.
Enable compilation of dependent modules under Py3k.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Now that we have the gnarly '__getattribute__', we *can* tell that lie.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Python 2.7 adds B&D checks which break for the C wrapper.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This version passes all tests except the one which asserts that the proxy
can lie about its '__class__', which can't be done in Python.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Move narrative doctests out to Sphinx.
Convert non-narrative doctestss to unittests.
|
| |
|
| |
|
|
|
|
|
| |
Move doctest examples to API reference.
|
|
|
|
|
|
|
| |
Replace deprecated 'zope.interface.implements' usage with equivalent
'zope.interface.implementer' decorator.
|