diff options
Diffstat (limited to 'Lib/test/test_argparse.py')
-rw-r--r-- | Lib/test/test_argparse.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py index 86ec6cca51..464db29069 100644 --- a/Lib/test/test_argparse.py +++ b/Lib/test/test_argparse.py @@ -5262,6 +5262,21 @@ class TestWrappingMetavar(TestCase): ''')) +class TestExitOnError(TestCase): + + def setUp(self): + self.parser = argparse.ArgumentParser(exit_on_error=False) + self.parser.add_argument('--integers', metavar='N', type=int) + + def test_exit_on_error_with_good_args(self): + ns = self.parser.parse_args('--integers 4'.split()) + self.assertEqual(ns, argparse.Namespace(integers=4)) + + def test_exit_on_error_with_bad_args(self): + with self.assertRaises(argparse.ArgumentError): + self.parser.parse_args('--integers a'.split()) + + def test_main(): support.run_unittest(__name__) # Remove global references to avoid looking like we have refleaks. |