• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

zopefoundation / zope.interface
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: config-with-c-code-template-3c1c588c
DEFAULT BRANCH: master
Repo Added 09 Jun 2017 12:15PM UTC
Files 50
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH issue21
branch: issue21
CHANGE BRANCH
x
Reset
  • issue21
  • 4.4.2
  • 4.4.3
  • 4.6.0
  • 4.7
  • 4.7.0
  • 4.7.1
  • 4.7.2
  • 5.0.0
  • 5.0.1
  • 5.0.2
  • 5.1.0
  • 5.1.1
  • 5.1.2
  • 5.2.0
  • 5.5.0
  • 5.5.1
  • 5.5.2
  • 6.0
  • 6.1
  • 6.1a1
  • 6.1a2
  • 6.2
  • 6.3
  • 6.4
  • 6.4.post0
  • 6.4.post2
  • 7.0
  • 7.0.1
  • 7.0.2
  • 7.0.3
  • 7.1.0
  • 7.1.1
  • 7.2
  • all-repos_autofix_all-repos-sed
  • apply-isort
  • appveyor-cleanup
  • c-opts-members
  • cleanup-py2-shpinx
  • combined-coverage
  • config-with-c-code
  • config-with-c-code-II
  • config-with-c-code-template-0dfb6cbc
  • config-with-c-code-template-1c0f31f5
  • config-with-c-code-template-3c1c588c
  • config-with-c-code-template-761944d0
  • config-with-c-code-template-7ec24731
  • config-with-c-code-template-7ec8131d
  • config-with-c-code-template-8d837c89
  • config-with-c-code-template-8f22a5de
  • config-with-c-code-template-a361e1fd
  • config-with-c-code-template-acd39fc2
  • config-with-c-code-template-ae0a9480
  • config-with-c-code-template-b21fbbf2
  • config-with-c-code-template-baf6089f
  • config-with-c-code-template-c65da53e
  • config-with-c-code-template-d1a00d25
  • config-with-c-code-template-e45966cd
  • config-with-c-code-template-f05a16b9
  • config-with-meta-config
  • coverage
  • coveralls-on-travis
  • dataflake/pep667
  • dataflake/py_313_crashes
  • davisagli-fix-gc-assertion
  • doc_persistency_equality#218
  • docs-common
  • docs-common-api-doc-split
  • docs-in-py3
  • docs-update
  • document_Provides_signature
  • drop-py34
  • faster-eq-hash-comparison
  • fix-254
  • fix-280-typing.Union-pipe
  • fix-289__static_attributes__
  • fix-68
  • fix-GHA-pypy2
  • fix-latex-docs
  • fix-macos-maybe
  • fix-signature
  • fix-weaklistoffset
  • fix_register_instance_methods
  • hash-performance
  • hash_performance
  • hash_performance_2
  • hash_performance_3
  • icemac-patch-1
  • implement-_lookup-in-C
  • issue-241/docs-strict-iro
  • issue11
  • issue114
  • issue118
  • issue126
  • issue136-issue134
  • issue138
  • issue153
  • issue157
  • issue158
  • issue162
  • issue165
  • issue165-2
  • issue170
  • issue171
  • issue190
  • issue192-issue194
  • issue193
  • issue197
  • issue199
  • issue200
  • issue204
  • issue207
  • issue208
  • issue216
  • issue224
  • issue225
  • issue229
  • issue229-take2
  • issue230
  • issue236
  • issue239
  • issue3
  • issue3_minor_cleanup
  • issue6
  • issue8
  • issue85
  • issue85-take2-reduce
  • issue93
  • lookup-performance
  • mac-use-362
  • master
  • modernize-ci
  • no-pure-python-build
  • prep-7.0.1-release
  • py311b4
  • py37
  • py39
  • release-7.0.2
  • release-7.0.3
  • remove-deprecated-setuptools-feature
  • roto-drop-py33
  • roto-terryfy
  • roto-travis-pypy
  • rtd-changes
  • slots
  • tseaver-312-osd_as_basetype
  • tseaver-323-weak_ref_clearance
  • tseaver-drop_setup_py_test_fossils
  • tseaver-garden_changelog_post_pr_307
  • tseaver-lint_squishing
  • tseaver-rework_pep_489
  • use-pypi-token
  • windows-gha

pending completion
602

Pull #182

travis-ci

