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

zopefoundation / zope.interface
99%
master: 99%

Build:
Build:
LAST BUILD BRANCH: 8.2
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
  • 8.0
  • 8.0.1
  • 8.1
  • 8.1.1
  • 8.1.1.a1
  • 8.2
  • 8.2.a1
  • all-repos_autofix_all-repos-sed
  • annotate-func
  • 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-2921ca42
  • config-with-c-code-template-3c1c588c
  • config-with-c-code-template-6cd4f790
  • 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-ad3bfb10
  • 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
  • make-tests-independend-from-calling
  • master
  • modernize-ci
  • no-pure-python-build
  • pep-420-native-namespace
  • prep-7.0.1-release
  • py311b4
  • py37
  • py39
  • release-7.0.2
  • release-7.0.3
  • remove-deprecated-setuptools-feature
  • remove-setuptools-dependency
  • 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
Detailed source file information is not available for this build.

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 (1020)
  • 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

© 2026 Coveralls, Inc