Index: Lib/test/test_argparse.py =================================================================== --- Lib/test/test_argparse.py (revision 83954) +++ Lib/test/test_argparse.py (working copy) @@ -26,6 +26,13 @@ print(obj2) super(TestCase, self).assertEqual(obj1, obj2) + def setUp(self): + # The tests assume that line wrapping occurs at 80 columns, but this + # behaviour can be overridden by setting the COLUMNS environment + # variable. To ensure that this assumption is true, unset COLUMNS. + env = support.EnvironmentVarGuard() + del env["COLUMNS"] + self.addCleanup(env.revert) class TempDirMixin(object): @@ -1715,6 +1722,7 @@ return parser def setUp(self): + super().setUp() self.parser = self._get_parser() self.command_help_parser = self._get_parser(subparser_help=True) @@ -1942,6 +1950,7 @@ self.assertRaises(ArgumentParserError, *args, **kwargs) def setUp(self): + super().setUp() self.wxyz_parent = ErrorRaisingArgumentParser(add_help=False) self.wxyz_parent.add_argument('--w') x_group = self.wxyz_parent.add_argument_group('x') Index: Lib/test/support.py =================================================================== --- Lib/test/support.py (revision 83954) +++ Lib/test/support.py (working copy) @@ -692,6 +692,9 @@ return self def __exit__(self, *ignore_exc): + self.revert() + + def revert(self): for (k, v) in self._changed.items(): if v is None: if k in self._environ: