提交 39455ac3 编写于 作者: A Amador Pahim

docs: Add LTS releases section and 52 what's new page

Let's create a section to have the 'what's new' between LTSs and
add the next known LTS page there.
Signed-off-by: NAmador Pahim <apahim@redhat.com>
上级 e0b0519d
......@@ -6,6 +6,13 @@ Release Notes
The following pages summarize what is new in Avocado:
Regular Releases
================
The regular releases are released after each sprint, which usually takes
3 weeks. Regular releases are supported only until the next version is
released.
.. toctree::
:maxdepth: 1
......@@ -37,3 +44,17 @@ The following pages summarize what is new in Avocado:
0_27_0
0_26_0
0_25_0
Long Term Stability Releases
============================
The LTS releases are regular releases considering the release cycle, but
a new branch is created and bugfixes are backported on demand for a
period of about 18 months after the release. Every year (or so) a new
LTS version is released. Two subsequent LTS versions are guaranteed to
have 6 months of supportability overlap.
.. toctree::
:maxdepth: 1
lts/52_0
========
52.0 LTS
========
The Avocado team is proud to present another release: Avocado version
52.0, the second Avocado LTS version.
What's new?
===========
When compared to the last LTS (v36), the main changes introduced by this
versions are:
- Support for TAP[2] version 12 results, which are generated by default
in test results directory (``results.tap`` file).
- The download of assets in tests now allow for an expiration time.
- Environment variables can be propagated into tests running on remote
systems.
- The plugin interfaces have been moved into the
``avocado.core.plugin_interfaces`` module.
- Support for running tests in a Docker container.
- Introduction of the "Fail Fast" feature (``--failfast on`` option) to
the ``run`` command, which interrupts the Job on a first test failure.
- Special keyword ``latest`` for replaying previous jobs.
- Support to replay a Job by path (in addition to the Job ID method and
the ``latest`` keyword).
- Diff-like categorized report of jobs
(``avocado diff <JOB_1> <JOB_2>``).
- The introduction of a ``rr`` based wrapper.
- The automatic VM IP detection that kicks in when one uses
``--vm-domain`` without a matching ``--vm-hostname``, now uses a more
reliable method (libvirt/qemu-gust-agent query).
- Set ``LC_ALL=C`` by default on sysinfo collection to simplify avocado
diff comparison between different machines.
- Result plugins system is now pluggable and the results plugins (JSON,
XUnit, HTML) were turned into stevedore plugins. They are now listed
in the ``avocado plugins`` command.
- Multiplexer was replaced with Varianter plugging system with defined
API to register plugins that generate test variants.
- Old ``--multiplex`` argument, which used to turn yaml files into
variants, is now handled by an optional plugin called ``yaml_to_mux``
and the ``--multiplex`` option is being deprecated in favour of
the ``--mux-yaml`` option, which behaves the same way.
- It’s now possible to disable plugins by using the configuration file.
- Better error handling of the virtual machine plugin (``--vm-domain``
and related options).
- When discovering tests on a directory, the result now is a properly
alphabetically ordered list of tests.
- Plugins can now be setup in Avocado configuration file to run at a
specific order.
- Support for filtering tests by user supplied "tags".
- Users can now see the test tags when listing tests with the ``-V``
(verbose) option.
- Users can now choose to keep the complete set of files, including
temporary ones, created during an Avocado job run by using the
``--keep-tmp`` option (e.g. to keep those files for ``rr``).
- Tests running with the external runner (``--external-runner``) feature
will now have access to the extended behavior for SIMPLE tests, such
as being able to exit a test with the WARNING status.
- Encoding support was improved and now Avocado should safely treat
localized test-names.
- Test writers now have access to a test temporary directory that will
last not only for the duration of the test, but for the duration of
the whole job execution to allow sharing state/exchanging data between
tests. The path for that directory is available via Test API
(``self.teststmpdir``) and via environment variable
(``AVOCADO_TESTS_COMMON_TMPDIR``).
- Avocado is now available on Fedora standard repository. The package
name is ``python2-avocado``. The optional plugins and examples
packages are also available. Run ``dnf search avocado`` to list them
all.
- Optional plugins and examples packages are also available on PyPI
under ``avocado-framework`` name.
- Avocado test writers can now use a family of decorators, namely
``avocado.skip()``, ``avocado.skipIf()`` and ``avocado.skipUnless()``
to skip the execution of tests.
- Sysinfo collection based on command execution now allows a timeout to
be set in the Avocado configuration file.
- The non-local runner plugins, the html plugin and the yaml_to_mux
plugin are now distributed in separate packages.
- The Avocado main process will now try to kill all test processes
before terminating itself when it receives a SIGTERM.
- Support for new type of test status, ``CANCEL``, and of course the
mechanisms to set a test with this status (e.g. via ``self.cancel()``).
- ``avocado.TestFail``, ``avocado.TestError`` and ``avocado.TestCancel``
are now public Avocado Test APIs, available in the main `avocado`
namespace.
- Introduction of the robot plugin, which allows Robot Framework tests
to be listed and executed natively within Avocado.
- A brand new ResultsDB optional plugin.
- Listing of supported loaders (``--loaders \?``) was refined.
- Variant-IDs generated by yaml_to_mux plugin now include leaf node
names to make them more meaningful, making easier to skim through
the results.
- `yaml_to_mux` now supports internal filters defined inside the YAML
file expanding the filtering capabilities even further.
- Avocado now supports resuming jobs that were interrupted.
- The HTML report now presents the test ID and variant ID in separate
columns, allowing users to also sort and filter results based on those
specific fields.
- The HTML report will now show the test parameters used in a test when
the user hovers the cursor over the test name.
- Avocado now reports the total job execution time on the UI, instead of
just the tests execution time.
- New ``avocado variants`` has been added which supersedes the
``avocado multiplex``.
- Loaders were tweaked to provide more info on ``avocado list -V``
especially when they don't recognize the reference.
- Users can use ``--ignore-missing-references on`` to run a job with
undiscovered test references
- Users can now choose in which order the job will execute tests (from
its suite) and variants. The two available options are
``--execution-order=variants-per-test`` (default) or
``--execution-order=tests-per-variant``.
- Test methods can be recursively discovered from parent classes by upon
the ``:avocado: recursive`` docstring directive.
Besides the list above, we had several improvements in our ``utils``
libraries that are important for test writers, some of them are listed
below:
- ``time_to_seconds``, ``geometric_mean`` and ``compare_matrices`` were
added in ``avocado.utils.data_structures``.
- ``avocado.utils.distro`` was refined.
- Many ``avocado.utils`` new modules were introduced, like ``filelock``,
``lv_utils``, ``multipath``, ``partition`` and ``pci``.
- ``avocado.utils.memory`` contains several new methods.
- New ``avocado.utils.process.SubProcess.get_pid()`` method.
- ``sudo`` support in ``avocado.utils.process`` was improved
- The ``avocado.utils.process`` library makes it possible to ignore
spawned background processes.
- New ``avocado.utils.linux_modules.check_kernel_config()``.
- Users of the ``avocado.utils.process`` module will now be able to access
the process ID in the ``avocado.utils.process.CmdResult``.
- Improved ``avocado.utils.iso9660`` with a more complete standard API
across all back-end implementations.
- Improved ``avocado.utils.build.make()``, which will now return the make
process exit status code.
- The ``avocado.Test`` class now better exports (and protects) the core
class attributes members (such as ``params`` and ``runner_queue``).
- ``avocado.utils.linux_modules`` functions now returns module name,
size, submodules if present, filename, version, number of modules
using it, list of modules it is dependent on and finally a list of
``params``.
It is also worth mentioning:
- Improved documentation, with new sections to Release Notes and
Optional Plugins, very improved Contribution and Community Guide. New
content and new examples everywhere.
- The avocado-framework-tests GitHub organization was founded to
encourage companies to share Avocado tests.
- Bugs were always handled as high priority and every single version was
delivered with all the reported bugs properly fixed.
When compared to the last LTS, we had:
- 1187 commits (and counting).
- 15 new versions.
- 4811 more lines of Python code (+27,42%).
- 1800 more lines of code comment (+24,67%).
- 31 more Python files (+16,48%).
- 69 closed GitHub issues.
- 34 contributors from at least 12 different companies, 26 of them
contributing for the fist time to the project.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册