freeipa/ipatests/man/ipa-run-tests.1
Stanislav Levin 2312b38a67 Simplify ipa-run-tests script
This is a sort of rollback to the pre #93c158b05 state with
several improvements.

For now, the nodeids calculation by ipa-run-tests is not stable,
since it depends on current working directory. Nodeids (tests
addresses) are utilized by the other plugins, for example.

Unfortunately, the `pytest_load_initial_conftests` hook doesn't
correctly work with pytest internal paths, since it is called
after the calculation of rootdir was performed, for example.

Eventually, it's simpler to follow the default convention for
Python test discovery.

There is at least one drawback of new "old" implementation.
The ignore rules don't support globs, because pytest 4.3.0+
has the same facility via `--ignore-glob`:

> Add the `--ignore-glob` parameter to exclude test-modules with
> Unix shell-style wildcards. Add the collect_ignore_glob for
> conftest.py to exclude test-modules with Unix shell-style
> wildcards.

Upon switching to pytest4 it will be possible to utilize this.
Anyway, tests for checking current basic facilities of
ipa-run-tests were added.

Fixes: https://pagure.io/freeipa/issue/8007
Signed-off-by: Stanislav Levin <slev@altlinux.org>
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
2019-07-16 13:23:21 +03:00

54 lines
2.0 KiB
Groff

.\" A man page for ipa-run-tests
.\" Copyright (C) 2013 Red Hat, Inc.
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation, either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful, but
.\" WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
.\" General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program. If not, see <http://www.gnu.org/licenses/>.
.\"
.\" Author: Petr Viktorin <pviktori@redhat.com>
.\"
.TH "ipa-run-tests" "1" "Aug 29 2013" "FreeIPA" "FreeIPA Manual Pages"
.SH "NAME"
ipa\-run\-tests \- Run the FreeIPA test suite
.SH "SYNOPSIS"
ipa\-run\-tests [options]
.SH "DESCRIPTION"
ipa\-run\-tests is a wrapper around Pytest that run the FreeIPA test suite.
It is intended to be used for developer testing and in continuous
integration systems.
It is possible to select a subset of the entire test suite by specifying
a test file relative to the ipatests package, for example:
ipa-run-tests test_integration/test_simple_replication.py
.SH "OPTIONS"
All command-line options are passed to the underlying Pytest runner.
See "pytest --help" for a complete list.
.SH "EXIT STATUS"
Running pytest can result in six different exit codes:
Exit code 0: All tests were collected and passed successfully
Exit code 1: Tests were collected and run but some of the tests failed
Exit code 2: Test execution was interrupted by the user
Exit code 3: Internal error happened while executing tests
Exit code 4: pytest command line usage error
Exit code 5: No tests were collected
.SH "CONFIGURATION"
Please see ipa-test-config(1) for a description of configuration environment
variables.
.SH "REFERENCES"
A full description of the FreeIPA testing is available at
https://www.freeipa.org/page/Testing