aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/hakurei_release.go
blob: d5af4d06443f9d6d2824656c71efaef7bc3e8bfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//go:build !current

package rosa

import "hakurei.app/internal/pkg"

const hakureiVersion = "0.3.5"

// hakureiSource is the source code of a hakurei release.
var hakureiSource = pkg.NewHTTPGetTar(
	nil, "https://git.gensokyo.uk/security/hakurei/archive/"+
		"v"+hakureiVersion+".tar.gz",
	mustDecode("6Tn38NLezRD2d3aGdFg5qFfqn8_KvC6HwMKwJMPvaHmVw8xRgxn8B0PObswl2mOk"),
	pkg.TarGzip,
)

// hakureiPatches are patches applied against a hakurei release.
var hakureiPatches = [][2]string{
	{"createTemp-error-injection", `diff --git a/container/dispatcher_test.go b/container/dispatcher_test.go
index 5de37fc..fe0c4db 100644
--- a/container/dispatcher_test.go
+++ b/container/dispatcher_test.go
@@ -238,8 +238,11 @@ func sliceAddr[S any](s []S) *[]S { return &s }

 func newCheckedFile(t *testing.T, name, wantData string, closeErr error) osFile {
        f := &checkedOsFile{t: t, name: name, want: wantData, closeErr: closeErr}
-       // check happens in Close, and cleanup is not guaranteed to run, so relying on it for sloppy implementations will cause sporadic test results
-       f.cleanup = runtime.AddCleanup(f, func(name string) { f.t.Fatalf("checkedOsFile %s became unreachable without a call to Close", name) }, f.name)
+       // check happens in Close, and cleanup is not guaranteed to run, so relying
+       // on it for sloppy implementations will cause sporadic test results
+       f.cleanup = runtime.AddCleanup(f, func(name string) {
+               panic("checkedOsFile " + name + " became unreachable without a call to Close")
+       }, name)
        return f
 }

diff --git a/container/initplace_test.go b/container/initplace_test.go
index afeddbe..1c2f20b 100644
--- a/container/initplace_test.go
+++ b/container/initplace_test.go
@@ -21,7 +21,7 @@ func TestTmpfileOp(t *testing.T) {
                        Path: samplePath,
                        Data: sampleData,
                }, nil, nil, []stub.Call{
-                       call("createTemp", stub.ExpectArgs{"/", "tmp.*"}, newCheckedFile(t, "tmp.32768", sampleDataString, nil), stub.UniqueError(5)),
+                       call("createTemp", stub.ExpectArgs{"/", "tmp.*"}, (*checkedOsFile)(nil), stub.UniqueError(5)),
                }, stub.UniqueError(5)},

                {"Write", &Params{ParentPerm: 0700}, &TmpfileOp{
`},
}