Commit 8753e36a authored by Jason Madden's avatar Jason Madden Committed by GitHub

Merge pull request #139 from zopefoundation/issue137

Ensure resolution order for all objects is consistent
parents 94809065 e7fec591
...@@ -30,12 +30,12 @@ jobs: ...@@ -30,12 +30,12 @@ jobs:
- name: "Python: 2.7, pure (no C extensions)" - name: "Python: 2.7, pure (no C extensions)"
python: 2.7 python: 2.7
env: PURE_PYTHON=1 env: PURE_PYTHON=1
- name: "Python: 3.6, pure (no C extensions), with coverage" - name: "Python: 3.8, pure (no C extensions), with coverage, strict IRO"
python: 3.6 python: 3.8
env: PURE_PYTHON=1 WITH_COVERAGE=1 env: PURE_PYTHON=1 WITH_COVERAGE=1 ZOPE_INTERFACE_STRICT_IRO=1
- name: "Python: 3.6, with coverage" - name: "Python: 3.8, with coverage, strict IRO"
python: 3.6 python: 3.8
env: WITH_COVERAGE=1 env: WITH_COVERAGE=1 ZOPE_INTERFACE_STRICT_IRO=1
# manylinux wheel builds # manylinux wheel builds
- name: 64-bit manylinux wheels (all Pythons) - name: 64-bit manylinux wheels (all Pythons)
...@@ -91,9 +91,11 @@ install: ...@@ -91,9 +91,11 @@ install:
script: script:
- python --version - python --version
# Temporary use of unittest over zope.testrunner; see tox.ini.
# (WITH_COVERAGE implies STRICT_IRO)
- | - |
if [[ "$WITH_COVERAGE" == "1" ]]; then if [[ "$WITH_COVERAGE" == "1" ]]; then
python -m coverage run -m zope.testrunner --test-path=. --auto-color --auto-progress --verbose python -m coverage run -m unittest discover -s .
else else
python -m zope.testrunner --test-path=. --auto-color --auto-progress --verbose python -m zope.testrunner --test-path=. --auto-color --auto-progress --verbose
fi fi
......
...@@ -129,7 +129,7 @@ class ISet(IKeySequence, ISetMutable): ...@@ -129,7 +129,7 @@ class ISet(IKeySequence, ISetMutable):
pass pass
class ITreeSet(IKeyed, ISetMutable): class ITreeSet(ISetMutable):
pass pass
class IMinimalDictionary(ISized, IKeyed): class IMinimalDictionary(ISized, IKeyed):
......
...@@ -43,4 +43,9 @@ for family in _FAMILIES: ...@@ -43,4 +43,9 @@ for family in _FAMILIES:
_suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(mod)) _suite.addTest(unittest.defaultTestLoader.loadTestsFromModule(mod))
def test_suite(): def test_suite():
# zope.testrunner protocol
return _suite return _suite
def load_tests(loader, standard_tests, pattern): # pylint:disable=unused-argument
# Pure unittest protocol.
return test_suite()
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
incorrectly left out names. See `PR 132 incorrectly left out names. See `PR 132
<https://github.com/zopefoundation/BTrees/pull/132>`_. <https://github.com/zopefoundation/BTrees/pull/132>`_.
- Ensure the interface resolution order of all objects is consistent.
See `issue 137 <https://github.com/zopefoundation/BTrees/issues/137>`_.
4.7.0 (2020-03-17) 4.7.0 (2020-03-17)
================== ==================
......
...@@ -10,9 +10,13 @@ usedevelop = true ...@@ -10,9 +10,13 @@ usedevelop = true
extras = extras =
test test
commands = commands =
zope-testrunner --test-path=. --auto-color --auto-progress [] # Temporary work around. Avoid zope.testrunner pending
# https://github.com/zopefoundation/zope.security/issues/71
python -m unittest discover -s BTrees -t .
setenv = setenv =
PYTHONFAULTHANDLER=1 PYTHONFAULTHANDLER=1
PYTHONDEVMODE=1
ZOPE_INTERFACE_STRICT_IRO=1
pure: PURE_PYTHON=1 pure: PURE_PYTHON=1
#[testenv:jython] #[testenv:jython]
...@@ -33,6 +37,9 @@ commands = ...@@ -33,6 +37,9 @@ commands =
coverage report --fail-under=92 coverage report --fail-under=92
deps = deps =
coverage coverage
# Temporary; see main testenv.
setenv =
ZOPE_INTERFACE_STRICT_IRO=0
[testenv:docs] [testenv:docs]
basepython = basepython =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment