[Checkins] [zopefoundation/zope.testrunner] f0ede4: Document the interface expected from test layers

GitHub noreply at github.com
Wed Jan 14 17:07:35 CET 2015


  Branch: refs/heads/fix-instance-based-layers
  Home:   https://github.com/zopefoundation/zope.testrunner
  Commit: f0ede4f7ac90c9def1668feb06f49decb77de4b2
      https://github.com/zopefoundation/zope.testrunner/commit/f0ede4f7ac90c9def1668feb06f49decb77de4b2
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2015-01-14 (Wed, 14 Jan 2015)

  Changed paths:
    M src/zope/testrunner/interfaces.py

  Log Message:
  -----------
  Document the interface expected from test layers

(Test layers themselves don't need to explicitly indicate that they
provide this interface.)


  Commit: ef072d72e10a665a09e7512c62907d97e46be7ac
      https://github.com/zopefoundation/zope.testrunner/commit/ef072d72e10a665a09e7512c62907d97e46be7ac
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2015-01-14 (Wed, 14 Jan 2015)

  Changed paths:
    M src/zope/testrunner/runner.py

  Log Message:
  -----------
  Use consistent layer naming in failure reporting


  Commit: 2cb3f1c1c2490ee6960a72a8536905b76093d167
      https://github.com/zopefoundation/zope.testrunner/commit/2cb3f1c1c2490ee6960a72a8536905b76093d167
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2015-01-14 (Wed, 14 Jan 2015)

  Changed paths:
    M src/zope/testrunner/runner.py
    M src/zope/testrunner/tests/test_doctest.py
    A src/zope/testrunner/tests/test_runner.py
    A src/zope/testrunner/tests/testrunner-layers-instances.txt

  Log Message:
  -----------
  Restore support for instance-based layers

Commit 3a68ee9c41f4da4f6f64a1fb3fa2801a9a8e322b improved layer sorting
but accidentally dropped support for instance-based layers.  These turn
out to be rather widely used (in ZODB, in zope.app.testing, in
plone.testing etc).

This change fixes the above problem in a different way from PR #6: it
replacing inspect.getmro(layer) with a recursive sort key computation
that traverses layer.__bases__.

It doesn't actually use the C3 algorithm for MRO computation.  I tried
to find an example where that would matter and couldn't.

This commit also adds tests to prevent this from regressing in the future.


Compare: https://github.com/zopefoundation/zope.testrunner/compare/f0ede4f7ac90^...2cb3f1c1c249


More information about the checkins mailing list