From 13546cae9c7922088266c32a5be2bda77545a04b Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 1 Jul 2013 13:58:04 -0400 Subject: [PATCH] [1.5.x] Fixed #19196 -- Added test/requirements Backport of 4d92a0bd86 from master. --- .../contributing/writing-code/unit-tests.txt | 19 ++++++++++++++++++- tests/requirements/base.txt | 5 +++++ tests/requirements/mysql.txt | 1 + tests/requirements/oracle.txt | 1 + tests/requirements/postgres.txt | 1 + tests/requirements/py2.txt | 5 +++++ tests/requirements/py3.txt | 2 ++ 7 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 tests/requirements/base.txt create mode 100644 tests/requirements/mysql.txt create mode 100644 tests/requirements/oracle.txt create mode 100644 tests/requirements/postgres.txt create mode 100644 tests/requirements/py2.txt create mode 100644 tests/requirements/py3.txt diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt index 4a436de795..aac59bc2a0 100644 --- a/docs/internals/contributing/writing-code/unit-tests.txt +++ b/docs/internals/contributing/writing-code/unit-tests.txt @@ -138,29 +138,46 @@ Running all the tests If you want to run the full suite of tests, you'll need to install a number of dependencies: +* PIL_ * PyYAML_ * Markdown_ * Textile_ * Docutils_ +* pytz_ * setuptools_ * memcached_, plus a :ref:`supported Python binding ` * gettext_ (:ref:`gettext_on_windows`) -* selenium_ (if also using Python >= 2.6) +* selenium_ + +You can find these dependencies in `pip requirements files`_ inside the +``tests/requirements`` directory of the Django source tree and install them +like so:: + + pip install -r tests/requirements/py2.txt # Python 3: py3.txt + +You can also install the database adapter(s) of your choice using +``oracle.txt``, ``mysql.txt``, or ``postgres.txt``. If you want to test the memcached cache backend, you'll also need to define a :setting:`CACHES` setting that points at your memcached instance. +To run the GeoDjango tests, you will need to :doc:`setup a spatial database +and install the Geospatial libraries`. + Each of these dependencies is optional. If you're missing any of them, the associated tests will be skipped. +.. _PIL: https://pypi.python.org/pypi/PIL .. _PyYAML: http://pyyaml.org/wiki/PyYAML .. _Markdown: http://pypi.python.org/pypi/Markdown/1.7 .. _Textile: http://pypi.python.org/pypi/textile .. _docutils: http://pypi.python.org/pypi/docutils/0.4 +.. _pytz: https://pypi.python.org/pypi/pytz/ .. _setuptools: http://pypi.python.org/pypi/setuptools/ .. _memcached: http://memcached.org/ .. _gettext: http://www.gnu.org/software/gettext/manual/gettext.html .. _selenium: http://pypi.python.org/pypi/selenium +.. _pip requirements files: http://www.pip-installer.org/en/latest/requirements.html Code coverage ~~~~~~~~~~~~~ diff --git a/tests/requirements/base.txt b/tests/requirements/base.txt new file mode 100644 index 0000000000..99e2b7f805 --- /dev/null +++ b/tests/requirements/base.txt @@ -0,0 +1,5 @@ +docutils +Markdown +PyYAML +pytz +selenium diff --git a/tests/requirements/mysql.txt b/tests/requirements/mysql.txt new file mode 100644 index 0000000000..c7a2347407 --- /dev/null +++ b/tests/requirements/mysql.txt @@ -0,0 +1 @@ +MySQL-python diff --git a/tests/requirements/oracle.txt b/tests/requirements/oracle.txt new file mode 100644 index 0000000000..ae5b7349cd --- /dev/null +++ b/tests/requirements/oracle.txt @@ -0,0 +1 @@ +cx_oracle diff --git a/tests/requirements/postgres.txt b/tests/requirements/postgres.txt new file mode 100644 index 0000000000..658130bb2c --- /dev/null +++ b/tests/requirements/postgres.txt @@ -0,0 +1 @@ +psycopg2 diff --git a/tests/requirements/py2.txt b/tests/requirements/py2.txt new file mode 100644 index 0000000000..4832e4e793 --- /dev/null +++ b/tests/requirements/py2.txt @@ -0,0 +1,5 @@ +-r base.txt +PIL +py-bcrypt +python-memcached +Textile diff --git a/tests/requirements/py3.txt b/tests/requirements/py3.txt new file mode 100644 index 0000000000..ced3eed101 --- /dev/null +++ b/tests/requirements/py3.txt @@ -0,0 +1,2 @@ +-r base.txt +python3-memcached