| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Fixes #158
|
| |
|
|
| |
Fixes #157
|
| | |
|
| |
|
|
| |
another few percent.
|
| |
|
|
|
|
| |
example), so avoid allocating a WeakKeyDictionary until needed.
This saves another 2% or so.
|
| |
|
|
| |
In a test of 6000 modules that load 2245 InterfaceClass objects and produce 2233 ClassProvides instances, this saves about 1% total memory usage in Python 2.7.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of storing 1 and 2 attributes, respectively, in __dict__. This lets us eliminate inst_attr and its use of an undocumented API.
It also helps reign in the size of these objects. Before, on CPython 8, a ClassProvides object that subclasses both SpecificationBase and ClassProvidesBase required 408 bytes: 48 for the object, 360 for the dict.
Now it requires 72 + 232 = 304.
With a bit of work on defining __slots__ in Python, that can be brought much lower still, I think.
zope.security tests pass with this installed.
|
| |
|
|
| |
Also add a line of missing whitespace.
|
| |
|
|
| |
And tox. It wasn't properly working to report coverage before.
|
| |
|
|
|
|
|
| |
Turns out that the C extensions build and work fine with PyPy, but don't use them by default. Let them
be forced, though.
Tests needed some refactoring to account for the various permutations.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Fixes #126
|
| |
|
|
| |
Add cross references and some formatting fixes.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Also bring the ``classImplements`` lines closer to the interface
declaration. This helped me be sure that nothing was missed and that
all the repetitions of the names matched.
|
| |
|
|
|
|
| |
We *do* have a dependency on setuptools, so the try/except block should be unnecessary. At worst it might hide installation errors.
Fixes #114.
|
| |
|
| |
* Fixes #12 - registering instance methods as listeners doesn’t allow to easily unregister them as the registry tries to find the handler with 'is' but it should use '==' to allow the python BoundMethod wrapper (which is a new instance every time instance.$methodname is accessed).
|
| |
|
| |
Thank you for follows. I misread it for carriage return.
|
| |
|
|
|
|
| |
call PyObject_GC_UnTrack() in tp_dealloc()
see the following sites for details:
* https://bugs.python.org/issue31095
* https://github.com/python/cpython/pull/2974
|
| | |
|
| |\
| |
| | |
Enable combined coverage reports under tox and branch coverage
|
| | |
| |
| |
| | |
callers already do this guard; be more explicit about ClassType in test_odd_declarations
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Fixes #91
Remove many (or most) now-redundant 'pragma: no cover'.
A few minor test changes to get full branch coverage.
|
| |/
|
|
| |
Fixes #93
|
| |
|
|
|
|
|
|
|
|
| |
This is an alternative to #86 and was suggested by @mgedmin in #85.
There are tests to be sure this works for subclasses like Pyramid's
Registry that extend dict too.
This doesn't change the pickle format, we were storing the output of
object.__reduce__ previously.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Get as close to 100% coverage as possible.
Without conflicting with #86.
This is almost entirely trivial changes:
- Make dummy methods that should never be called either raise
NotImplementedError or call self.fail() in tests.
- Standardize the no-coverage pragma
- Add a few pragmas where coverage varies across
versions/implementations, mostly for the sake of tox (travis should
hit them all).
* Convert tox to run the coverage command, like travis. A follow up should have it produce coverage for all python versions/implementations.
Fixes #87
* Adjust coverage config for py2 only tests; fix typo; finish replacing self with cls
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Test sanity cleanups
Partially addresses #87
- Remove manual lists of tests in favor of loadTestsFromName. This
mostly gets all test runners running the same number of tests.
- Remove `additional_tests`, which was just duplicating the discovered
tests. No modern test runner seems to need it.
- Change the two compatibility skip decorators to actually use
unitetest skips, which helps with the reporting.
* Per @tseaver, drop most test_suite functions.
* Port remaining doctest to unittest.
* Make the odd tests work on all supported python versions
|
| | |
|
| |
|
|
|
| |
simplification, avoids spurious test failures when checking for
leaks in tests with persistent registries.
|
| |
|
|
|
|
| |
Prevents corruption of lookup cache.
Alternative to fix proposed in #75.
|
| |
|
|
|
|
| |
Instead, use the intended METH_KEYWORDS | METH_VARARGS spelling.
Fixes #71
|
| |\
| |
| | |
Document API for adapter registry.
|
| | |
| |
| |
| | |
Closes: #41.
|
| |/
|
|
|
|
| |
Closes #23.
[ci skip]
|
| |\
| |
| |
| |
| |
| |
| | |
Conflicts:
CHANGES.rst
I think that was the simplest conflict resolution ever :-]
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- The bare import of '_zope_c_optimizations' prevented them from being
used.
- After enabling them via absolute imports, they would fail due to
http://bugs.python.org/issue15657.
Fixes #60.
|
| |/ |
|
| | |
|