aboutsummaryrefslogtreecommitdiffhomepage
path: root/system
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-10-09 05:04:08 +0900
committerOphestra <cat@gensokyo.uk>2025-10-09 05:18:19 +0900
commit87b5c30ef6d5b7b8a10d6a5a8610054c403923e6 (patch)
tree805116c39a623bb30fc532af47ea3ed78b7304c0 /system
parentdf9b77b077d967d35082adb8ab3b00dd67d7bc97 (diff)
message: relocate from container
This package is quite useful. This change allows it to be imported without importing container. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'system')
-rw-r--r--system/dbus/dbus_test.go10
-rw-r--r--system/dbus/export_test.go4
-rw-r--r--system/dbus/proxy.go6
-rw-r--r--system/output.go5
-rw-r--r--system/output_test.go7
-rw-r--r--system/system.go6
-rw-r--r--system/system_test.go34
7 files changed, 37 insertions, 35 deletions
diff --git a/system/dbus/dbus_test.go b/system/dbus/dbus_test.go
index 978b55e1..299a4637 100644
--- a/system/dbus/dbus_test.go
+++ b/system/dbus/dbus_test.go
@@ -11,8 +11,8 @@ import (
"testing"
"time"
- "hakurei.app/container"
"hakurei.app/helper"
+ "hakurei.app/message"
"hakurei.app/system/dbus"
)
@@ -93,9 +93,9 @@ func testProxyFinaliseStartWaitCloseString(t *testing.T, useSandbox bool) {
t.Run("invalid start", func(t *testing.T) {
if !useSandbox {
- p = dbus.NewDirect(t.Context(), container.NewMsg(nil), nil, nil)
+ p = dbus.NewDirect(t.Context(), message.NewMsg(nil), nil, nil)
} else {
- p = dbus.New(t.Context(), container.NewMsg(nil), nil, nil)
+ p = dbus.New(t.Context(), message.NewMsg(nil), nil, nil)
}
if err := p.Start(); !errors.Is(err, syscall.ENOTRECOVERABLE) {
@@ -128,9 +128,9 @@ func testProxyFinaliseStartWaitCloseString(t *testing.T, useSandbox bool) {
defer cancel()
output := new(strings.Builder)
if !useSandbox {
- p = dbus.NewDirect(ctx, container.NewMsg(nil), final, output)
+ p = dbus.NewDirect(ctx, message.NewMsg(nil), final, output)
} else {
- p = dbus.New(ctx, container.NewMsg(nil), final, output)
+ p = dbus.New(ctx, message.NewMsg(nil), final, output)
}
t.Run("invalid wait", func(t *testing.T) {
diff --git a/system/dbus/export_test.go b/system/dbus/export_test.go
index b1dc365f..bc24f3f3 100644
--- a/system/dbus/export_test.go
+++ b/system/dbus/export_test.go
@@ -4,11 +4,11 @@ import (
"context"
"io"
- "hakurei.app/container"
+ "hakurei.app/message"
)
// NewDirect returns a new instance of [Proxy] with its sandbox disabled.
-func NewDirect(ctx context.Context, msg container.Msg, final *Final, output io.Writer) *Proxy {
+func NewDirect(ctx context.Context, msg message.Msg, final *Final, output io.Writer) *Proxy {
p := New(ctx, msg, final, output)
p.useSandbox = false
return p
diff --git a/system/dbus/proxy.go b/system/dbus/proxy.go
index 535f233d..385a8c7c 100644
--- a/system/dbus/proxy.go
+++ b/system/dbus/proxy.go
@@ -6,9 +6,9 @@ import (
"sync"
"syscall"
- "hakurei.app/container"
"hakurei.app/helper"
"hakurei.app/hst"
+ "hakurei.app/message"
)
// ProxyName is the file name or path to the proxy program.
@@ -19,7 +19,7 @@ var ProxyName = "xdg-dbus-proxy"
type Proxy struct {
helper helper.Helper
ctx context.Context
- msg container.Msg
+ msg message.Msg
cancel context.CancelCauseFunc
cause func() error
@@ -100,6 +100,6 @@ func Finalise(sessionBus, systemBus ProxyPair, session, system *hst.BusConfig) (
}
// New returns a new instance of [Proxy].
-func New(ctx context.Context, msg container.Msg, final *Final, output io.Writer) *Proxy {
+func New(ctx context.Context, msg message.Msg, final *Final, output io.Writer) *Proxy {
return &Proxy{name: ProxyName, ctx: ctx, msg: msg, final: final, output: output, useSandbox: true}
}
diff --git a/system/output.go b/system/output.go
index 022164f0..71acace4 100644
--- a/system/output.go
+++ b/system/output.go
@@ -6,6 +6,7 @@ import (
"os"
"hakurei.app/container"
+ "hakurei.app/message"
)
// OpError is returned by [I.Commit] and [I.Revert].
@@ -70,14 +71,14 @@ func printJoinedError(println func(v ...any), fallback string, err error) {
error
}
if !errors.As(err, &joinErr) {
- if m, ok := container.GetErrorMessage(err); ok {
+ if m, ok := message.GetMessage(err); ok {
println(m)
} else {
println(fallback, err)
}
} else {
for _, err = range joinErr.Unwrap() {
- if m, ok := container.GetErrorMessage(err); ok {
+ if m, ok := message.GetMessage(err); ok {
println(m)
} else {
println(err.Error())
diff --git a/system/output_test.go b/system/output_test.go
index b144d79c..d395b13c 100644
--- a/system/output_test.go
+++ b/system/output_test.go
@@ -9,6 +9,7 @@ import (
"testing"
"hakurei.app/container"
+ "hakurei.app/message"
)
func TestOpError(t *testing.T) {
@@ -64,13 +65,13 @@ func TestOpError(t *testing.T) {
})
t.Run("msg", func(t *testing.T) {
- if got, ok := container.GetErrorMessage(tc.err); !ok {
+ if got, ok := message.GetMessage(tc.err); !ok {
if tc.msg != "" {
- t.Errorf("GetErrorMessage: err does not implement MessageError")
+ t.Errorf("GetMessage: err does not implement MessageError")
}
return
} else if got != tc.msg {
- t.Errorf("GetErrorMessage: %q, want %q", got, tc.msg)
+ t.Errorf("GetMessage: %q, want %q", got, tc.msg)
}
})
})
diff --git a/system/system.go b/system/system.go
index 5599218e..cadaab04 100644
--- a/system/system.go
+++ b/system/system.go
@@ -6,8 +6,8 @@ import (
"errors"
"strings"
- "hakurei.app/container"
"hakurei.app/hst"
+ "hakurei.app/message"
)
const (
@@ -68,7 +68,7 @@ func TypeString(e hst.Enablement) string {
}
// New returns the address of a new [I] targeting uid.
-func New(ctx context.Context, msg container.Msg, uid int) (sys *I) {
+func New(ctx context.Context, msg message.Msg, uid int) (sys *I) {
if ctx == nil || msg == nil || uid < 0 {
panic("invalid call to New")
}
@@ -89,7 +89,7 @@ type I struct {
// the behaviour of Revert is only defined for up to one call
reverted bool
- msg container.Msg
+ msg message.Msg
syscallDispatcher
}
diff --git a/system/system_test.go b/system/system_test.go
index 5a361b95..91b68565 100644
--- a/system/system_test.go
+++ b/system/system_test.go
@@ -8,10 +8,10 @@ import (
"strconv"
"testing"
- "hakurei.app/container"
"hakurei.app/container/check"
"hakurei.app/container/stub"
"hakurei.app/hst"
+ "hakurei.app/message"
"hakurei.app/system/internal/xcb"
)
@@ -74,7 +74,7 @@ func TestNew(t *testing.T) {
t.Errorf("recover: %v, want %v", r, want)
}
}()
- New(nil, container.NewMsg(nil), 0)
+ New(nil, message.NewMsg(nil), 0)
})
t.Run("msg", func(t *testing.T) {
@@ -94,11 +94,11 @@ func TestNew(t *testing.T) {
t.Errorf("recover: %v, want %v", r, want)
}
}()
- New(t.Context(), container.NewMsg(nil), -1)
+ New(t.Context(), message.NewMsg(nil), -1)
})
})
- sys := New(t.Context(), container.NewMsg(nil), 0xdeadbeef)
+ sys := New(t.Context(), message.NewMsg(nil), 0xdeadbeef)
if sys.ctx == nil {
t.Error("New: ctx = nil")
}
@@ -115,51 +115,51 @@ func TestEqual(t *testing.T) {
want bool
}{
{"simple UID",
- New(t.Context(), container.NewMsg(nil), 150),
- New(t.Context(), container.NewMsg(nil), 150),
+ New(t.Context(), message.NewMsg(nil), 150),
+ New(t.Context(), message.NewMsg(nil), 150),
true},
{"simple UID differ",
- New(t.Context(), container.NewMsg(nil), 150),
- New(t.Context(), container.NewMsg(nil), 151),
+ New(t.Context(), message.NewMsg(nil), 150),
+ New(t.Context(), message.NewMsg(nil), 151),
false},
{"simple UID nil",
- New(t.Context(), container.NewMsg(nil), 150),
+ New(t.Context(), message.NewMsg(nil), 150),
nil,
false},
{"op length mismatch",
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos"),
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
Ensure(m("/run"), 0755),
false},
{"op value mismatch",
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
Ensure(m("/run"), 0644),
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
Ensure(m("/run"), 0755),
false},
{"op type mismatch",
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
CopyFile(new([]byte), m("/home/ophestra/xdg/config/pulse/cookie"), 0, 256),
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
Ensure(m("/run"), 0755),
false},
{"op equals",
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
Ensure(m("/run"), 0755),
- New(t.Context(), container.NewMsg(nil), 150).
+ New(t.Context(), message.NewMsg(nil), 150).
ChangeHosts("chronos").
Ensure(m("/run"), 0755),
true},