diff options
Diffstat (limited to 'internal/rosa/hakurei_release.go')
| -rw-r--r-- | internal/rosa/hakurei_release.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/internal/rosa/hakurei_release.go b/internal/rosa/hakurei_release.go new file mode 100644 index 00000000..d5af4d06 --- /dev/null +++ b/internal/rosa/hakurei_release.go @@ -0,0 +1,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{ +`}, +} |
