Skip to content

Commit a674838

Browse files
authored
Merge pull request #3715 from boegel/rip_python26
drop support for Python 2.6
2 parents 9b22728 + e0b7c51 commit a674838

File tree

2 files changed

+6
-41
lines changed

2 files changed

+6
-41
lines changed

easybuild/tools/systemtools.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050

5151
from easybuild.base import fancylogger
5252
from easybuild.tools.build_log import EasyBuildError
53-
from easybuild.tools.config import build_option
5453
from easybuild.tools.filetools import is_readable, read_file, which
5554
from easybuild.tools.py2vs3 import string_type
5655
from easybuild.tools.run import run_cmd
@@ -1032,17 +1031,9 @@ def check_python_version():
10321031
python_ver = '%d.%d' % (python_maj_ver, python_min_ver)
10331032
_log.info("Found Python version %s", python_ver)
10341033

1035-
silence_deprecation_warnings = build_option('silence_deprecation_warnings') or []
1036-
10371034
if python_maj_ver == 2:
1038-
if python_min_ver < 6:
1039-
raise EasyBuildError("Python 2.6 or higher is required when using Python 2, found Python %s", python_ver)
1040-
elif python_min_ver == 6:
1041-
depr_msg = "Running EasyBuild with Python 2.6 is deprecated"
1042-
if 'Python26' in silence_deprecation_warnings:
1043-
_log.warning(depr_msg)
1044-
else:
1045-
_log.deprecated(depr_msg, '5.0')
1035+
if python_min_ver < 7:
1036+
raise EasyBuildError("Python 2.7 is required when using Python 2, found Python %s", python_ver)
10461037
else:
10471038
_log.info("Running EasyBuild with Python 2 (version %s)", python_ver)
10481039

test/framework/systemtools.py

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -850,54 +850,28 @@ def mock_python_ver(py_maj_ver, py_min_ver):
850850
error_pattern = r"EasyBuild is not compatible \(yet\) with Python 4.0"
851851
self.assertErrorRegex(EasyBuildError, error_pattern, check_python_version)
852852

853-
mock_python_ver(2, 5)
854-
error_pattern = r"Python 2.6 or higher is required when using Python 2, found Python 2.5"
853+
mock_python_ver(2, 6)
854+
error_pattern = r"Python 2.7 is required when using Python 2, found Python 2.6"
855855
self.assertErrorRegex(EasyBuildError, error_pattern, check_python_version)
856856

857857
# no problems when running with a supported Python version
858858
for pyver in [(2, 7), (3, 5), (3, 6), (3, 7)]:
859859
mock_python_ver(*pyver)
860860
self.assertEqual(check_python_version(), pyver)
861861

862-
mock_python_ver(2, 6)
863-
# deprecation warning triggers an error in test environment
864-
error_pattern = r"Running EasyBuild with Python 2.6 is deprecated"
865-
self.assertErrorRegex(EasyBuildError, error_pattern, check_python_version)
866-
867-
# we may trigger a deprecation warning below (when testing with Python 2.6)
868-
py26_depr_warning = "\nWARNING: Deprecated functionality, will no longer work in v5.0: "
869-
py26_depr_warning += "Running EasyBuild with Python 2.6 is deprecated"
870-
871-
self.allow_deprecated_behaviour()
872-
873-
# first test with mocked Python 2.6
874-
self.mock_stderr(True)
875-
check_python_version()
876-
stderr = self.get_stderr()
877-
self.mock_stderr(False)
878-
879-
# we should always get a deprecation warning here
880-
self.assertTrue(stderr.startswith(py26_depr_warning))
881-
882-
# restore Python version info to check with Python version used to run tests
883-
st.sys.version_info = self.orig_sys_version_info
884-
885862
# shouldn't raise any errors, since Python version used to run tests should be supported;
886863
self.mock_stderr(True)
887864
(py_maj_ver, py_min_ver) = check_python_version()
888865
stderr = self.get_stderr()
889866
self.mock_stderr(False)
867+
self.assertFalse(stderr)
890868

891869
self.assertTrue(py_maj_ver in [2, 3])
892870
if py_maj_ver == 2:
893-
self.assertTrue(py_min_ver in [6, 7])
871+
self.assertTrue(py_min_ver == 7)
894872
else:
895873
self.assertTrue(py_min_ver >= 5)
896874

897-
# only deprecation warning when actually testing with Python 2.6
898-
if sys.version_info[:2] == (2, 6):
899-
self.assertTrue(stderr.startswith(py26_depr_warning))
900-
901875
def test_pick_dep_version(self):
902876
"""Test pick_dep_version function."""
903877

0 commit comments

Comments
 (0)