doc/changes/3.27.rst
author Jérémy Bobbio <jeremy.bobbio@irq7.fr>
Wed, 05 Jun 2019 18:35:51 +0200
changeset 12643 c0ff60cd4c1f
parent 12604 c755b73640ea
child 12685 84a8a8915512
permissions -rw-r--r--
[pkg] Run test suite as part of autopkgtest Add support for autopkgtest. The test “unittest” will run the test suite using pytest. As we need PostgreSQL in the test environment and open network connection, the test is marked with `isolation-container` and requires at least LXC to be run, e.g: autopkgtest -s -- lxc -s autopkgtest-sid

3.27 (not yet released)
=======================

New features
------------

* Tests can now be run concurrently across multiple processes. You can use
  `pytest-xdist`_ for that. For tests using `PostgresApptestConfiguration` you
  should be aware that `startpgcluster()` can't run concurrently. Workaround is
  to call pytest with ``--dist=loadfile`` to use a single test process per test
  module or use an existing database cluster and set ``db-host`` and
  ``db-port`` of ``devtools.DEFAULT_PSQL_SOURCES['system']`` accordingly.

.. _pytest-xdist: https://github.com/pytest-dev/pytest-xdist

* on `cubicweb-ctl create` and `cubicweb-ctl pyramid`, if it doesn't already
  exist in the instance directory, the `pyramid.ini` file will be generated
  with the needed secrets.

Backwards incompatible changes
------------------------------

* Standardization on the way to launch a cubicweb instance, from now on the
  only way to do that will be the used the ``pyramid`` command. Therefore:

   * ``cubicweb-ctl`` commands "start", "stop", "restart", "reload" and "status"
     have been removed because they relied on the Twisted web server backend that
     is no longer maintained nor working with Python 3.

   * Twisted web server support has been removed.

   * ``cubicweb-ctl wsgi`` has also been removed.

* Support for legacy cubes (in the 'cubes' python namespace) has been dropped.
  Use of environment variables CW_CUBES_PATH and CUBES_DIR is removed.

* Python 2 support has been dropped.

* Exceptions in notification hooks aren't catched-all anymore during tests so
  one can expect tests that seem to pass (but were actually silently failing)
  to fail now.

Deprecated code drops
---------------------

Most code deprecated until version 3.25 has been dropped.