aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2025-09-28release: 0.2.2v0.2.2Ophestra
Unfortunately removal of internal/hlog brought about some changes that breaks API. This will likely be the last 0.2.x release. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-28container/init: reduce verbose noiseOphestra
This makes it possible to optionally omit the identifying verbose message, for when the Op implementation can provide a much more useful message in its case, using information not yet available to the String method. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-27container/output: move global output to msgOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-27container/output: export suspendable writerOphestra
This is quite useful for other packages as well. This change prepares internal/hlog for removal. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-25internal: remove sys packageOphestra
This package is replaced by container/stub. Remove and replace it with unexported implementation for the upcoming test suite rewrite. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-25internal/app: merge finalise test casesOphestra
This cleans everything up a bit for the upcoming test suite rewrite. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-24internal/sys/hsu: expose hsurc identifierOphestra
This maintains a compatible interface for now, to ease merging of the upcoming changes to internal/app. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-24cmd/hsu: return hsurc idOphestra
The uid format is stable, this value is what caller has to obtain through hsu. Closes #14. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-24test/sandbox: raise timeoutOphestra
The integration vm is being very slow for some reason. This change should reduce spurious timeouts. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-24internal/app: handle LookupGroup errorOphestra
This could return errnos from the cgo calls. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-24internal/app: unexport outcome, remove app structOphestra
The App struct no longer does anything, and the outcome struct is entirely opaque. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-24internal/app: do not return from shim startOphestra
The whole RunState ugliness and the other horrendous error handling conditions for internal/app come from an old design proposal for maintaining all app containers under the same daemon process for a user. The proposal was ultimately rejected but the implementation remained. It is removed here to alleviate internal/app from much of its ugliness and unreadability. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-22test: check init lingering timeout behaviourOphestra
This checks init timeout on lingering process after initial process termination. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-16internal/app: compensate shim timeoutOphestra
This catches cases where the shim has somehow locked up, so it should wait out the full shim WaitDelay as well. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-15internal/sys: separate hsu uid cacheOphestra
This begins the effort of the removal of the sys package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-15hst: replace internal/app errorOphestra
This turns out to still be quite useful across internal/app and its relatives. Perhaps a cleaner replacement for baseError. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-14test/sandbox: create marker in /var/tmpOphestra
This prepares the test suite for private TMPDIR. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-14test/sandbox/tool: marker pathname from flagOphestra
Since this is going to be placed in a shared directory, it needs to be unique to the identity. Instead of trying to figure out identity from mountinfo, just have the test script pass hardcoded values. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-14test/sandbox: check extra writable pathsOphestra
This is not always obvious from mountinfo. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-14test/sandbox: bind /var/tmp writableOphestra
This makes it possible to place markers with private tmpdir. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-14nix: use slightly less ambiguous typeOphestra
I had trouble getting Nix to merge json arrays properly, I am not sure that this helps. At this point I have given up trying to understand Nix type system, and I am just trying to keep the Nix stuff going with extensive tests until it can be replaced by lkl for testing and planterette for general usage. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-14internal/app: mount /dev/shm earlyOphestra
This avoids covering /dev/shm mounts from hst. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-13container: initialise cmd earlyOphestra
This allows use of more cmd methods. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-13nix: update flake lockOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-12internal/hlog: remove error wrappingOphestra
This was a stopgap solution that lasted for way too long. This finally removes it and prepares internal/app for some major changes. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-11system: partial I inherit dispatcherOphestra
This enables I struct methods to be checked. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-11system/wayland: use syscall dispatcherOphestra
This enables wayland op methods to be instrumented. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-10system: remove test packageOphestra
This prepares the Commit and Revert methods for testing via stub. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-08system/xhost: wrap revert error correctlyOphestra
This otherwise creates a confusing error message on a revert failure. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-08system/tmpfiles: do not fail for smaller filesOphestra
The limit is meant to be an upper bound. Handle EOF and print verbose message for it instead of failing. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/mkdir: use syscall dispatcherOphestra
This enables mkdir op methods to be instrumented. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/link: use syscall dispatcherOphestra
This enables hardlink op methods to be instrumented. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/output: pass through LinkErrorOphestra
This has similar formatting to PathError. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system: unexport Op implementationsOphestra
None of these are valid with their zero value, and the implementations assume they are created by the builder methods. They are by all means an implementation detail and exporting them makes no sense. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/dbus: print incomplete string in bufferOphestra
Not sure if this will ever be reached, but nice to have nonetheless. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/dbus: use syscall dispatcherOphestra
This allows dbus op methods and builder to be instrumented. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/dispatcher: expose test reporting to builderOphestra
This is currently unused but useful for builders with errors. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-06system/dbus: drop proxy output beyond thresholdOphestra
This prevents xdg-dbus-proxy from running the priv process out of memory. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-05system/dbus: create context in subtestOphestra
This is causing a huge amount of spurious test failures due to the poor performance of the integration vm. This should finally put an end to the annoyance. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-05system/dbus: remove redundant proxy pairsOphestra
This is left over from before dbus.Final. Remove them now as they serve no purpose. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-04container/dispatcher: optional stub wait4 signal associationOphestra
This synchronises the wait4 return after the toplevel signal call in lowlastcap_signaled_cancel_forward_error. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-04container/stub: remove function call in handleExitOphestra
This gets inlined and does not cause problems usually but turns out -coverpkg uninlines it and breaks the recovery. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-04container/dispatcher: remove wait4 test logOphestra
Turns out the reporting methods are not safe for concurrent use, despite the claim in testing.T doc comment. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-04container/stub: override goexit methodsOphestra
FailNow, Fatal, Fatalf, SkipNow, Skip and Skipf must be called from the goroutine created by the test. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-04system/dispatcher: wrap syscall helper functionsOphestra
This allows tests to stub all kernel behaviour, like in the container package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-03system: improve tests of the I structOphestra
This cleans up for the test overhaul of this package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-02system: update doc commands and remove mutexOphestra
The mutex is not really doing anything, none of these methods make sense when called concurrently anyway. The copylocks analysis is still satisfied by the noCopy struct. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-02container/dispatcher: stub.Call initialisation helper functionOphestra
This keeps composites analysis happy without making the test cases (too) bloated. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-31container/stub: export stub helpersOphestra
These are very useful in many packages containing relatively large amount of code making calls to difficult or impossible to stub functions. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-31system/output: implement MessageErrorOphestra
This error is also formatted differently based on state. Signed-off-by: Ophestra <cat@gensokyo.uk>