]> git.ipfire.org Git - thirdparty/shadow.git/commit
Tests: implement system test framework
authorIker Pedrosa <ipedrosa@redhat.com>
Mon, 7 Oct 2024 13:44:17 +0000 (15:44 +0200)
committerSerge Hallyn <serge@hallyn.com>
Sat, 11 Jan 2025 02:21:07 +0000 (20:21 -0600)
commit128650dfd440f8a9f44d3c8af77e06dd4eea4dd4
tree120a9415735607305edd8460eb9a54dcacbdd623
parent6a2ab3d76072d09d5fd2cbe26f44be85c92dc76a
Tests: implement system test framework

As discussed at length, this is the implementation of the new system
tests framework for shadow. This is a proof of concept that contains the
key elements to be able to run basic user (i.e. useradd, usermod) and
group (i.e. usermod) tests. If you like the framework the rest of the
functionality will be added in the future.

Some useful facts:
* It is implemented in python
* It is based on pytest and pytest-mh
* It works on all the distributions that are part of our CI
* It can be run in the cloud (VM or container) as well as on-premises
* After the execution of each test the environment is cleaned up
* Logs and other artifacts for failed tests are collected
* It has a rich API that can be extended and extended to cover new
  functionalities

Closes: https://github.com/shadow-maint/shadow/issues/835
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
15 files changed:
tests/system/framework/__init__.py [new file with mode: 0644]
tests/system/framework/config.py [new file with mode: 0644]
tests/system/framework/fixtures.py [new file with mode: 0644]
tests/system/framework/hosts/__init__.py [new file with mode: 0644]
tests/system/framework/hosts/base.py [new file with mode: 0644]
tests/system/framework/hosts/shadow.py [new file with mode: 0644]
tests/system/framework/markers.py [new file with mode: 0644]
tests/system/framework/misc/__init__.py [new file with mode: 0644]
tests/system/framework/misc/errors.py [new file with mode: 0644]
tests/system/framework/roles/__init__.py [new file with mode: 0644]
tests/system/framework/roles/base.py [new file with mode: 0644]
tests/system/framework/roles/shadow.py [new file with mode: 0644]
tests/system/framework/topology.py [new file with mode: 0644]
tests/system/framework/utils/__init__.py [new file with mode: 0644]
tests/system/framework/utils/tools.py [new file with mode: 0644]