Commit 326bc095 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Allowed a port range for the liveserver by default.

This is required for running tests in parallel.
parent e39dd618
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ class Command(BaseCommand):
            action='store', dest='liveserver', default=None,
            help='Overrides the default address where the live server (used '
                 'with LiveServerTestCase) is expected to run from. The '
                 'default value is localhost:8081.'),
                 'default value is localhost:8081-8179.'),

        test_runner_class = get_runner(settings, self.test_runner)
        if hasattr(test_runner_class, 'option_list'):
+1 −1
Original line number Diff line number Diff line
@@ -1318,7 +1318,7 @@ class LiveServerTestCase(TransactionTestCase):

        # Launch the live server's thread
        specified_address = os.environ.get(
            'DJANGO_LIVE_TEST_SERVER_ADDRESS', 'localhost:8081')
            'DJANGO_LIVE_TEST_SERVER_ADDRESS', 'localhost:8081-8179')

        # The specified ports may be of the form '8000-8010,8080,9200-9300'
        # i.e. a comma-separated list of ports or ranges of ports, so we break
+5 −1
Original line number Diff line number Diff line
@@ -1227,7 +1227,11 @@ provided by the :setting:`TEST_RUNNER` setting.

The ``--liveserver`` option can be used to override the default address where
the live server (used with :class:`~django.test.LiveServerTestCase`) is
expected to run from. The default value is ``localhost:8081``.
expected to run from. The default value is ``localhost:8081-8179``.

.. versionchanged:: 1.9

    In earlier versions, the default value was ``localhost:8081``.

.. django-admin-option:: --keepdb

+3 −0
Original line number Diff line number Diff line
@@ -1055,6 +1055,9 @@ Miscellaneous
  changed. They used to be ``(old_names, mirrors)`` tuples. Now they're just
  the first item, ``old_names``.

* By default :class:`~django.test.LiveServerTestCase` attempts to find an
  available port in the 8081-8179 range instead of just trying port 8081.

.. _deprecated-features-1.9:

Features deprecated in 1.9
+12 −5
Original line number Diff line number Diff line
@@ -812,11 +812,18 @@ This allows the use of automated test clients other than the
client, to execute a series of functional tests inside a browser and simulate a
real user's actions.

By default the live server's address is ``'localhost:8081'`` and the full URL
can be accessed during the tests with ``self.live_server_url``. If you'd like
to change the default address (in the case, for example, where the 8081 port is
already taken) then you may pass a different one to the :djadmin:`test` command
via the :djadminopt:`--liveserver` option, for example:
By default the live server listens on ``localhost`` and picks the first
available port in the ``8081-8179`` range. Its full URL can be accessed with
``self.live_server_url`` during the tests.

.. versionchanged:: 1.9

    In earlier versions, the live server's default address was always
    ``'localhost:8081'``.

If you'd like to select another address then you may pass a different one to
the :djadmin:`test` command via the :djadminopt:`--liveserver` option, for
example:

.. code-block:: console

Loading