aboutsummaryrefslogtreecommitdiffhomepage
path: root/pkg/exec_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-03 16:16:37 +0900
committerOphestra <cat@gensokyo.uk>2026-10-03 16:16:37 +0900
commit4697e493fe59a2e61b5e8e8a9d0ae4b8e338e378 (patch)
treea6e8e0c2ad875118e24da2bad5ffe13f442dea3d /pkg/exec_test.go
parentaeb0ac9a329a253baf516be6ecfbdc4a750c6df6 (diff)
pkg: rename test helper
This is less ambiguous, and more consistent with upcoming integration test suite changes. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'pkg/exec_test.go')
-rw-r--r--pkg/exec_test.go112
1 files changed, 56 insertions, 56 deletions
diff --git a/pkg/exec_test.go b/pkg/exec_test.go
index 051af551..a24c1e5e 100644
--- a/pkg/exec_test.go
+++ b/pkg/exec_test.go
@@ -23,18 +23,18 @@ import (
"hakurei.app/internal/stub"
"hakurei.app/pkg"
- "hakurei.app/pkg/internal/testtool/expected"
+ "hakurei.app/pkg/internal/tester/expected"
)
-// testtoolBin is the container test tool binary made available to the
+// testHelperBin is the container test helper binary made available to the
// execArtifact for testing its curing environment.
//
-//go:generate env CGO_ENABLED=0 go build -tags testtool -o internal/testtool ./internal/testtool
-//go:embed internal/testtool/testtool
-var testtoolBin []byte
+//go:generate env CGO_ENABLED=0 go build -tags tester -o internal/tester ./internal/tester
+//go:embed internal/tester/tester
+var testHelperBin []byte
func init() {
- pathname, err := filepath.Abs("internal/testtool/testtool")
+ pathname, err := filepath.Abs("internal/tester/tester")
if err != nil {
panic(err)
}
@@ -153,15 +153,15 @@ func TestExec(t *testing.T) {
checkWithCache(t, []cacheTestCase{
{"offline", pkg.CValidateKnown | checkDestroySubstitutes, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
- testtool, testtoolDestroy := newTesttool()
+ testHelper, destroyTestHelper := newTestHelper()
cureMany(t, c, []cureStep{
{"container", pkg.NewExec(
"exec-offline", "", new(wantOffline.hash()), 0, false, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester"},
pkg.MustPath("/file", false, newStubFile(
pkg.KindHTTPGet,
@@ -176,15 +176,15 @@ func TestExec(t *testing.T) {
return os.MkdirAll(t.GetWorkDir().String(), 0700)
},
}),
- pkg.MustPath("/opt", false, testtool),
+ pkg.MustPath("/opt", false, testHelper),
), ignorePathname, wantOffline, pkg.WNew, nil},
{"substitution", pkg.NewExec(
"exec-offline", "", new(wantOffline.hash()), 0, false, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester"},
pkg.MustPath("/file", false, newStubFile(
pkg.KindHTTPGet,
@@ -192,7 +192,7 @@ func TestExec(t *testing.T) {
nil,
nil, nil,
)),
- // substitution miss fails in testtool due to differing idents
+ // substitution miss fails in tester due to differing idents
pkg.MustPath("/.hakurei", false, &stubArtifact{
kind: pkg.KindTar,
params: []byte("empty directory (substituted)"),
@@ -200,15 +200,15 @@ func TestExec(t *testing.T) {
return os.MkdirAll(t.GetWorkDir().String(), 0700)
},
}),
- pkg.MustPath("/opt", false, testtool),
+ pkg.MustPath("/opt", false, testHelper),
), ignorePathname, wantOffline, pkg.WSubstitute, nil},
{"error passthrough", pkg.NewExec(
"", "", nil, 0, false, true,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester"},
pkg.MustPath("/proc/nonexistent", false, failingArtifact),
), nil, nil, pkg.WNew, pkg.InputError{
@@ -219,8 +219,8 @@ func TestExec(t *testing.T) {
"", "", nil, 0, false, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester"},
pkg.ExecPath{},
), nil, nil, pkg.WNew, pkg.ErrInvalidPaths},
@@ -231,8 +231,8 @@ func TestExec(t *testing.T) {
"", "", nil, 0, false, false,
pkg.AbsWork,
nil,
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester"},
)
var exitError *exec.ExitError
if _, _, err := c.Cure(initFailureArtifact); !errors.As(err, &exitError) ||
@@ -256,13 +256,13 @@ func TestExec(t *testing.T) {
if !bytes.HasPrefix(faultStatus, []byte(
"hakurei.app/pkg ",
)) || !bytes.Contains(faultStatus, []byte(
- "\ninit: fork/exec /opt/bin/testtool: no such file or directory\n",
+ "\ninit: fork/exec /opt/bin/tester: no such file or directory\n",
)) {
t.Errorf("unexpected status:\n%s", string(faultStatus))
}
destroyStatus(t, base, 2, 1)
- testtoolDestroy(t, base, c)
+ destroyTestHelper(t, base, c)
}, expectsFS{
".": {Mode: fs.ModeDir | 0700},
@@ -286,7 +286,7 @@ func TestExec(t *testing.T) {
}},
{"net", pkg.CValidateKnown | checkDestroySubstitutes, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
- testtool, testtoolDestroy := newTesttool()
+ testHelper, destroyTestHelper := newTestHelper()
wantNet := expectsFS{
".": {Mode: fs.ModeDir | 0500},
@@ -298,8 +298,8 @@ func TestExec(t *testing.T) {
"exec-net", "", new(wantNet.hash()), 0, true, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool", "net"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester", "net"},
pkg.MustPath("/file", false, newStubFile(
pkg.KindHTTPGet,
@@ -314,12 +314,12 @@ func TestExec(t *testing.T) {
return os.MkdirAll(t.GetWorkDir().String(), 0700)
},
}),
- pkg.MustPath("/opt", false, testtool),
+ pkg.MustPath("/opt", false, testHelper),
), ignorePathname, wantNet, pkg.WNew, nil},
})
destroyStatus(t, base, 2, 0)
- testtoolDestroy(t, base, c)
+ destroyTestHelper(t, base, c)
}, expectsFS{
".": {Mode: fs.ModeDir | 0700},
@@ -341,15 +341,15 @@ func TestExec(t *testing.T) {
}},
{"overlay root", pkg.CValidateKnown | checkDestroySubstitutes, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
- testtool, testtoolDestroy := newTesttool()
+ testHelper, destroyTestHelper := newTestHelper()
cureMany(t, c, []cureStep{
{"container", pkg.NewExec(
"exec-overlay-root", "", nil, 0, false, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1", "HAKUREI_ROOT=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester"},
pkg.MustPath("/", true, &stubArtifact{
kind: pkg.KindTar,
@@ -358,12 +358,12 @@ func TestExec(t *testing.T) {
return os.MkdirAll(t.GetWorkDir().String(), 0700)
},
}),
- pkg.MustPath("/opt", false, testtool),
+ pkg.MustPath("/opt", false, testHelper),
), ignorePathname, wantOffline, pkg.WNew, nil},
})
destroyStatus(t, base, 2, 0)
- testtoolDestroy(t, base, c)
+ destroyTestHelper(t, base, c)
}, expectsFS{
".": {Mode: fs.ModeDir | 0700},
@@ -383,15 +383,15 @@ func TestExec(t *testing.T) {
}},
{"overlay work", pkg.CValidateKnown | checkDestroySubstitutes, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
- testtool, testtoolDestroy := newTesttool()
+ testHelper, destroyTestHelper := newTestHelper()
cureMany(t, c, []cureStep{
{"container", pkg.NewExec(
"exec-overlay-work", "", nil, 0, false, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1", "HAKUREI_ROOT=1"},
- check.MustAbs("/work/bin/testtool"),
- []string{"testtool"},
+ check.MustAbs("/work/bin/tester"),
+ []string{"tester"},
pkg.MustPath("/", true, &stubArtifact{
kind: pkg.KindTar,
@@ -405,12 +405,12 @@ func TestExec(t *testing.T) {
cure: func(t *pkg.TContext) error {
return os.MkdirAll(t.GetWorkDir().String(), 0700)
},
- }), pkg.Path(pkg.AbsWork, false /* ignored */, testtool),
+ }), pkg.Path(pkg.AbsWork, false /* ignored */, testHelper),
), ignorePathname, wantOffline, pkg.WNew, nil},
})
destroyStatus(t, base, 2, 0)
- testtoolDestroy(t, base, c)
+ destroyTestHelper(t, base, c)
}, expectsFS{
".": {Mode: fs.ModeDir | 0700},
@@ -430,15 +430,15 @@ func TestExec(t *testing.T) {
}},
{"multiple layers", pkg.CValidateKnown | checkDestroySubstitutes, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
- testtool, testtoolDestroy := newTesttool()
+ testHelper, destroyTestHelper := newTestHelper()
cureMany(t, c, []cureStep{
{"container", pkg.NewExec(
"exec-multiple-layers", "", nil, 0, false, false,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1", "HAKUREI_ROOT=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool", "layers"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester", "layers"},
pkg.MustPath("/", true, &stubArtifact{
kind: pkg.KindTar,
@@ -474,12 +474,12 @@ func TestExec(t *testing.T) {
return os.WriteFile(work.Append("check").String(), []byte("layers"), 0400)
},
}),
- pkg.MustPath("/opt", false, testtool),
+ pkg.MustPath("/opt", false, testHelper),
), ignorePathname, wantOffline, pkg.WNew, nil},
})
destroyStatus(t, base, 2, 0)
- testtoolDestroy(t, base, c)
+ destroyTestHelper(t, base, c)
}, expectsFS{
".": {Mode: fs.ModeDir | 0700},
@@ -504,15 +504,15 @@ func TestExec(t *testing.T) {
}},
{"overlay layer promotion", pkg.CValidateKnown | checkDestroySubstitutes, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) {
- testtool, testtoolDestroy := newTesttool()
+ testHelper, destroyTestHelper := newTestHelper()
cureMany(t, c, []cureStep{
{"container", pkg.NewExec(
"exec-layer-promotion", "", nil, 0, false, true,
pkg.AbsWork,
[]string{"HAKUREI_TEST=1", "HAKUREI_ROOT=1"},
- check.MustAbs("/opt/bin/testtool"),
- []string{"testtool", "promote"},
+ check.MustAbs("/opt/bin/tester"),
+ []string{"tester", "promote"},
pkg.MustPath("/", true, &stubArtifact{
kind: pkg.KindTar,
@@ -527,12 +527,12 @@ func TestExec(t *testing.T) {
return os.MkdirAll(t.GetWorkDir().String(), 0700)
},
}),
- pkg.MustPath("/opt", false, testtool),
+ pkg.MustPath("/opt", false, testHelper),
), ignorePathname, wantOffline, pkg.WNew, nil},
})
destroyStatus(t, base, 2, 0)
- testtoolDestroy(t, base, c)
+ destroyTestHelper(t, base, c)
}, expectsFS{
".": {Mode: fs.ModeDir | 0700},
@@ -621,14 +621,14 @@ func TestExec(t *testing.T) {
})
}
-// newTesttool returns an [Artifact] that cures into testtoolBin. The returned
+// newTestHelper returns an [Artifact] that cures into testHelperBin. The returned
// function must be called at the end of the test but not deferred.
-func newTesttool() (
- testtool pkg.Artifact,
- testtoolDestroy func(t *testing.T, base *check.Absolute, c *pkg.Cache),
+func newTestHelper() (
+ testHelper pkg.Artifact,
+ destroyTestHelper func(t *testing.T, base *check.Absolute, c *pkg.Cache),
) {
- // testtoolBin is built during go:generate and is not deterministic
- testtool = overrideIdent{pkg.ID{0xfe, 0xff}, &stubArtifact{
+ // testHelperBin is built during go:generate and is not deterministic
+ testHelper = overrideIdent{pkg.ID{0xfe, 0xff}, &stubArtifact{
kind: pkg.KindTar,
cure: func(t *pkg.TContext) error {
work := t.GetWorkDir()
@@ -661,10 +661,10 @@ func newTesttool() (
return os.WriteFile(t.GetWorkDir().Append(
"bin",
- "testtool",
- ).String(), testtoolBin, 0500)
+ "tester",
+ ).String(), testHelperBin, 0500)
},
}}
- testtoolDestroy = newDestroyArtifactFunc(testtool)
+ destroyTestHelper = newDestroyArtifactFunc(testHelper)
return
}