Fixed #24358 -- Corrected code-block directives for console sessions.

This commit is contained in:
Sean Wang 2015-02-18 19:19:21 -08:00 committed by Tim Graham
parent ea3168dc6c
commit eba6dff581
17 changed files with 100 additions and 134 deletions

View file

@ -48,7 +48,7 @@ Imports
Quick start:
.. code-block:: bash
.. code-block:: console
$ pip install isort
$ isort -rc .

View file

@ -2,6 +2,8 @@
Unit tests
==========
.. highlight:: console
Django comes with a test suite of its own, in the ``tests`` directory of the
code base. It's our policy to make sure all tests pass at all times.
@ -26,9 +28,7 @@ the other optional test dependencies.
Running the tests requires a Django settings module that defines the
databases to use. To make it easy to get started, Django provides and uses a
sample settings module that uses the SQLite database. To run the tests:
.. code-block:: bash
sample settings module that uses the SQLite database. To run the tests::
$ git clone https://github.com/django/django.git django-repo
$ cd django-repo/tests
@ -96,9 +96,7 @@ tests by appending the names of the test modules to ``runtests.py`` on the
command line.
For example, if you'd like to run tests only for generic relations and
internationalization, type:
.. code-block:: bash
internationalization, type::
$ ./runtests.py --settings=path.to.settings generic_relations i18n
@ -107,15 +105,11 @@ directory name there is the name of a test.
If you just want to run a particular class of tests, you can specify a list of
paths to individual test classes. For example, to run the ``TranslationTests``
of the ``i18n`` module, type:
.. code-block:: bash
of the ``i18n`` module, type::
$ ./runtests.py --settings=path.to.settings i18n.tests.TranslationTests
Going beyond that, you can specify an individual test method like this:
.. code-block:: bash
Going beyond that, you can specify an individual test method like this::
$ ./runtests.py --settings=path.to.settings i18n.tests.TranslationTests.test_lazy_objects
@ -125,9 +119,7 @@ Running the Selenium tests
Some tests require Selenium and a Web browser (Firefox, Google Chrome, or
Internet Explorer). To allow those tests to be run rather than skipped, you must
install the selenium_ package into your Python path and run the tests with the
``--selenium`` option:
.. code-block:: bash
``--selenium`` option::
$ ./runtests.py --settings=test_sqlite --selenium admin_inlines
@ -154,9 +146,7 @@ dependencies:
You can find these dependencies in `pip requirements files`_ inside the
``tests/requirements`` directory of the Django source tree and install them
like so:
.. code-block:: bash
like so::
$ pip install -r tests/requirements/py3.txt # Python 2: py2.txt
@ -193,15 +183,11 @@ Contributors are encouraged to run coverage on the test suite to identify areas
that need additional tests. The coverage tool installation and use is described
in :ref:`testing code coverage<topics-testing-code-coverage>`.
To run coverage on the Django test suite using the standard test settings:
.. code-block:: bash
To run coverage on the Django test suite using the standard test settings::
$ coverage run ./runtests.py --settings=test_sqlite
After running coverage, generate the html report by running:
.. code-block:: bash
After running coverage, generate the html report by running::
$ coverage html
@ -230,9 +216,7 @@ Many test failures with ``UnicodeEncodeError``
If the ``locales`` package is not installed, some tests will fail with a
``UnicodeEncodeError``.
You can resolve this on Debian-based systems, for example, by running:
.. code-block:: bash
You can resolve this on Debian-based systems, for example, by running::
$ apt-get install locales
$ dpkg-reconfigure locales
@ -249,9 +233,7 @@ it possible to identify a small number of tests that may be related to the
failure.
For example, suppose that the failing test that works on its own is
``ModelTest.test_eq``, then using:
.. code-block:: bash
``ModelTest.test_eq``, then using::
$ ./runtests.py --bisect basic.tests.ModelTest.test_eq
@ -265,9 +247,7 @@ failing tests is minimized.
The ``--pair`` option runs the given test alongside every other test from the
suite, letting you check if another test has side-effects that cause the
failure. So:
.. code-block:: bash
failure. So::
$ ./runtests.py --pair basic.tests.ModelTest.test_eq
@ -276,25 +256,19 @@ will pair ``test_eq`` with every test label.
With both ``--bisect`` and ``--pair``, if you already suspect which cases
might be responsible for the failure, you may limit tests to be cross-analyzed
by :ref:`specifying further test labels <runtests-specifying-labels>` after
the first one:
.. code-block:: bash
the first one::
$ ./runtests.py --pair basic.tests.ModelTest.test_eq queries transactions
You can also try running any set of tests in reverse using the ``--reverse``
option in order to verify that executing tests in a different order does not
cause any trouble:
.. code-block:: bash
cause any trouble::
$ ./runtests.py basic --reverse
If you wish to examine the SQL being run in failing tests, you can turn on
:ref:`SQL logging <django-db-logger>` using the ``--debug-sql`` option. If you
combine this with ``--verbosity=2``, all SQL queries will be output.
.. code-block:: bash
combine this with ``--verbosity=2``, all SQL queries will be output::
$ ./runtests.py basic --debug-sql

