summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make the C extension optional; test PURE_PYTHON and PyPy3 on Travis. Fixes #26issue26Jason Madden2017-11-084-22/+64
|
* Merge pull request #25 from zopefoundation/unicode_simplificationJason Madden2017-11-072-47/+13
|\ | | | | Simplify getting the char* in get/setattro for clarity and performance
| * Simplify getting the char* in get/setattro for clarity and performanceJason Madden2017-11-072-47/+13
|/ | | | | | | | | | | | | | | | | | | | | | | | 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.)
* Use SVG icon for TravisMarius Gedminas2017-10-051-1/+1
|
* Add an appveyor.ymlMarius Gedminas2017-09-181-0/+38
| | | | Needed for #24.
* Back to development: 4.3.1Jason Madden2017-09-132-1/+7
|
* Preparing release 4.3.04.3.0Jason Madden2017-09-132-2/+2
|
* Merge pull request #23 from zopefoundation/issue20Jason Madden2017-09-132-0/+4
|\ | | | | Untrack self when deallocating.
| * Untrack self when deallocating.KIMURA Chikahiro2017-09-132-0/+4
|/ | | | Fixes #20
* Merge pull request #22 from zopefoundation/issue21Jason Madden2017-09-135-50/+132
|\ | | | | Fix indexing pure-Python proxies on Py3, and restore __getslice__ on Py2
| * Fix indexing pure-Python proxies on Py3, and restore __getslice__ on Py2issue21Jason Madden2017-09-125-50/+132
|/ | | | | | | | | 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.
* Merge pull request #19 from zopefoundation/doctest-all-the-thingsJason Madden2017-07-1112-160/+168
|\ | | | | 100% coverage, run doctests everywhere, drop 'setup.py test' and Py 3.3
| * Use the right security proxy when testing C removeAllProxiesdoctest-all-the-thingsJason Madden2017-07-111-2/+4
| | | | | | | | This fixes the failure in test_security_proxy.
| * 100% coverageJason Madden2017-07-1112-160/+166
|/ | | | | | | | | | | | | 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.
* Back to development: 4.2.2Jason Madden2017-04-232-1/+7
|
* Preparing release 4.2.14.2.1Jason Madden2017-04-232-2/+2
|
* Fix manifest.in per check-manifestJason Madden2017-04-231-0/+3
|
* Merge pull request #17 from zopefoundation/python36Jason Madden2017-04-234-3/+15
|\ | | | | Add support for Python 3.6
| * Try to workaround the circular dependency on zope.security during testing. ↵python36Jason Madden2017-04-221-0/+1
| | | | | | | | See https://travis-ci.org/zopefoundation/zope.proxy/jobs/224707855
| * Add support for Python 3.6Jason Madden2017-04-224-3/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also convert to zope.testrunner in tox.ini and .travis.yml because of the namespace package issue: ``` $ tox -e py36 GLOB sdist-make: //zope.proxy/setup.py py36 create: //zope.proxy/.tox/py36 py36 installdeps: .[test] py36 inst: //zope.proxy/.tox/dist/zope.proxy-4.2.1.dev0.zip py36 installed: appdirs==1.4.3,packaging==16.8,pyparsing==2.2.0,six==1.10.0,zope.component==4.3.0,zope.event==4.2.0,zope.i18nmessageid==4.0.3,zope.interface==4.4.0,zope.location==4.0.3,zope.proxy==4.2.1.dev0,zope.schema==4.4.2,zope.security==4.0.3 py36 runtests: PYTHONHASHSEED='770288004' py36 runtests: commands[0] | python setup.py -q test -q warning: no previously-included files matching '*.dll' found anywhere in distribution warning: no previously-included files matching '*.pyo' found anywhere in distribution E ====================================================================== ERROR: proxy (unittest.loader._FailedTest) ---------------------------------------------------------------------- ImportError: Failed to import test module: proxy Traceback (most recent call last): File "/opt/local/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 153, in loadTestsFromName module = __import__(module_name) File "//zope.proxy/src/zope/proxy/__init__.py", line 21, in <module> from zope.interface import moduleProvides ModuleNotFoundError: No module named 'zope.interface' ``` Also enable travis pip cache.
* Merge pull request #16 from zopefoundation/issue15Jason Madden2017-04-226-44/+49
|\ | | | | Make py_sameProxiedObjects handle zope.security proxies
| * Make py_sameProxiedObjects handle zope.security proxiesissue15Jason Madden2017-04-166-44/+49
|/ | | | | | By effectively bypassing them to access `_wrapped`. Fixes #15.
* Merge pull request #14 from zopefoundation/fix-tests-wo-zope-securityTres Seaver2016-05-092-2/+18
|\ | | | | Fix tests w/o zope security
| * Test normally with zope.security.Tres Seaver2016-05-091-2/+10
| | | | | | | | | | Add a new testrunner, 'test-wo-zope-security', to exercise the 'skipUnless' added in d910979.
| * Skip tests dependent on zope.security if it is missing.Tres Seaver2016-05-091-0/+8
|/
* svbTres Seaver2016-05-052-1/+6
|
* Prep 4.2.0 release.4.2.0Tres Seaver2016-05-052-6/+6
|
* Merge pull request #13 from ↵Tres Seaver2016-05-055-2/+16
|\ | | | | | | | | zopefoundation/fix-removeAllProxies-for-securityproxies Fix removing pure python security proxies
| * fix travis testsBrian Sutherland2016-05-051-0/+1
| |
| * Fix removing pure python security proxiesBrian Sutherland2016-05-054-2/+15
|/ | | | The test is simple but requires zope.security to be installed. I chose that over writing the test in zope.security
* update bootstrap.pyAdam Groszer2016-04-201-15/+36
|
* Merge pull request #12 from ↵Tres Seaver2016-04-152-1/+6
|\ | | | | | | | | zopefoundation/avoid-poisoning-wheel-cache-python-pure Don't use/poison global wheel cache when building w/ PURE_PYTHON.
| * Don't use/poison global wheel cache when building w/ PURE_PYTHON.avoid-poisoning-wheel-cache-python-pureTres Seaver2016-04-142-1/+6
|/
* Merge pull request #11 from zopefoundation/drop-py26-py32-supportTres Seaver2016-03-234-15/+13
|\ | | | | Drop support for Python 2.6 and 3.2.
| * Drop support for Python 2.6 and 3.2.drop-py26-py32-supportTres Seaver2016-03-234-15/+13
|/
* Merge pull request #10 from felixonmars/masterMarius Gedminas2015-11-061-1/+1
|\ | | | | Use shields.io for PyPI badge
| * Use shields.io for PyPI badgeFelix Yan2015-11-061-1/+1
| |
* | Mention 3.5 in the changelogMarius Gedminas2015-11-061-1/+1
| |
* | Merge pull request #9 from felixonmars/masterMarius Gedminas2015-11-063-2/+5
|\ \ | |/ | | Note explicit support for Python 3.5
| * Note explicit support for Python 3.5Felix Yan2015-11-063-2/+5
|/
* svbTres Seaver2015-06-022-1/+6
|
* Prep 4.1.6 release.4.1.6Tres Seaver2015-06-022-2/+2
|
* Garden changelog.Tres Seaver2015-06-021-33/+34
|
* Workaround bizarre bug in PyPy 2.5.0 where proxys around types cannot be ↵Jason Madden2015-05-281-5/+19
| | | | correctly hashed.
* Fix looking up interfaces implemented/providedBy proxies around builtin ↵Jason Madden2015-05-283-3/+85
| | | | types (in pure-Python.).
* Make subclasses of ProxyBase delegate __module__ to the wrapped object. Also ↵Jason Madden2015-05-284-6/+97
| | | | fix differences between the C and Python implementations in handling __module__, whether or not a subclass is involved.
* svbTres Seaver2015-05-192-1/+6
|
* Prep 4.1.5 release.4.1.5Tres Seaver2015-05-192-2/+2
|
* Changelog for PR #7.Tres Seaver2015-05-191-1/+6
|
* Merge branch 'int-and-float' of git://github.com/NextThought/zope.proxy into ↵Tres Seaver2015-05-193-28/+94
|\ | | | | | | NextThought-int-and-float