Ninjatrappeur's systemd working tree
Go to file
Zbigniew Jędrzejewski-Szmek 3762f8e316 tests: add a runner for installed tests
We have "installed tests", but don't provide an easy way to run them.

The protocol is very simple: each test must return 0 for success, 77 means
"skipped", anything else is an error. In addition, we want to print test
output only if the test failed.

I wrote this simple script. It is pretty basic, but implements the functions
listed above. Since it is written in python it should be easy to add option
parsing (like running only specific tests, or running unsafe tests, etc.)

I looked at the following alternatives:
- Ubuntu root-unittests: this works, but just dumps all output to the terminal,
  has no coloring.
- @ssahani's test runner [2]
  It uses the unittest library and the test suite was implented as a class, and
  doesn't implement any of the functions listed above.
- cram [3,4]
  cram runs our tests, but does not understand the "ignore the output" part,
  has not support for our magic skip code (it uses hardcoded 80 instead),
  and seems dead upstream.
- meson test
  Here the idea would be to provide an almost-empty meson.build file under
  /usr/lib/systemd/tests/ that would just define all the tests. This would
  allow us to reuse the test runner we use normally. Unfortunately meson requires
  a build directory and configuration to be done before running tests. This
  would be possible, but seems a lot of effort to just run a few binaries.

[1] 242c96addb/debian/tests/root-unittests
[2] https://github.com/systemd/systemd-fedora-ci/blob/master/upstream/systemd-upstream-tests.py
[3] https://bitheap.org/cram/
[4] https://pypi.org/project/pytest-cram/

Fixes #10069.
2018-09-24 15:42:50 +02:00
.github/ISSUE_TEMPLATE docs: move markdown docs from .github/ to docs/ 2018-09-08 13:39:03 -07:00
.mkosi mkosi: add mkosi snippet for ubuntu, too 2018-06-14 17:44:20 +02:00
catalog test: make test-catalog relocatable 2018-09-11 09:19:36 +09:00
coccinelle tree-wide: drop !! casts to booleans 2018-06-13 10:52:40 +02:00
docs Set theme jekyll-theme-slate 2018-09-12 11:51:27 +02:00
factory/etc factory: remove broken pam_limits 2014-07-30 15:21:54 +02:00
hwdb Remove trailing space 2018-09-19 09:44:21 +02:00
man man: fix typo (#10084) 2018-09-14 16:04:10 +09:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network Drop my copyright headers 2018-06-14 13:03:20 +02:00
po po: update Brazilian Portuguese translation 2018-09-07 19:37:55 +02:00
presets Drop my copyright headers 2018-06-14 13:03:20 +02:00
rules don't ignore zd* block devices 2018-08-27 14:13:25 +02:00
shell-completion bash-completion: systemctl: re-implement __filter_units_by_properties() 2018-09-12 14:17:22 +09:00
src test-udev: use _cleanup_ and modernize style 2018-09-24 15:42:50 +02:00
sysctl.d Revert "sysctl.d: request ECN on both in and outgoing connections" 2018-08-20 09:37:41 +02:00
sysusers.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
test tests: add a runner for installed tests 2018-09-24 15:42:50 +02:00
tmpfiles.d sysusers,tmpfiles: re-create systemd-network, systemd-resolve and systemd-timesync 2018-07-16 17:11:50 +02:00
tools tools: use print function in Python 3 code 2018-08-27 14:22:32 +02:00
travis-ci travis: use Fedora 27 as a base image 2018-06-05 12:03:18 +03:00
units tmpfiles: Order tmpfiles-setup after journald 2018-09-20 13:20:41 +02:00
xorg login: avoid external process call 2018-01-12 18:02:57 +01:00
.dir-locals.el make dir-locals work again with emacs 26.1 2018-07-23 20:00:48 +02:00
.editorconfig editorconfig: add rule for meson.build files (#6671) 2017-08-28 16:37:23 +02:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore gitignore: add nspawn image lock and mkosi temporary files 2018-09-07 20:00:22 +02:00
.lgtm.yml LGTM: make LGTM.com use meson from pip 2018-07-24 01:37:47 +09:00
.mailmap update NEWS contributors list again 2018-06-20 13:32:57 +02:00
.travis.yml Merge pull request #9193 from keszybz/coverity 2018-06-14 09:59:58 +02:00
.vimrc vimrc: fix indentation logic for our docbook xml files 2016-04-29 12:23:34 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson.build meson: drop some unneeded parens 2018-09-13 12:07:34 +02:00
meson_options.txt meson: rename -Ddebug to -Ddebug-extra 2018-08-20 16:10:57 -07:00
mkosi.build tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS Merge pull request #10070 from keszybz/test-reporting 2018-09-15 15:55:15 +09:00
README resolved: basic OpenSSL support for DNS-over-TLS 2018-07-27 21:23:17 +01:00
README.md doc: Fix link to CONTRIBUTING.md (#10109) 2018-09-18 12:29:36 +09:00
TODO Merge pull request #9928 from yuwata/libudev-cleanups 2018-09-15 22:36:38 +02:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Build Status
Coverity Scan Status
CII Best Practices
Build Status
Language Grade: C/C++

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the HACKING file for information how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.