Joachim Wiberg
8e056422fc
test: new shell helper function run()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-14 23:45:17 +01:00
Joachim Wiberg
94e8b185b4
test: add some spice to serv
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-14 23:45:04 +01:00
Joachim Wiberg
996d3960e1
test: touch pidfile on SIGHUP, the default Finit notify mechanism
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-14 18:53:24 +01:00
Joachim Wiberg
3b19734f63
test: new regression test, verify dependency vs restart handling
...
Bug #314
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-14 08:39:10 +01:00
Joachim Wiberg
64e7c0cd9e
test: -P implies -p
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-14 08:18:18 +01:00
Joachim Wiberg
bd25bf65ce
test: ensure /run is a unique ramdisk for each test instance
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-11 21:54:01 +01:00
Joachim Wiberg
d612a86c3b
test. drop fozza dependency
...
Obvious dev. test :-)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-11 16:19:54 +01:00
Joachim Wiberg
726f7ba229
test: new regression test for bug #313
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-11 15:53:48 +01:00
Joachim Wiberg
61dab8bd75
test: add support for new helper functions, skip/fail/check_dep
...
Also, make sure to exit each test with the correct exit status.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-11 15:52:37 +01:00
Joachim Wiberg
a7e81f45c6
test: slay must cache oldpid to an instance specific ramdisk
...
Running tests in massive parallel causes failing startk-kill-service.sh.
This in turn was caused by the shared test tool 'slay' that cached its
"oldpid" file to a shared area of the rootfs (tenv-root). It must use a
test instance-specific ramdisk.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-11 12:38:14 +01:00
Joachim Wiberg
be4062f019
test: log service.sh output to stderr
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-11 12:37:57 +01:00
Joachim Wiberg
a2d0859bf1
test: serv: die immediately (no sleep) if started with -c
...
We want to stress test Finit as much as possible. We add a small log
though (which admittedly gives us a little bit of a delay) just to see
what happens when debugging failing tests.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-06 13:54:55 +01:00
Joachim Wiberg
d5f542dcca
test: slay must wait up to five seconds before giving up
...
Default max delay before restarting a crashing service is five seconds.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-06 13:54:55 +01:00
Joachim Wiberg
fb86042cb3
test: add crashing.sh, verify oncrash:script support
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-06 13:07:10 +01:00
Joachim Wiberg
359fb8530e
Minor, spelling
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-11-06 13:07:10 +01:00
Joachim Wiberg
c9f1bff419
Refactor ready:script to support new notify framework
...
Follow-up to abcb3ce , calling the service ready:script when readiness
has been signaled to or detected by Finit.
Issue #300
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-10-16 22:11:12 +02:00
Joachim Wiberg
ff08038bdc
test: add notify.sh to distribution
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-10-16 20:13:04 +02:00
Joachim Wiberg
47d837bf6a
test: new test, notify.sh, systemd and s6 readiness notification
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-10-16 20:06:26 +02:00
Joachim Wiberg
6bf5d98569
test: fix distcheck BusyBox downloader for users with ~/.cache
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-09-25 07:48:36 +02:00
Joachim Wiberg
29dea38f50
test: fix path to setup-root.sh in distcheck mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-09-25 05:53:57 +02:00
Joachim Wiberg
165d0633f6
test: add support for make -j17 check massive parallel testing
...
This was a tough nut to crack. Spent 3-4 calendar weeks (getting blurry
now) to try and figure it all out. In the end, the following changes
were necessary:
- Ensure setup-root.sh is guaranteed to run before any of the tests
- Give all tests their unique /etc, /tmp, and /run inside the chroot.
Turns out tmpfs+overlayfs can be used unprivileged inside an unshare
- A static BusyBox binary with support for mount helpers so we can
do the mkdir magic in skel/etc/fstab for the /etc overlay
The last item turned out to be a bit of a roller coaster ride of its
own. First of all, the original binary we used was from the upstream
BusyBox project[1]. I was sure it couldn't be that hard to enable the
CONFIG_FEATURE_MOUNT_HELPERS ... oh boy was I wrong. To make long and
tedious story short; two new projects on GitHub were created for this
task: 1) troglobit/misc[2] to house a mirror of https://musl.cc
toolchains and 2) troglobit/busybox-builder[3] to download, patch, and
build the thing using a .config from the myLinux[4] project. Patching
this .config was necessary, however, since musl libc is strict POSIX
and does not have any of the BSD extensions, e.g. REG_STARTEND that is
in GLIBC regex(3).
[1]: https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/
[2]: https://github.com/troglobit/misc/releases/tag/11-20211120
[3]: https://github.com/troglobit/busybox-builder/releases/tag/1_35_0
[4]: https://github.com/troglobit/myLinux
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-09-25 04:38:24 +02:00
Joachim Wiberg
9f7ba1ba79
test: upgrade BusyBox binary to v1.35.0 w/ mount helpers
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-09-25 04:37:16 +02:00
Joachim Wiberg
762bf5f031
test: minor shellcheck fix of chrootsetup.sh
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-08-23 09:44:24 +02:00
Joachim Wiberg
621eb21b42
test: regression test for issue #275
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-06-19 15:43:46 +02:00
Joachim Wiberg
75c5c85f07
test: new regression test for initctl restart self
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-30 06:59:14 +02:00
Joachim Wiberg
5ef669fb6c
test: fix use-after-free by switching to strdupa()
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-30 06:53:37 +02:00
Joachim Wiberg
929a6e7aac
test: fix minor memory leak in test daemon, found by Coverity
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-17 14:26:48 +02:00
Joachim Wiberg
4aae3403f5
test: new test, verify default runlevel from command line
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-08 09:57:18 +02:00
Joachim Wiberg
73423699fd
test: add support for overriding default runlevel
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-08 09:57:18 +02:00
Joachim Wiberg
060e97d64e
test: minor, drop comment within comment confusing shellcheck
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-06 08:07:44 +02:00
Joachim Wiberg
837bca3947
test: new test, verify sysv services are restarted properly
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-06 07:57:08 +02:00
Joachim Wiberg
16180675db
test: minor coding style fixups
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-06 07:57:08 +02:00
Joachim Wiberg
d70d86e9fe
test: new test, verify behavior of global environment variables
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-05-02 00:03:07 +02:00
Joachim Wiberg
561387ce57
test: new test, verify pre:post: scripts with optional env:file
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-30 08:46:05 +02:00
Joachim Wiberg
fa2a113cbf
test: fix path to Finit rcs.d in distcheck
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 15:22:35 +02:00
Joachim Wiberg
4c5ac38e2c
test: attempt to use /etc/finit.conf instead, azure 5/N
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 14:42:49 +02:00
Joachim Wiberg
f89ebb91a8
test: even more azure debug 4/N
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 14:39:03 +02:00
Joachim Wiberg
477bc064d5
test: more debug azure 3/N
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 14:28:57 +02:00
Joachim Wiberg
96376126b3
test: debug azure 2/N
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 14:21:58 +02:00
Joachim Wiberg
1c150928cb
test: debug cond test in azure
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 14:14:35 +02:00
Joachim Wiberg
7a8d4e2c6b
test: wait for Finit to reach runlevel 2 before starting tests
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 13:19:10 +02:00
Joachim Wiberg
fb956fd2f5
test: silence Hint:, does not work anymore, need to debug it
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 13:18:41 +02:00
Joachim Wiberg
e6e4d814f3
test: extend initial wait for azure env.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 12:55:37 +02:00
Joachim Wiberg
544d44886a
test: let Finit start up properly before starting tests
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-24 11:36:30 +02:00
Joachim Wiberg
cec2d5a4db
test: add missing sbin/task.sh to skeleton dist.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-22 18:21:19 +02:00
Joachim Wiberg
539d215d0e
test: add missing finit.d to skeleton rootfs
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-22 17:51:04 +02:00
Joachim Wiberg
05e6b3e752
test: new test, verify task behavior with conditions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-21 20:52:34 +02:00
Joachim Wiberg
e2a8803f7a
test: minor, extend log message a bit
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-10 22:46:45 +02:00
Joachim Wiberg
209e140ddd
test: let Finit's bootmisc plugin create the /var/run symlink
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-10 22:46:15 +02:00
Joachim Wiberg
377c8bce8c
test: fix dist and tenv-root/ regression from refactor
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2022-04-09 17:52:48 +02:00