summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2013-07-01 13:58:04 -0400
committerTim Graham <timograham@gmail.com>2013-07-10 09:24:05 -0400
commit4d92a0bd8630affbb6f289317f71d60607d26369 (patch)
tree838e616ad94afbf340d4dd2429c428424851d085
parent1333967f91303b8c5e7e58fd6997e9abe6ee0afe (diff)
Fixed #19196 -- Added test/requirements
-rw-r--r--docs/internals/contributing/writing-code/unit-tests.txt19
-rw-r--r--tests/requirements/base.txt6
-rw-r--r--tests/requirements/mysql.txt1
-rw-r--r--tests/requirements/oracle.txt1
-rw-r--r--tests/requirements/postgres.txt1
-rw-r--r--tests/requirements/py2.txt2
-rw-r--r--tests/requirements/py3.txt2
-rwxr-xr-xtests/runtests.py1
8 files changed, 32 insertions, 1 deletions
diff --git a/docs/internals/contributing/writing-code/unit-tests.txt b/docs/internals/contributing/writing-code/unit-tests.txt
index 0737b84888..f47ac5e788 100644
--- a/docs/internals/contributing/writing-code/unit-tests.txt
+++ b/docs/internals/contributing/writing-code/unit-tests.txt
@@ -136,23 +136,40 @@ Running all the tests
If you want to run the full suite of tests, you'll need to install a number of
dependencies:
+* Pillow_
* PyYAML_
+* pytz_
* setuptools_
* memcached_, plus a :ref:`supported Python binding <memcached>`
* 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</ref/contrib/gis/install/index>`.
+
Each of these dependencies is optional. If you're missing any of them, the
associated tests will be skipped.
+.. _Pillow: https://pypi.python.org/pypi/Pillow/
.. _PyYAML: http://pyyaml.org/wiki/PyYAML
+.. _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..89bd8230b2
--- /dev/null
+++ b/tests/requirements/base.txt
@@ -0,0 +1,6 @@
+bcrypt
+docutils
+Pillow
+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..a9f6804039
--- /dev/null
+++ b/tests/requirements/py2.txt
@@ -0,0 +1,2 @@
+-r base.txt
+python-memcached
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
diff --git a/tests/runtests.py b/tests/runtests.py
index 349373aa73..8d5b375fb3 100755
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -23,6 +23,7 @@ os.environ['DJANGO_TEST_TEMP_DIR'] = TEMP_DIR
SUBDIRS_TO_SKIP = [
'data',
+ 'requirements',
'templates',
'test_discovery_sample',
'test_discovery_sample2',