Between Zope 2.8 and 2.9 the test runner changed in various ways. Backwards compatibility was a stated goal, but so far it has not been reached. This document compares test runner invocations for the three simple scenarios that cover 99% of my own use cases.
Test all products in my instance home
Zope < 2.9: bin/zopectl test
Zope >= 2.9: bin/zopectl test
Test one specific product in my instance home
Zope < 2.9: bin/zopectl test CMFTopic
Zope >= 2.9: bin/zopectl test -mCMFTopic
Test one specific module in a product in my instance home
Zope < 2.9: bin/zopectl test Products/CMFTopic/tests/test_DateC.py
Zope >= 2.9: bin/zopectl test -mProducts.CMFTopic.tests.test_DateC