gh-89392: Use unittest test runner for doctests in test_getopt (GH-108916)

This commit is contained in:
Serhiy Storchaka 2023-09-05 17:35:28 +03:00 committed by GitHub
parent eaabaac7c0
commit f980cc19b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,8 +1,8 @@
# test_getopt.py
# David Goodger <dgoodger@bigfoot.com> 2000-08-19
from test.support import verbose, run_doctest
from test.support.os_helper import EnvironmentVarGuard
import doctest
import unittest
import getopt
@ -134,8 +134,15 @@ class GetoptTests(unittest.TestCase):
self.assertEqual(opts, [('-a', '')])
self.assertEqual(args, ['arg1', '-b', '1', '--alpha', '--beta=2'])
def test_libref_examples(self):
s = """
def test_issue4629(self):
longopts, shortopts = getopt.getopt(['--help='], '', ['help='])
self.assertEqual(longopts, [('--help', '')])
longopts, shortopts = getopt.getopt(['--help=x'], '', ['help='])
self.assertEqual(longopts, [('--help', 'x')])
self.assertRaises(getopt.GetoptError, getopt.getopt, ['--help='], '', ['help'])
def test_libref_examples():
"""
Examples from the Library Reference: Doc/lib/libgetopt.tex
An example using only Unix style options:
@ -166,16 +173,10 @@ class GetoptTests(unittest.TestCase):
['a1', 'a2']
"""
import types
m = types.ModuleType("libreftest", s)
run_doctest(m, verbose)
def load_tests(loader, tests, pattern):
tests.addTest(doctest.DocTestSuite())
return tests
def test_issue4629(self):
longopts, shortopts = getopt.getopt(['--help='], '', ['help='])
self.assertEqual(longopts, [('--help', '')])
longopts, shortopts = getopt.getopt(['--help=x'], '', ['help='])
self.assertEqual(longopts, [('--help', 'x')])
self.assertRaises(getopt.GetoptError, getopt.getopt, ['--help='], '', ['help'])
if __name__ == "__main__":
unittest.main()