From e27569b02d9718c19ece71ce6d5124b967277399 Mon Sep 17 00:00:00 2001 From: Vinay Sajip Date: Mon, 23 Oct 2023 18:27:58 +0100 Subject: [PATCH] Fix #208: Handle deprecation removals in Python 3.13. --- tests/test_scripts.py | 16 ++++++++++++---- tests/test_version.py | 17 ++++++++++++----- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/tests/test_scripts.py b/tests/test_scripts.py index 2765d63..5c38687 100644 --- a/tests/test_scripts.py +++ b/tests/test_scripts.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2012-2022 Vinay Sajip. +# Copyright (C) 2012-2023 Vinay Sajip. # Licensed to the Python Software Foundation under a contributor agreement. # See LICENSE.txt and CONTRIBUTORS.txt. # @@ -327,13 +327,21 @@ def test_dry_run(self): self.assertFalse(ofiles) def test_script_run(self): - files = self.maker.make('test = cgi:print_directory') + if sys.version_info[:2] < (3, 13): + target = 'cgi:print_directory' + else: + target = 'test.support.interpreters:list_all' + files = self.maker.make('test = %s' % target) self.assertEqual(len(files), 2) p = subprocess.Popen([sys.executable, files[0]], stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = p.communicate() - self.assertIn(b'

Current Working Directory:

', stdout) - self.assertIn(os.getcwd().encode('utf-8'), stdout) + if sys.version_info[:2] < (3, 13): + self.assertIn(b'

Current Working Directory:

', stdout) + self.assertIn(os.getcwd().encode('utf-8'), stdout) + else: + self.assertIn(b'[Interpreter(id=0, isolated=None)]', stderr) + self.assertEqual(p.returncode, 1) @unittest.skipUnless(os.name == 'posix', 'Test only valid for POSIX') def test_mode(self): diff --git a/tests/test_version.py b/tests/test_version.py index 6f71fbe..388cd6b 100644 --- a/tests/test_version.py +++ b/tests/test_version.py @@ -1,9 +1,10 @@ # -# Copyright (C) 2012-2013 The Python Software Foundation. +# Copyright (C) 2012-2023 The Python Software Foundation. # See LICENSE.txt and CONTRIBUTORS.txt. # """Tests for distlib.version.""" import doctest +import sys from compat import unittest from support import DistlibTestCase @@ -645,10 +646,16 @@ def is_less(v1, v2): def test_suite(): #README = os.path.join(os.path.dirname(__file__), 'README.txt') #suite = [doctest.DocFileSuite(README), unittest.makeSuite(VersionTestCase)] - suite = [unittest.makeSuite(VersionTestCase), - unittest.makeSuite(CompatibilityTestCase), - unittest.makeSuite(LegacyVersionTestCase), - unittest.makeSuite(SemanticVersionTestCase)] + if sys.version_info[:2] < (3, 13): + suite = [unittest.makeSuite(VersionTestCase), + unittest.makeSuite(CompatibilityTestCase), + unittest.makeSuite(LegacyVersionTestCase), + unittest.makeSuite(SemanticVersionTestCase)] + else: + suite = unittest.defaultTestLoader.loadTestsFromNames([ + 'VersionTestCase', 'CompatibilityTestCase', + 'LegacyVersionTestCase', 'SemanticVersionTestCase' + ], module=sys.modules['__main__']) return unittest.TestSuite(suite) if __name__ == "__main__": # pragma: no cover