aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-10-18internal/app/spruntime: check behaviourOphestra
This one is quite simple and has no state. Needs to emulate pam_systemd behaviour so that will change. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-18internal/app/sppulse: check cookie discoveryOphestra
There's quite a bit of code duplication here, but since this is already quite simple it is best to leave it as is for now. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-18internal/app/sppulse: check buf error injectionOphestra
The loadFile behaviour does not guarantee the buffer to be zeroed or not clobbered if an error is returned, but for the current implementation it is good to check. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-17internal/app/sppulse: correctly handle small cookieOphestra
The trailing zero bytes need to be sliced off, so send cookie size alongside buffer content. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-17internal/app/sppulse: check behaviourOphestra
Still needs to check the relocated functions separately. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-17internal/app/dispatcher: reduce check code duplicationOphestra
This also improves readability of test cases. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-16internal/app/sppulse: relocate hard to test codeOphestra
These are better tested separately instead of creating many op test cases. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-16internal/app/spfinal: check behaviourOphestra
This will be merged with spFilesystemOp eventually. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-16hst/container: rename constantsOphestra
The shim is an implementation detail and should not be mentioned in the API. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-15hst/container: additional shim exit codesOphestra
These are now considered stable, defined behaviour and can be used by external programs to determine shim outcome. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-15container/init: use one channel for wait4Ophestra
When using two channels it is possible for the other case to be reached before all pending winfo are consumed, causing incorrect reporting. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14test/sandbox: ignore nondeterministic mount pointOphestra
No idea what systemd is doing with this to cause its options to change. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14hst/config: hold acl struct by valueOphestra
Doc comments are also reworded for clarity. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14hst/container: pack boolean optionsOphestra
The memory saving is relatively insignificant, however this increases serialisation efficiency. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14hst: separate container configOphestra
The booleans are getting packed into a single field. This requires non-insignificant amount of code for JSON serialisation to stay compatible. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14internal/app/spdbus: check behaviourOphestra
This is not done very cleanly, however this op is pending removal for the in-process dbus proxy so not worth spending too much effort here. As long as it checks all paths it is good enough. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14helper/args: variadic check functionOphestra
This package turns out to be much less widely used than anticipated, and might be facing removal. This change makes test cases cleaner. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-14system/dbus: remove builder state leakOphestra
This enables external testing of system.I state. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-13container: synchronise after notifyOphestra
This should eliminate intermittent failures in the forward test. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-13container/seccomp: remove export pipeOphestra
This was only useful when wrapping bwrap. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-13treewide: parallel testsOphestra
Most tests already had no global state, however parallel was never enabled. This change enables it for all applicable tests. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-13helper/stub: write ready byte lateOphestra
Hopefully eliminates spurious failures. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-13system: remove tmpfilesOphestra
This is no longer used. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-13container/initplace: remove indirect methodOphestra
This is no longer useful and is highly error-prone. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-12hst: reword and improve doc commentsOphestra
This corrects minor mistakes in doc comments and adds them for undocumented constants. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-12internal/app/spcontainer: check fs init behaviourOphestra
This covers every statement. Some of them are unreachable unless the kernel returns garbage. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11internal/app/spcontainer: resolve path through dispatcherOphestra
This prevents state from os tainting the test data. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11system/dbus: use well-known address in specOphestra
The session bus still performs non-standard formatting since it makes no sense for hakurei to start the session bus. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11hst: rename /.hakurei constantOphestra
This provides disambiguation from fhs.AbsTmp. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11hst: remove template bind nix storeOphestra
This does not add anything meaningful to the template, since there are already prior examples showing src-only bind ops. Remove this since it causes confusion by covering the previous mount point targeting /nix/store. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11hst: use plausible overlay templateOphestra
The current value is copied from a test case, and does not resemble its intended use case. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11internal/app/spcontainer: check params init behaviourOphestra
This change also significantly reduces duplicate information in test case. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11internal/app/spaccount: check behaviourOphestra
This begins the effort of fully covering internal/app. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-11internal/app/spaccount: apply default in shimOphestra
The original code clobbers hst.Config, and was not changed when being ported over. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10container/stub: mark test overrides as helperOphestra
This fixes line information in test reporting messages. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10internal/app: relocate params state initialisationOphestra
This is useful for testing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10internal/app: relocate state initialisationOphestra
This is useful for testing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10internal/app: hold path hiding in opOphestra
This makes no sense to be part of the global state. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10hst/config: negative WaitDelay bypasses defaultOphestra
This behaviour might be useful, so do not lock it out. This change also fixes an oversight where the unchecked value is used to determine ForwardCancel. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10internal/app: copy parts of config to stateOphestra
This is less error-prone than passing the address to the entire hst.Config struct, and reduces the likelihood of accidentally clobbering hst.Config. This also improves ease of testing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10internal/app: filter ops in implementationOphestra
This is cleaner and less error-prone, and should also result in negligibly less memory allocation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-10internal/app: hold config address in stateOphestra
This can be removed eventually as it is barely used. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-09container/init: unwrap descriptive fatal errorOphestra
These errors are printed with a descriptive message prefixed to them, so it is more readable to expose the underlying errno. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-09message: relocate from containerOphestra
This package is quite useful. This change allows it to be imported without importing container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-09internal/app: do not encode config earlyOphestra
Finalise no longer clobbers hst.Config. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-08internal/app: build container state in shimOphestra
This significantly decreases ipc overhead. Closes #3. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-08internal/app: check transmitted opsOphestra
This simulates params to shim and this is the last step before params to shim is merged. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-08internal/app: relocate ops conditionOphestra
This allows reuse and finer grained testing of fromConfig. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-08internal/app: relocate dynamic exported stateOphestra
This allows reuse of the populateEarly method in test instrumentation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-08internal/app: relocate late sys/params outcomeOphestra
This will end up merged with another op after reordering. For now relocate it into its dedicated op for test instrumentation. Signed-off-by: Ophestra <cat@gensokyo.uk>