Merge pull request #1055 from tahoe-lafs/3705.python3-normal-trial

Run all unit tests on Python 3 unconditionally

Fixes ticket:3705
This commit is contained in:
Itamar Turner-Trauring 2021-05-10 09:59:30 -04:00 committed by GitHub
commit aa22c6e59b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 16 additions and 48 deletions

0
newsfragments/3705.minor Normal file
View File

View File

@ -1,37 +0,0 @@
"""
This module defines the subset of the full test suite which is expected to
pass on Python 3 in a way which makes that suite discoverable by trial.
This module has been ported to Python 3.
"""
from __future__ import unicode_literals
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from future.utils import PY2
if PY2:
from builtins import filter, map, zip, ascii, chr, hex, input, next, oct, open, pow, round, super, bytes, dict, list, object, range, str, max, min # noqa: F401
from twisted.python.reflect import (
namedModule,
)
from twisted.trial.runner import (
TestLoader,
)
from twisted.trial.unittest import (
TestSuite,
)
from allmydata.util._python3 import (
PORTED_TEST_MODULES,
)
def testSuite():
loader = TestLoader()
return TestSuite(list(
loader.loadModule(namedModule(module))
for module
in PORTED_TEST_MODULES
))

View File

@ -2,6 +2,16 @@
Tests to check for Python2 regressions
"""
from __future__ import unicode_literals
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from future.utils import PY2
if PY2:
from future.builtins import filter, map, zip, ascii, chr, hex, input, next, oct, open, pow, round, super, bytes, dict, list, object, range, str, max, min # noqa: F401
from unittest import skipUnless
from inspect import isclass
from twisted.python.modules import getModule
@ -37,10 +47,12 @@ def defined_here(cls, where):
"""
return cls.__module__ == where
class PythonTwoRegressions(TestCase):
"""
Regression tests for Python 2 behaviors related to Python 3 porting.
"""
@skipUnless(PY2, "No point in running on Python 3.")
def test_new_style_classes(self):
"""
All classes in Tahoe-LAFS are new-style.

View File

@ -1,14 +1,8 @@
"""
Track the port to Python 3.
The two easiest ways to run the part of the test suite which is expected to
pass on Python 3 are::
$ tox -e py36
and::
$ trial allmydata.test.python3_tests
At this point all unit tests have been ported to Python 3, so you can just run
them normally.
This module has been ported to Python 3.
"""
@ -108,7 +102,6 @@ PORTED_MODULES = [
"allmydata.test.matchers",
"allmydata.test.mutable",
"allmydata.test.mutable.util",
"allmydata.test.python3_tests",
"allmydata.test.storage_plugin",
"allmydata.test.strategies",
"allmydata.test.web",
@ -246,6 +239,7 @@ PORTED_TEST_MODULES = [
"allmydata.test.test_node",
"allmydata.test.test_observer",
"allmydata.test.test_pipeline",
"allmydata.test.test_python2_regressions",
"allmydata.test.test_python3",
"allmydata.test.test_repairer",
"allmydata.test.test_runner",

View File

@ -62,8 +62,7 @@ extras = test
setenv =
# Define TEST_SUITE in the environment as an aid to constructing the
# correct test command below.
!py36: TEST_SUITE = allmydata
py36: TEST_SUITE = allmydata.test.python3_tests
TEST_SUITE = allmydata
commands =
# As an aid to debugging, dump all of the Python packages and their