mirror of
https://github.com/django/django.git
synced 2025-07-24 21:54:14 +00:00
Fixed #34259 -- Passed called_from_command_line to command subparsers.
This commit is contained in:
parent
1250483ebf
commit
017fa23d3b
3 changed files with 47 additions and 0 deletions
13
tests/user_commands/management/commands/subparser_vanilla.py
Normal file
13
tests/user_commands/management/commands/subparser_vanilla.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
import argparse
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
def add_arguments(self, parser):
|
||||
subparsers = parser.add_subparsers(parser_class=argparse.ArgumentParser)
|
||||
parser_foo = subparsers.add_parser("foo")
|
||||
parser_foo.add_argument("bar", type=int)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
pass
|
|
@ -468,6 +468,30 @@ class CommandRunTests(AdminScriptTestCase):
|
|||
self.assertNoOutput(err)
|
||||
self.assertEqual(out.strip(), "Set foo")
|
||||
|
||||
def test_subparser_error_formatting(self):
|
||||
self.write_settings("settings.py", apps=["user_commands"])
|
||||
out, err = self.run_manage(["subparser", "foo", "twelve"])
|
||||
self.maxDiff = None
|
||||
self.assertNoOutput(out)
|
||||
err_lines = err.splitlines()
|
||||
self.assertEqual(len(err_lines), 2)
|
||||
self.assertEqual(
|
||||
err_lines[1],
|
||||
"manage.py subparser foo: error: argument bar: invalid int value: 'twelve'",
|
||||
)
|
||||
|
||||
def test_subparser_non_django_error_formatting(self):
|
||||
self.write_settings("settings.py", apps=["user_commands"])
|
||||
out, err = self.run_manage(["subparser_vanilla", "foo", "seven"])
|
||||
self.assertNoOutput(out)
|
||||
err_lines = err.splitlines()
|
||||
self.assertEqual(len(err_lines), 2)
|
||||
self.assertEqual(
|
||||
err_lines[1],
|
||||
"manage.py subparser_vanilla foo: error: argument bar: invalid int value: "
|
||||
"'seven'",
|
||||
)
|
||||
|
||||
|
||||
class UtilsTests(SimpleTestCase):
|
||||
def test_no_existent_external_program(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue