aboutsummaryrefslogtreecommitdiffhomepage
path: root/hst
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-06-08 14:19:11 +0900
committerOphestra <cat@gensokyo.uk>2026-06-08 14:58:24 +0900
commitf869ff95a12756de97827b4afd93763f9661f144 (patch)
tree6f5445ae623f44ceb99c8f7ddb5bb4cd1fb04aa0 /hst
parent725f2e0ef3eaba1ad46b597604a684125ab93911 (diff)
all: apply modernisers
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'hst')
-rw-r--r--hst/fs.go13
-rw-r--r--hst/fs_test.go4
-rw-r--r--hst/fsephemeral.go7
3 files changed, 10 insertions, 14 deletions
diff --git a/hst/fs.go b/hst/fs.go
index 13645d1a..cb35f925 100644
--- a/hst/fs.go
+++ b/hst/fs.go
@@ -6,6 +6,7 @@ import (
"fmt"
"os"
"reflect"
+ "strings"
"hakurei.app/check"
)
@@ -78,17 +79,17 @@ type FSImplError struct{ Value FilesystemConfig }
func (f FSImplError) Error() string {
implType := reflect.TypeOf(f.Value)
- var name string
- for implType != nil && implType.Kind() == reflect.Ptr {
- name += "*"
+ var buf strings.Builder
+ for implType != nil && implType.Kind() == reflect.Pointer {
+ buf.WriteByte('*')
implType = implType.Elem()
}
if implType != nil {
- name += implType.Name()
+ buf.WriteString(implType.Name())
} else {
- name += "nil"
+ buf.WriteString("nil")
}
- return fmt.Sprintf("implementation %s not supported", name)
+ return "implementation " + buf.String() + " not supported"
}
// FilesystemConfigJSON is the [json] adapter for [FilesystemConfig].
diff --git a/hst/fs_test.go b/hst/fs_test.go
index 94d44078..a88970b7 100644
--- a/hst/fs_test.go
+++ b/hst/fs_test.go
@@ -103,7 +103,7 @@ func TestFilesystemConfigJSON(t *testing.T) {
t.Run("marshal", func(t *testing.T) {
t.Parallel()
wantErr := tc.wantErr
- if errors.As(wantErr, new(hst.FSTypeError)) {
+ if _, ok := errors.AsType[hst.FSTypeError](wantErr); ok {
// for unsupported implementation tc
wantErr = hst.FSImplError{Value: stubFS{"cat"}}
}
@@ -139,7 +139,7 @@ func TestFilesystemConfigJSON(t *testing.T) {
t.Run("unmarshal", func(t *testing.T) {
t.Parallel()
if tc.data == "\x00" && tc.sData == "\x00" {
- if errors.As(tc.wantErr, new(hst.FSImplError)) {
+ if _, ok := errors.AsType[hst.FSImplError](tc.wantErr); ok {
// this error is only returned on marshal
return
}
diff --git a/hst/fsephemeral.go b/hst/fsephemeral.go
index 9da79003..d1c01bca 100644
--- a/hst/fsephemeral.go
+++ b/hst/fsephemeral.go
@@ -43,18 +43,13 @@ func (e *FSEphemeral) Apply(z *ApplyState) {
return
}
- size := e.Size
- if size < 0 {
- size = 0
- }
-
perm := e.Perm
if perm == 0 {
perm = fsEphemeralDefaultPerm
}
if e.Write {
- z.Tmpfs(e.Target, size, perm)
+ z.Tmpfs(e.Target, max(e.Size, 0), perm)
} else {
z.Readonly(e.Target, perm)
}