Files
finit/test
Joachim Wiberg 53aa195ad5 test: update, pid/B is no longer assert by Finit if notify != pid
As of Finit v4.6 we no longer assert the PID condition for services
declaring themselves as notify != pid.  We replace D with a forking
service to catch any future regressions in the pidfile plugin.

No need to check reload PID of D, it is enough to check PID of C.

Also, reduce the number of retries at startup.  If we haven't gone
up within 10 sec with this tiny config something is really wrong.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2023-11-13 06:09:35 +01:00
..
2023-07-27 13:33:22 +02:00
2023-02-05 18:19:23 +01:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-10-30 18:16:24 +01:00
2023-10-30 01:02:33 +01:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-09-18 06:38:59 +02:00
2023-10-30 21:04:02 +01:00

Finit Test Suite

Finit comes with a set of tests and a small framework for running them. Contributors are encouraged to write new tests when implementing features, or fixing bugs.

Each test is run in isolation, in it's own namespace. Finit will therefore be able to be launched as PID 1. Since it's also running with it's own root directory it will be able to function properly without having any super user privileges in the host environment.

Running tests

To run the test suite, first build Finit, e.g:

./configure --prefix=/usr --exec-prefix= --sysconfdir=/etc --localstatedir=/var --enable-testserv-plugin
make -j9 clean all

Then run (parallel does not work atm):

make check

make check will set up the required assets for the test environment, and then run the full set of tests. The environment is not removed afterwards so at this point individual tests can be executed without having to run the entire test suite, which is handy when developing new tests or debugging existing test. To execute an individual test, simply invoke the script containing it:

./test/name-of-the-test.sh

Another way to run a single (or more) test(s) is to define the TESTS environment variable:

TESTS="start-kill-service" make check