View file

@ -2,6 +2,8 @@
How is Django Formed?
=====================
.. highlight:: console
This document explains how to release Django.
**Please, keep these instructions up-to-date if you make changes!** The point
@ -54,9 +56,7 @@ You'll need a few things before getting started:
``you@example.com`` is the email address associated with the key you want to
use.
* An install of some required Python packages:
.. code-block:: bash
* An install of some required Python packages::
$ pip install wheel twine
@ -117,7 +117,7 @@ any time leading up to the actual release:
rather than the releaser, but here are the steps. Provided you have an
account on Transifex::
python scripts/manage_translations.py fetch
$ python scripts/manage_translations.py fetch
and then commit the changed/added files (both .po and .mo). Sometimes there
are validation errors which need to be debugged, so avoid doing this task
@ -148,16 +148,16 @@ OK, this is the fun part, where we actually push out a release!
#. A release always begins from a release branch, so you should make sure
you're on a stable branch and up-to-date. For example::
git checkout stable/1.5.x
git pull
$ git checkout stable/1.5.x
$ git pull
#. If this is a security release, merge the appropriate patches from
``django-private``. Rebase these patches as necessary to make each one a
simple commit on the release branch rather than a merge commit. To ensure
this, merge them with the ``--ff-only`` flag; for example::
git checkout stable/1.5.x
git merge --ff-only security/1.5.x
$ git checkout stable/1.5.x
$ git merge --ff-only security/1.5.x
(This assumes ``security/1.5.x`` is a branch in the ``django-private`` repo
containing the necessary security patches for the next release in the 1.5
@ -193,7 +193,7 @@ OK, this is the fun part, where we actually push out a release!
#. Tag the release using ``git tag``. For example::
git tag --sign --message="Tag 1.5.1" 1.5.1
$ git tag --sign --message="Tag 1.5.1" 1.5.1
You can check your work by running ``git tag --verify <tag>``.
@ -205,9 +205,7 @@ OK, this is the fun part, where we actually push out a release!
create the release packages in a ``dist/`` directory. Note that we don't
publish wheel files for 1.4.
#. Generate the hashes of the release packages:
.. code-block:: bash
#. Generate the hashes of the release packages::
$ cd dist
$ md5sum *
@ -217,7 +215,9 @@ OK, this is the fun part, where we actually push out a release!
#. Create a "checksums" file, ``Django-<<VERSION>>.checksum.txt`` containing
the hashes and release information. Start with this template and insert the
correct version, date, GPG key ID (from
``gpg --list-keys --keyid-format LONG``), release URL, and checksums::
``gpg --list-keys --keyid-format LONG``), release URL, and checksums:
.. code-block:: text
This file contains MD5, SHA1, and SHA256 checksums for the source-code
tarball of Django <<VERSION>>, released <<DATE>>.
@ -276,22 +276,16 @@ Making the release(s) available to the public
Now you're ready to actually put the release out there. To do this:
#. Upload the release package(s) to the djangoproject server, replacing
A.B. with the appropriate version number, e.g. 1.5 for a 1.5.x release:
.. code-block:: bash
A.B. with the appropriate version number, e.g. 1.5 for a 1.5.x release::
$ scp Django-* djangoproject.com:/home/www/www/media/releases/A.B
#. Upload the checksum file(s):
.. code-block:: bash
#. Upload the checksum file(s)::
$ scp Django-A.B.C.checksum.txt.asc djangoproject.com:/home/www/www/media/pgp/Django-A.B.C.checksum.txt
#. Test that the release packages install correctly using ``easy_install``
and ``pip``. Here's one method (which requires `virtualenvwrapper`__):
.. code-block:: bash
and ``pip``. Here's one method (which requires `virtualenvwrapper`__)::
$ RELEASE_VERSION='1.7.2'
$ MAJOR_VERSION=`echo $RELEASE_VERSION| cut -c 1-3`
@ -318,9 +312,7 @@ Now you're ready to actually put the release out there. To do this:
correct (proper version numbers, no stray ``.pyc`` or other undesirable
files).
#. Upload the release packages to PyPI:
.. code-block:: bash
#. Upload the release packages to PyPI::
$ twine upload -s dist/*
@ -334,7 +326,7 @@ Now you're ready to actually put the release out there. To do this:
#. Make the blog post announcing the release live.
#. For a new version release (e.g. 1.5, 1.6), update the default stable version
of the docs by flipping the ``is_default`` flag to ``True`` on the
of the docs by flipping the ``is_default`` flag to `deployment/wsgi/uwsgi.html`True`` on the
appropriate ``DocumentRelease`` object in the ``docs.djangoproject.com``
database (this will automatically flip it to ``False`` for all
others); you can do this using the site's admin.