web-flow
Use C3 (mostly) to compute IRO.

Fixes #21

The 'mostly' is because interfaces are used in cases that C3 forbids;
when there's a conflict, we fallback to the legacy algorithm. It turns
out there are few conflicts (13K out of 149K total orderings in Plone).

I hoped the fix for #8 might shake out automatically, but it didn't.

Optimize the extremely common case of a __bases__ of length one.

In the benchmark, 4/5 of the interfaces and related objects have a base of length one.

Fix the bad IROs in the bundled ABC interfaces, and implement a way to get warnings or errors.

In running plone/buildout.coredev and tracking the RO requests, the
stats for equal, not equal, and inconsistent-so-fallback, I got
{'ros': 148868, 'eq': 138461, 'ne': 10407, 'inconsistent': 12934}

Add the interface module to the Attribute str.

This was extremely helpful tracking down the Plone problem; IDate is defined in multiple modules.
Pull Request #182: Use C3 (mostly) to compute IRO.

1395 of 1419 branches covered (98.31%)

Branch coverage included in aggregate %.

463 of 463 new or added lines in 12 files covered. (100.0%)

10430 of 10514 relevant lines covered (99.2%)

12.65 hits per line

Relevant lines Covered
Build:
Build:
10514 RELEVANT LINES 10430 COVERED LINES
12.65 HITS PER LINE
Source Files on issue21
  • List 0
  • Changed 32
  • Source Changed 15
  • Coverage Changed 32
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
602 issue21 Use C3 (mostly) to compute IRO. Fixes #21 The 'mostly' is because interfaces are used in cases that C3 forbids; when there's a conflict, we fallback to the legacy algorithm. It turns out there are few conflicts (13K out of 149K total orderings i... Pull #182 15 Mar 2020 03:01PM UTC web-flow travis-ci pending completion  
601 issue21 Use C3 (mostly) to compute IRO. Fixes #21 The 'mostly' is because interfaces are used in cases that C3 forbids; when there's a conflict, we fallback to the legacy algorithm. It turns out there are few conflicts (13K out of 149K total orderings i... push 15 Mar 2020 02:59PM UTC jamadden travis-ci pending completion  
600 issue21 Actually fall back to the old algorithm if inconsistent. I wasn't able to find a heuristic that passed the plone tests. In running plone/buildout.coredev and tracking the RO requests, the stats for equal, not equal, and inconsistent-so-fallback,... Pull #182 13 Mar 2020 08:24PM UTC web-flow travis-ci pending completion  
599 issue21 Actually fall back to the old algorithm if inconsistent. I wasn't able to find a heuristic that passed the plone tests. In running plone/buildout.coredev and tracking the RO requests, the stats for equal, not equal, and inconsistent-so-fallback,... push 13 Mar 2020 08:21PM UTC jamadden travis-ci pending completion  
596 issue21 Python 3.5 failed on appveyor; looks like setuptools issue, try updating it. Failed build https://ci.appveyor.com/project/mgedmin/zope-interface/builds/31428188/job/ek7eysfnswq2hf64 TB: python -W ignore setup.py -q bdist_wheel 36Traceback (most ... Pull #182 12 Mar 2020 05:38PM UTC web-flow travis-ci pending completion  
595 issue21 Python 3.5 failed on appveyor; looks like setuptools issue, try updating it. Failed build https://ci.appveyor.com/project/mgedmin/zope-interface/builds/31428188/job/ek7eysfnswq2hf64 TB: python -W ignore setup.py -q bdist_wheel 36Traceback (most ... push 12 Mar 2020 05:34PM UTC jamadden travis-ci pending completion  
594 issue21 Appveyor.yml was skipping installing the test dependencies. Pull #182 12 Mar 2020 04:49PM UTC web-flow travis-ci pending completion  
593 issue21 Appveyor.yml was skipping installing the test dependencies. push 12 Mar 2020 04:46PM UTC jamadden travis-ci pending completion  
592 issue21 Add env vars to print differences in legacy and C3 ROs, and to force the use of the legacy RO. push 12 Mar 2020 04:22PM UTC jamadden travis-ci pending completion  
591 issue21 Add env vars to print differences in legacy and C3 ROs, and to force the use of the legacy RO. Pull #182 12 Mar 2020 04:20PM UTC web-flow travis-ci pending completion  
See All Builds (959)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc