summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2014-06-14 20:01:02 +0200
committerClaude Paroz <claude@2xlibre.net>2014-06-14 20:01:02 +0200
commitc24e979ece2729716593291d3ebd81fdf7fc3b7d (patch)
treefb3adf9d150212cc911625729fd6912c3c67ee9c
parent5949c2118d7cc7cffe86cd9db1820b186b88bfc0 (diff)
Fixed #7762 -- Hidden full script name in command error output
-rw-r--r--django/core/management/base.py3
-rw-r--r--tests/admin_scripts/tests.py8
2 files changed, 10 insertions, 1 deletions
diff --git a/django/core/management/base.py b/django/core/management/base.py
index b61d0b9b77..99997059dc 100644
--- a/django/core/management/base.py
+++ b/django/core/management/base.py
@@ -300,7 +300,8 @@ class BaseCommand(object):
for opt in self.option_list:
parser.add_option(opt)
else:
- parser = CommandParser(self, prog="%s %s" % (prog_name, subcommand), description=self.help or None)
+ parser = CommandParser(self, prog="%s %s" % (os.path.basename(prog_name), subcommand),
+ description=self.help or None)
parser.add_argument('--version', action='version', version=self.get_version())
parser.add_argument('-v', '--verbosity', action='store', dest='verbosity', default='1',
type=int, choices=[0, 1, 2, 3],
diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
index b8fea1d0d3..ec7f47ac36 100644
--- a/tests/admin_scripts/tests.py
+++ b/tests/admin_scripts/tests.py
@@ -1417,6 +1417,14 @@ class CommandTypes(AdminScriptTestCase):
expected_labels = "('testlabel',)"
self._test_base_command(args, expected_labels, option_a="'x'", option_b="'y'")
+ def test_base_command_with_wrong_option(self):
+ "User BaseCommands outputs command usage when wrong option is specified"
+ args = ['base_command', '--invalid']
+ out, err = self.run_manage(args)
+ self.assertNoOutput(out)
+ self.assertOutput(err, "usage: manage.py base_command")
+ self.assertOutput(err, "error: unrecognized arguments: --invalid")
+
def _test_base_command(self, args, labels, option_a="'1'", option_b="'2'"):
out, err = self.run_manage(args)