summaryrefslogtreecommitdiff
path: root/src/mailman/docs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/docs')
-rw-r--r--src/mailman/docs/NEWS.rst27
-rw-r--r--src/mailman/docs/START.rst56
2 files changed, 43 insertions, 40 deletions
diff --git a/src/mailman/docs/NEWS.rst b/src/mailman/docs/NEWS.rst
index 3153a1fa0..2881eaacd 100644
--- a/src/mailman/docs/NEWS.rst
+++ b/src/mailman/docs/NEWS.rst
@@ -12,6 +12,15 @@ Here is a history of user visible changes to Mailman.
====================================
(2014-XX-XX)
+Commands
+--------
+ * The `mailman conf` command no longer takes the `-t/--sort` option; the
+ output is always sorted.
+
+Configuration
+-------------
+ * The ``[database]migrations_path`` setting is removed.
+
Database
--------
* The ORM layer, previously implemented with Storm, has been replaced by
@@ -19,8 +28,15 @@ Database
Bompard. Alembic is now used for all database schema migrations.
* The new logger `mailman.database` logs any errors at the database layer.
-API
----
+Development
+-----------
+ * You no longer have to create a virtual environment separately when running
+ the test suite. Just use `tox`.
+
+Interfaces
+----------
+ * The RFC 2369 headers added to outgoing messages are now added in sorted
+ order.
* Several changes to the internal API:
- `IListManager.mailing_lists` is guaranteed to be sorted in List-ID order.
- `IDomains.mailing_lists` is guaranteed to be sorted in List-ID order.
@@ -28,9 +44,10 @@ API
by `IDomain.mail_host` order.
- `ITemporaryDatabase` interface and all implementations are removed.
-Configuration
--------------
- * The ``[database]migrations_path`` setting is removed.
+REST
+----
+ * The JSON representation `http_etag` key uses an algorithm that is
+ insensitive to Python's dictionary sort order.
3.0 beta 4 -- "Time and Motion"
diff --git a/src/mailman/docs/START.rst b/src/mailman/docs/START.rst
index 960ceeedc..8123a726c 100644
--- a/src/mailman/docs/START.rst
+++ b/src/mailman/docs/START.rst
@@ -65,15 +65,30 @@ The `Development Setup Guide`_ is a recent step-by-step explanation of
how to set up a complete Mailman 3 system including the Mailman 3 core
and basic client API, Postorius, and HyperKitty.
-Building Mailman 3
-==================
+Testing Mailman 3
+=================
+
+To run the Mailman test suite, just use the `tox`_ command. `tox` creates a
+virtual environment (virtualenv) for you, installs all the dependencies into
+that virtualenv, and runs the test suite from that virtualenv. By default it
+does not use the `--system-site-packages` so it downloads everything from the
+Cheeseshop.
+
+You do have access to the virtualenv, and you can use this to run individual
+tests, e.g.::
+
+ % .tox/py27/bin/python -m nose2 -vv -P user
+
+Use `.tox/py27/bin/python -m nose2 --help` for more options.
-To build Mailman for development purposes, you will create a virtual
-environment. You need to have the `virtualenv`_ program installed.
Building for development
------------------------
+To build Mailman for development purposes, you can create a virtual
+environment outside of tox. You need to have the `virtualenv`_ program
+installed.
+
First, create a virtual environment. By default ``virtualenv`` uses the
``python`` executable it finds first on your ``$PATH``. Make sure this is
Python 2.7 (just start the interactive interpreter and check the version in
@@ -96,37 +111,7 @@ Now, activate the virtual environment and set it up for development::
% python setup.py develop
Sit back and have some Kombucha while you wait for everything to download and
-install. If you have older versions of some of the packages, the installation
-may be interrupted with an error such as::
-
- error: Installed distribution zope.interface 3.8.0 conflicts with requirement zope.interface>=4.1.0
-
-(It appears that this is a defect specific to the ``zope.interface``
-package; it's expected that it should upgrade in this situation.
-However, we cannot rule out similar problems with other packages.)
-
-This issue can be addressed in two ways. If you are worried about backward
-compatibility with the installed version of the package for some reason, you
-can restart the process by creating a virtualenv without the
-``--system-site-packages`` option. This may require installation of duplicates
-of many packages, as only the standard library and packages freshly installed
-in the virtualenv will be available to Python.
-
-The alternative is to keep the virtualenv installed with
-``--system-site-packages``, explicitly upgrade the package, and then
-restart the installation::
-
- % pip install --upgrade zope.interface
- % python setup.py develop
-
-Now you can run the test suite via::
-
- % nose2 -v
-
-You should see no failures. You can also run a subset of the full test suite
-by filter tests on the module or test name using the ``-P`` option::
-
- % nose2 -v -P user
+install.
Build the online docs by running::
@@ -249,3 +234,4 @@ A `five minute guide to Hyperkitty`_ is based on Toshio Kuratomi's README.
.. _`Postorius documentation`: http://www.pythonhosted.org/postorius/
.. _`HyperKitty documentation`: https://hyperkitty.readthedocs.org/en/latest/development.html
.. _`Development Setup Guide`: https://fedorahosted.org/hyperkitty/wiki/DevelopmentSetupGuide
+.. _tox: https://testrun.org/tox/latest/