<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git/src/zope/interface/tests/test_declarations.py, branch issue157</title>
<subtitle>github.com: zopefoundation/zope.interface.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/'/>
<entry>
<title>Move Declaration, Specification and ClassProvides to __slots__.</title>
<updated>2020-01-27T13:40:35+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-23T16:24:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=ab0466e56c6328407c3839a3a392cb127dbdb282'/>
<id>ab0466e56c6328407c3839a3a392cb127dbdb282</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use tp_members in SpecificationBase and ClassProvidesBase.</title>
<updated>2020-01-23T12:39:48+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-22T15:32:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=ddf670afb792b7f7849d6383f31cac3273811edf'/>
<id>ddf670afb792b7f7849d6383f31cac3273811edf</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Test PURE_PYTHON at runtime.</title>
<updated>2020-01-21T15:38:45+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-01-21T13:59:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=e76d03f51909c2b3f8cdad38eb91fa5f523b5e2e'/>
<id>e76d03f51909c2b3f8cdad38eb91fa5f523b5e2e</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable combined coverage reports under tox and branch coverage</title>
<updated>2017-06-14T14:45:49+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-06-14T14:45:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=3a1a264e6dc116c620153d2b691d5668dfaee9a4'/>
<id>3a1a264e6dc116c620153d2b691d5668dfaee9a4</id>
<content type='text'>
Fixes #91

Remove many (or most) now-redundant 'pragma: no cover'.

A few minor test changes to get full branch coverage.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #91

Remove many (or most) now-redundant 'pragma: no cover'.

A few minor test changes to get full branch coverage.
</pre>
</div>
</content>
</entry>
<entry>
<title>100% coverage (#90)</title>
<updated>2017-06-12T14:05:13+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jason+github@nextthought.com</email>
</author>
<published>2017-06-12T14:05:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=1f00dcfa8e7f4cc2e5706c9af44f1cab20b22d88'/>
<id>1f00dcfa8e7f4cc2e5706c9af44f1cab20b22d88</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Test sanity cleanups (#88)</title>
<updated>2017-06-09T02:19:13+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jason+github@nextthought.com</email>
</author>
<published>2017-06-09T02:19:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=8bcfddcfbe8a597c7af0de191d51569fa1b1f603'/>
<id>8bcfddcfbe8a597c7af0de191d51569fa1b1f603</id>
<content type='text'>
* 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests asserting that optimzations are / are not present as expected.</title>
<updated>2016-11-15T22:54:25+00:00</updated>
<author>
<name>Tres Seaver</name>
<email>tseaver@palladion.com</email>
</author>
<published>2016-11-15T22:54:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=b27a50f4131ccf10732d7ebd20b3f8fa8afd397c'/>
<id>b27a50f4131ccf10732d7ebd20b3f8fa8afd397c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix equality testing of implementedBy objects that have been proxied. Fixes #55.</title>
<updated>2016-09-02T23:20:25+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-09-02T23:20:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=c0e980b4b986a95a7699d0f417d6f8ff185f48d7'/>
<id>c0e980b4b986a95a7699d0f417d6f8ff185f48d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make declarations.Implements sortable.</title>
<updated>2016-08-03T15:34:31+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-03T15:32:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=bbf1a3d4792bf5b0a3969746521b27d2a2b4bf06'/>
<id>bbf1a3d4792bf5b0a3969746521b27d2a2b4bf06</id>
<content type='text'>
Fixes #42
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #42
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the _u compat function.</title>
<updated>2016-08-02T21:56:25+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-02T21:56:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=3973374c6ad1042c1e30a8b43374906b3be753b0'/>
<id>3973374c6ad1042c1e30a8b43374906b3be753b0</id>
<content type='text'>
Since we no longer support 3.2 we can use the literal syntax.

This was done with a quick sed script.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we no longer support 3.2 we can use the literal syntax.

This was done with a quick sed script.
</pre>
</div>
</content>
</entry>
</feed>
