aboutsummaryrefslogtreecommitdiffhomepage
path: root/system
AgeCommit message (Collapse)Author
2025-11-16internal/wayland: reimplement connect/bind codeOphestra
The old implementation is relocated to system/wayland/deprecated.go. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-15internal/wayland: relocate connection structOphestra
This interface is getting replaced, so relocating it to the deprecated wrapper package before working on its replacement. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-15internal: relocate packagesOphestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-13internal/system: relocate from systemOphestra
These packages are highly specific to hakurei and are difficult to use safely from other pieces of code. Their exported symbols are made available until v0.4.0 where they will be removed for #24. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-12treewide: import internal/helperOphestra
For #24. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-05treewide: fit test untyped int literals in 32-bitOphestra
This enables hakurei test suite to run on 32-bit targets. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-05std: rename from compOphestra
Seccomp lookup tables are going to be relocated here, and PNR constants. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-11-03message: rename NewMsg to NewOphestra
Should have done this when relocating this from container. Now is a good time to rename it before v0.3.x. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-21container/comp: rename from bitsOphestra
This package will also hold syscall lookup tables for seccomp. 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-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-13system: remove tmpfilesOphestra
This is no longer used. 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-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-08hst/dbus: validate interface stringsOphestra
This is relocated to hst to validate early. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-07container/bits: move bind bitsOphestra
This allows referring to the bits without importing container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-07container/check: move absolute pathnameOphestra
This allows use of absolute pathname values without importing container. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-07hst/dbus: move dbus config structOphestra
This allows holding a xdg-dbus-proxy configuration without importing system/dbus. It also makes more sense in the project structure since the config struct is part of the hst API however the rest of the implementation is not. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-07container: move seccomp preset bitsOphestra
This allows holding the bits without cgo. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-05system/wayland: hang up security-context-v1 internallyOphestra
This should have been an implementation detail and should not be up to the caller to close. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-04system/dbus: dump buffer internallyOphestra
This should have been an implementation detail and should not be up to the caller to call it. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-03system: enforce absolute pathsOphestra
This is less error-prone, and is quite easy to integrate considering internal/app has already migrated to container.Absolute. Closes #11. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-29hst/enablement: move bits from systemOphestra
This is part of the hst API, should not be in the implementation package. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-09-29container: remove global msgOphestra
This frees all container instances of side effects. 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/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/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-08-31system/output: implement MessageErrorOphestra
This error is also formatted differently based on state. 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>