aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
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>
2025-08-31container/msg: optionally provide error messagesOphestra
This makes handling of fatal errors a lot less squirmy. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-30container: wrap container init start errorsOphestra
This helps indicate the exact origin and nature of the error. This eliminates generic WrapErr from container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-30system: wrap op errorsOphestra
This passes more information allowing for better error handling. This eliminates generic WrapErr from system. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-30system/internal/xcb: refactor and clean upOphestra
This package still does not deserve to be out of internal, but at least it is less haunting now. I am still not handling the xcb error though, the struct is almost entirely undocumented and the implementation is unreadable. Not even going to try. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-30system/wayland: improve error descriptionsOphestra
A lot of these errors have very short and nondescript descriptions. These are only returned on incorrect API usage, but it makes sense to make them more descriptive anyway. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-30system/acl: wrap libacl errors in PathErrorOphestra
This helps determine which libacl function the errno came from. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-30system/acl: update test log messagesOphestra
Most of these were never updated after UpdatePerm was renamed to Update. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/mount: unwrap vfs decoder errorsOphestra
These are now handled by init. This eliminates generic WrapErr from mount and procPaths. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/dispatcher: check simple test errors via reflectOphestra
Again, avoids the errors package concealing unexpected behaviours. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/vfs: wrap decoder errorsOphestra
This passes line information and handles strconv errors so it reads better. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/initoverlay: invalid argument typeOphestra
This eliminates generic WrapErr from overlay. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/dispatcher: check test errors via reflectOphestra
Using the errors package might conceal some incorrect behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/inittmpfs: unwrap out of bounds errorOphestra
This eliminates generic WrapErr from tmpfs. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/init: unwrap path errorsOphestra
These are also now handled by init properly, so wrapping them in self is meaningless and unreachable. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-08-29container/initsymlink: unwrap mount errorsOphestra
The mount function now wraps its own errors in a much more descriptive type with proper message formatting. Wrapping them no longer makes any sense. Signed-off-by: Ophestra <cat@gensokyo.uk>