Commit 713d3039 authored by Éric Araujo's avatar Éric Araujo

Fix usage of :option: in the docs (#9312).

:option: is used to create a link to an option of python, not to mark
up any instance of any arbitrary command-line option.  These were
changed to ````.

For modules which do have a command-line interface, lists of options
have been properly marked up with the program/cmdoption directives
combo.  Options defined in such blocks can be linked to with :option:
later in the same file, they won’t link to an option of python.

Finally, the markup of command-line fragments in optparse.rst has
been cleaned to use ``x`` instead of ``"x"``, keeping that latter
form for actual Python strings.

Patch by Eli Bendersky and Éric Araujo.
parent daa29d01
......@@ -788,7 +788,7 @@ Encodings and Unicode
Strings are stored internally as sequences of codepoints (to be precise
as :c:type:`Py_UNICODE` arrays). Depending on the way Python is compiled (either
via :option:`--without-wide-unicode` or :option:`--with-wide-unicode`, with the
via ``--without-wide-unicode`` or ``--with-wide-unicode``, with the
former being the default) :c:type:`Py_UNICODE` is either a 16-bit or 32-bit data
type. Once a string object is used outside of CPU and memory, CPU endianness
and how these arrays are stored as bytes become an issue. Transforming a
......
......@@ -10,16 +10,53 @@ libraries. These functions compile Python source files in a directory tree,
allowing users without permission to write to the libraries to take advantage of
cached byte-code files.
This module may also be used as a script (using the :option:`-m` Python flag) to
compile Python sources. Directories to recursively traverse (passing
:option:`-l` stops the recursive behavior) for sources are listed on the command
line. If no arguments are given, the invocation is equivalent to ``-l
sys.path``. Printing lists of the files compiled can be disabled with the
:option:`-q` flag. In addition, the :option:`-x` option takes a regular
expression argument. All files that match the expression will be skipped.
The :option:`-b` flag may be given to write legacy ``.pyc`` file path names,
otherwise :pep:`3147` style byte-compiled path names are written.
Command-line use
----------------
This module can work as a script (using :program:`python -m compileall`) to
compile Python sources.
.. program:: compileall
.. cmdoption:: [directory|file]...
Positional arguments are files to compile or directories that contain
source files, traversed recursively. If no argument is given, behave as if
the command line was ``-l <directories from sys.path>``.
.. cmdoption:: -l
Do not recurse.
.. cmdoption:: -f
Force rebuild even if timestamps are up-to-date.
.. cmdoption:: -q
Do not print the list of files compiled.
.. cmdoption:: -d destdir
Purported directory name for error messages.
.. cmdoption:: -x regex
Skip files with a full path that matches given regular expression.
.. cmdoption:: -i list
Expand list with its content (file and directory names).
.. cmdoption:: -b
Write legacy ``.pyc`` file path names. Default is to write :pep:`3147`-style
byte-compiled path names.
Public functions
----------------
.. function:: compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, quiet=False, legacy=False)
......@@ -37,7 +74,7 @@ otherwise :pep:`3147` style byte-compiled path names are written.
operation.
If *legacy* is true, old-style ``.pyc`` file path names are written,
otherwise (the default), :pep:`3147` style path names are written.
otherwise (the default), :pep:`3147`-style path names are written.
.. function:: compile_path(skip_curdir=True, maxlevels=0, force=False, legacy=False)
......@@ -64,4 +101,3 @@ subdirectory and all its subdirectories::
Module :mod:`py_compile`
Byte-compile a single source file.
......@@ -88,7 +88,7 @@ works its magic::
$
There's no output! That's normal, and it means all the examples worked. Pass
:option:`-v` to the script, and :mod:`doctest` prints a detailed log of what
``-v`` to the script, and :mod:`doctest` prints a detailed log of what
it's trying, and prints a summary at the end::
$ python example.py -v
......@@ -151,7 +151,7 @@ example(s) and the cause(s) of the failure(s) are printed to stdout, and the
final line of output is ``***Test Failed*** N failures.``, where *N* is the
number of examples that failed.
Run it with the :option:`-v` switch instead::
Run it with the ``-v`` switch instead::
python M.py -v
......@@ -160,7 +160,7 @@ with assorted summaries at the end.
You can force verbose mode by passing ``verbose=True`` to :func:`testmod`, or
prohibit it by passing ``verbose=False``. In either of those cases,
``sys.argv`` is not examined by :func:`testmod` (so passing :option:`-v` or not
``sys.argv`` is not examined by :func:`testmod` (so passing ``-v`` or not
has no effect).
There is also a command line shortcut for running :func:`testmod`. You can
......@@ -229,7 +229,7 @@ See section :ref:`doctest-basic-api` for a description of the optional arguments
that can be used to tell it to look for files in other locations.
Like :func:`testmod`, :func:`testfile`'s verbosity can be set with the
:option:`-v` command-line switch or with the optional keyword argument
``-v`` command-line switch or with the optional keyword argument
*verbose*.
There is also a command line shortcut for running :func:`testfile`. You can
......@@ -1377,7 +1377,7 @@ DocTestRunner objects
verbosity. If *verbose* is ``True``, then information is printed about each
example, as it is run. If *verbose* is ``False``, then only failures are
printed. If *verbose* is unspecified, or ``None``, then verbose output is used
iff the command-line switch :option:`-v` is used.
iff the command-line switch ``-v`` is used.
The optional keyword argument *optionflags* can be used to control how the test
runner compares expected output to actual output, and how it displays failures.
......
......@@ -120,7 +120,7 @@ The following exceptions are the exceptions that are usually raised.
Raised when a floating point operation fails. This exception is always defined,
but can only be raised when Python is configured with the
:option:`--with-fpectl` option, or the :const:`WANT_SIGFPE_HANDLER` symbol is
``--with-fpectl`` option, or the :const:`WANT_SIGFPE_HANDLER` symbol is
defined in the :file:`pyconfig.h` file.
......
......@@ -47,7 +47,7 @@ exception:
empty string. Long options on the command line can be recognized so long as
they provide a prefix of the option name that matches exactly one of the
accepted options. For example, if *longopts* is ``['foo', 'frob']``, the
option :option:`--fo` will match as :option:`--foo`, but :option:`--f` will
option ``--fo`` will match as ``--foo``, but ``--f`` will
not match uniquely, so :exc:`GetoptError` will be raised.
The return value consists of two elements: the first is a list of ``(option,
......@@ -68,7 +68,7 @@ exception:
intermixed. The :func:`getopt` function stops processing options as soon as a
non-option argument is encountered.
If the first character of the option string is '+', or if the environment
If the first character of the option string is ``'+'``, or if the environment
variable :envvar:`POSIXLY_CORRECT` is set, then option processing stops as
soon as a non-option argument is encountered.
......
......@@ -286,13 +286,13 @@ Command line usage
If there are arguments:
#. If :option:`-e` is used, arguments are files opened for editing and
#. If ``-e`` is used, arguments are files opened for editing and
``sys.argv`` reflects the arguments passed to IDLE itself.
#. Otherwise, if :option:`-c` is used, all arguments are placed in
#. Otherwise, if ``-c`` is used, all arguments are placed in
``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``.
#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first
#. Otherwise, if neither ``-e`` nor ``-c`` is used, the first
argument is a script which is executed with the remaining arguments in
``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script
name is '-', no script is executed but an interactive Python session is started;
......
This diff is collapsed.
......@@ -40,25 +40,25 @@ produced for that file.
executed on that occasion. Use an ``if __name__ == '__main__':`` guard to
only execute code when a file is invoked as a script and not just imported.
Specifying a :option:`-w` flag before the argument will cause HTML documentation
Specifying a ``-w`` flag before the argument will cause HTML documentation
to be written out to a file in the current directory, instead of displaying text
on the console.
Specifying a :option:`-k` flag before the argument will search the synopsis
Specifying a ``-k`` flag before the argument will search the synopsis
lines of all available modules for the keyword given as the argument, again in a
manner similar to the Unix :program:`man` command. The synopsis line of a
module is the first line of its documentation string.
You can also use :program:`pydoc` to start an HTTP server on the local machine
that will serve documentation to visiting Web browsers. :program:`pydoc`
:option:`-p 1234` will start a HTTP server on port 1234, allowing you to browse
that will serve documentation to visiting Web browsers. :program:`pydoc -p 1234`
will start a HTTP server on port 1234, allowing you to browse
the documentation at ``http://localhost:1234/`` in your preferred Web browser.
:program:`pydoc` :option:`-g` will start the server and additionally bring up a
:program:`pydoc -g` will start the server and additionally bring up a
small :mod:`tkinter`\ -based graphical interface to help you search for
documentation pages.
When :program:`pydoc` generates documentation, it uses the current environment
and path to locate modules. Thus, invoking :program:`pydoc` :option:`spam`
and path to locate modules. Thus, invoking :program:`pydoc spam`
documents precisely the version of the module you would get if you started the
Python interpreter and typed ``import spam``.
......
......@@ -169,7 +169,7 @@ always available.
A string giving the site-specific directory prefix where the platform-dependent
Python files are installed; by default, this is also ``'/usr/local'``. This can
be set at build time with the :option:`--exec-prefix` argument to the
be set at build time with the ``--exec-prefix`` argument to the
:program:`configure` script. Specifically, all configuration files (e.g. the
:file:`pyconfig.h` header file) are installed in the directory ``exec_prefix +
'/lib/pythonversion/config'``, and shared library modules are installed in
......@@ -685,7 +685,7 @@ always available.
A string giving the site-specific directory prefix where the platform
independent Python files are installed; by default, this is the string
``'/usr/local'``. This can be set at build time with the :option:`--prefix`
``'/usr/local'``. This can be set at build time with the ``--prefix``
argument to the :program:`configure` script. The main collection of Python
library modules is installed in the directory ``prefix + '/lib/pythonversion'``
while the platform independent header files (all except :file:`pyconfig.h`) are
......@@ -862,7 +862,7 @@ always available.
Activate dumping of VM measurements using the Pentium timestamp counter, if
*on_flag* is true. Deactivate these dumps if *on_flag* is off. The function is
available only if Python was compiled with :option:`--with-tsc`. To understand
available only if Python was compiled with ``--with-tsc``. To understand
the output of this dump, read :file:`Python/ceval.c` in the Python sources.
.. impl-detail::
......
......@@ -163,24 +163,23 @@ tests in the :mod:`test` package. It does this by finding all modules in the
package whose name starts with ``test_``, importing them, and executing the
function :func:`test_main` if present. The names of tests to execute may also
be passed to the script. Specifying a single regression test (:program:`python
regrtest.py` :option:`test_spam.py`) will minimize output and only print
regrtest.py test_spam.py`) will minimize output and only print
whether the test passed or failed and thus minimize output.
Running :mod:`test.regrtest` directly allows what resources are available for
tests to use to be set. You do this by using the :option:`-u` command-line
option. Run :program:`python regrtest.py` :option:`-uall` to turn on all
resources; specifying :option:`all` as an option for :option:`-u` enables all
tests to use to be set. You do this by using the ``-u`` command-line
option. Run :program:`python regrtest.py -uall` to turn on all
resources; specifying ``all`` as an option for ``-u`` enables all
possible resources. If all but one resource is desired (a more common case), a
comma-separated list of resources that are not desired may be listed after
:option:`all`. The command :program:`python regrtest.py`
:option:`-uall,-audio,-largefile` will run :mod:`test.regrtest` with all
resources except the :option:`audio` and :option:`largefile` resources. For a
list of all resources and more command-line options, run :program:`python
regrtest.py` :option:`-h`.
``all``. The command :program:`python regrtest.py -uall,-audio,-largefile`
will run :mod:`test.regrtest` with all resources except the ``audio`` and
``largefile`` resources. For a list of all resources and more command-line
options, run :program:`python regrtest.py -h`.
Some other ways to execute the regression tests depend on what platform the
tests are being executed on. On Unix, you can run :program:`make`
:option:`test` at the top-level directory where Python was built. On Windows,
tests are being executed on. On Unix, you can run :program:`make test` at the
top-level directory where Python was built. On Windows,
executing :program:`rt.bat` from your :file:`PCBuild` directory will run all
regression tests.
......
......@@ -117,27 +117,36 @@ When called as a program from the command line, the following form is used::
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [statement ...]
where the following options are understood:
Where the following options are understood:
.. program:: timeit
.. cmdoption:: -n N, --number=N
-n N/:option:`--number=N`
how many times to execute 'statement'
-r N/:option:`--repeat=N`
.. cmdoption:: -r N, --repeat=N
how many times to repeat the timer (default 3)
-s S/:option:`--setup=S`
statement to be executed once initially (default ``'pass'``)
.. cmdoption:: -s S, --setup=S
statement to be executed once initially (default ``pass``)
.. cmdoption:: -t, --time
-t/:option:`--time`
use :func:`time.time` (default on all platforms but Windows)
-c/:option:`--clock`
.. cmdoption:: -c, --clock
use :func:`time.clock` (default on Windows)
-v/:option:`--verbose`
.. cmdoption:: -v, --verbose
print raw timing results; repeat for more digits precision
-h/:option:`--help`
.. cmdoption:: -h, --help
print a short usage message and exit
A multi-line statement may be given by specifying each line as a separate
......
......@@ -154,7 +154,7 @@ example, :meth:`~TestCase.setUp` was used to create a fresh sequence for each
test.
The final block shows a simple way to run the tests. :func:`unittest.main`
provides a command line interface to the test script. When run from the command
provides a command-line interface to the test script. When run from the command
line, the above script produces an output that looks like this::
...
......@@ -206,7 +206,7 @@ You can run tests with more detail (higher verbosity) by passing in the -v flag:
python -m unittest -v test_module
For a list of all the command line options::
For a list of all the command-line options::
python -m unittest -h
......@@ -215,31 +215,33 @@ For a list of all the command line options::
not modules or classes.
failfast, catch and buffer command line options
failfast, catch and buffer command-line options
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
unittest supports three command options.
:program:`unittest` supports three command-line options.
* :option:`-b` / :option:`--buffer`
.. program:: unittest
The standard output and standard error streams are buffered during the test
run. Output during a passing test is discarded. Output is echoed normally
on test fail or error and is added to the failure messages.
.. cmdoption:: -b, --buffer
* :option:`-c` / :option:`--catch`
The standard output and standard error streams are buffered during the test
run. Output during a passing test is discarded. Output is echoed normally
on test fail or error and is added to the failure messages.
Control-C during the test run waits for the current test to end and then
reports all the results so far. A second control-C raises the normal
:exc:`KeyboardInterrupt` exception.
.. cmdoption:: -c, --catch
See `Signal Handling`_ for the functions that provide this functionality.
Control-C during the test run waits for the current test to end and then
reports all the results so far. A second control-C raises the normal
:exc:`KeyboardInterrupt` exception.
* :option:`-f` / :option:`--failfast`
See `Signal Handling`_ for the functions that provide this functionality.
Stop the test run on the first error or failure.
.. cmdoption:: -f, --failfast
Stop the test run on the first error or failure.
.. versionadded:: 3.2
The command line options ``-c``, ``-b`` and ``-f`` were added.
The command-line options :option:`-c`, :option:`-b` and :option:`-f` were added.
The command line can also be used for test discovery, for running all of the
tests in a project or just a subset.
......@@ -257,18 +259,30 @@ compatible with test discovery they must all be importable from the top level
directory of the project (in other words, they must all be in Python packages).
Test discovery is implemented in :meth:`TestLoader.discover`, but can also be
used from the command line. The basic command line usage is::
used from the command line. The basic command-line usage is::
cd project_directory
python -m unittest discover
The ``discover`` sub-command has the following options:
-v, --verbose Verbose output
-s directory Directory to start discovery ('.' default)
-p pattern Pattern to match test files ('test*.py' default)
-t directory Top level directory of project (default to
start directory)
.. program:: unittest discover
.. cmdoption:: -v, --verbose
Verbose output
.. cmdoption:: -s directory
Directory to start discovery ('.' default)
.. cmdoption:: -p pattern
Pattern to match test files ('test*.py' default)
.. cmdoption:: -t directory
Top level directory of project (defaults to start directory)
The :option:`-s`, :option:`-p`, and :option:`-t` options can be passed in
as positional arguments in that order. The following two command lines
......@@ -1850,7 +1864,7 @@ Loading and running tests
>>> main(module='test_module', exit=False)
The ``failfast``, ``catchbreak`` and ``buffer`` parameters have the same
effect as the `failfast, catch and buffer command line options`_.
effect as the `failfast, catch and buffer command-line options`_.
Calling ``main`` actually returns an instance of the ``TestProgram`` class.
This stores the result of the tests run as the ``result`` attribute.
......@@ -2013,7 +2027,7 @@ instead of as an error.
Signal Handling
---------------
The :option:`-c`/:option:`--catch` command line option to unittest, along with the ``catchbreak``
The :option:`-c` command-line option to unittest, along with the ``catchbreak``
parameter to :func:`unittest.main()`, provide more friendly handling of
control-C during a test run. With catch break behavior enabled control-C will
allow the currently running test to complete, and the test run will then end
......
......@@ -31,8 +31,8 @@ browser and wait.
The script :program:`webbrowser` can be used as a command-line interface for the
module. It accepts an URL as the argument. It accepts the following optional
parameters: :option:`-n` opens the URL in a new browser window, if possible;
:option:`-t` opens the URL in a new browser page ("tab"). The options are,
parameters: ``-n`` opens the URL in a new browser window, if possible;
``-t`` opens the URL in a new browser page ("tab"). The options are,
naturally, mutually exclusive.
The following exception is defined:
......@@ -64,7 +64,6 @@ The following functions are defined:
Open *url* in a new window of the default browser, if possible, otherwise, open
*url* in the only browser window.
.. function:: open_new_tab(url)
Open *url* in a new page ("tab") of the default browser, if possible, otherwise
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment