Converted test management command to argparse

Keeping backwards compatibility with test_runner.option_list is
tricky and would imply transforming an optparse.Option to an
argparse.Action. I choose to introduce a backwards incompatible
change because it only affects testing, not runtime behavior.
This commit is contained in:
Claude Paroz 2014-06-06 20:12:23 +02:00
parent cbff097bd9
commit 4b4524291a
5 changed files with 86 additions and 50 deletions

View file

@ -333,9 +333,15 @@ execute and tear down the test suite.
runner, ensure it accepts ``**kwargs``.
Your test runner may also define additional command-line options.
If you add an ``option_list`` attribute to a subclassed test runner,
those options will be added to the list of command-line options that
the :djadmin:`test` command can use.
Create or override an ``add_arguments(cls, parser)`` class method and add
custom arguments by calling ``parser.add_argument()`` inside the method, so
that the :djadmin:`test` command will be able to use those arguments.
.. versionchanged:: 1.8
Previously, you had to provide an ``option_list`` attribute to a
subclassed test runner to add options to the list of command-line
options that the :djadmin:`test` command could use.
Attributes
~~~~~~~~~~
@ -372,6 +378,12 @@ Attributes
management command's ``OptionParser`` for parsing arguments. See the
documentation for Python's ``optparse`` module for more details.
.. deprecated:: 1.8
You should now override the :meth:`~DiscoverRunner.add_arguments` class
method to add custom arguments accepted by the :djadmin:`test`
management command.
Methods
~~~~~~~
@ -389,6 +401,15 @@ Methods
This method should return the number of tests that failed.
.. classmethod:: DiscoverRunner.add_arguments(parser)
.. versionadded:: 1.8
Override this class method to add custom arguments accepted by the
:djadmin:`test` management command. See
:py:meth:`argparse.ArgumentParser.add_argument()` for details about adding
arguments to a parser.
.. method:: DiscoverRunner.setup_test_environment(**kwargs)
Sets up the test environment by calling