|
|
|
|
@@ -86,6 +86,30 @@ func TestExec(t *testing.T) {
|
|
|
|
|
pkg.MustPath("/opt", false, testtool),
|
|
|
|
|
), ignorePathname, wantOffline, 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"},
|
|
|
|
|
|
|
|
|
|
pkg.MustPath("/file", false, newStubFile(
|
|
|
|
|
pkg.KindHTTPGet,
|
|
|
|
|
pkg.ID{0xfe, 0},
|
|
|
|
|
nil,
|
|
|
|
|
nil, nil,
|
|
|
|
|
)),
|
|
|
|
|
// substitution miss fails in testtool due to differing idents
|
|
|
|
|
pkg.MustPath("/.hakurei", false, &stubArtifact{
|
|
|
|
|
kind: pkg.KindTar,
|
|
|
|
|
params: []byte("empty directory (substituted)"),
|
|
|
|
|
cure: func(t *pkg.TContext) error {
|
|
|
|
|
return os.MkdirAll(t.GetWorkDir().String(), 0700)
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
pkg.MustPath("/opt", false, testtool),
|
|
|
|
|
), ignorePathname, wantOffline, nil},
|
|
|
|
|
|
|
|
|
|
{"error passthrough", pkg.NewExec(
|
|
|
|
|
"", "", nil, 0, false, true,
|
|
|
|
|
pkg.AbsWork,
|
|
|
|
|
@@ -147,7 +171,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
t.Errorf("unexpected status:\n%s", string(faultStatus))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 1)
|
|
|
|
|
testtoolDestroy(t, base, c)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
@@ -159,6 +183,8 @@ func TestExec(t *testing.T) {
|
|
|
|
|
"checksum/OLBgp1GsljhM2TJ-sbHjaiH9txEUvgdDTAzHv2P24donTt6_529l-9Ua0vFImLlb": {Mode: 0400, Data: []byte{}},
|
|
|
|
|
|
|
|
|
|
"identifier": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
"identifier/IY91PCtOpCYy21AaIK0c9f8-Z6fb2_2ewoHWkt4dxoLf0GOrWqS8yAGFLV84b1Dw": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantOfflineEncode)},
|
|
|
|
|
"identifier/QwS7SmiatdqryQYgESdGw7Yw2PcpNf0vNfpvUA0t92BTlKiUjfCrXyMW17G2X77X": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/MGWmEfjut2QE2xPJwTsmUzpff4BN_FEnQ7T0j7gvUCCiugJQNwqt9m151fm9D1yU")},
|
|
|
|
|
"identifier/_gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/OLBgp1GsljhM2TJ-sbHjaiH9txEUvgdDTAzHv2P24donTt6_529l-9Ua0vFImLlb")},
|
|
|
|
|
"identifier/" + expected.Offline: {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantOfflineEncode)},
|
|
|
|
|
"identifier/vjz1MHPcGBKV7sjcs8jQP3cqxJ1hgPTiQBMCEHP9BGXjGxd-tJmEmXKaStObo5gK": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/MGWmEfjut2QE2xPJwTsmUzpff4BN_FEnQ7T0j7gvUCCiugJQNwqt9m151fm9D1yU")},
|
|
|
|
|
@@ -202,7 +228,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
), ignorePathname, wantNet, nil},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 0)
|
|
|
|
|
testtoolDestroy(t, base, c)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
@@ -246,7 +272,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
), ignorePathname, wantOffline, nil},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 0)
|
|
|
|
|
testtoolDestroy(t, base, c)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
@@ -293,7 +319,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
), ignorePathname, wantOffline, nil},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 0)
|
|
|
|
|
testtoolDestroy(t, base, c)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
@@ -362,7 +388,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
), ignorePathname, wantOffline, nil},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 0)
|
|
|
|
|
testtoolDestroy(t, base, c)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
@@ -415,7 +441,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
), ignorePathname, wantOffline, nil},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 0)
|
|
|
|
|
testtoolDestroy(t, base, c)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
@@ -480,7 +506,7 @@ func TestExec(t *testing.T) {
|
|
|
|
|
}, nil},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
destroyStatus(t, base, 2)
|
|
|
|
|
destroyStatus(t, base, 2, 0)
|
|
|
|
|
}, expectsFS{
|
|
|
|
|
".": {Mode: fs.ModeDir | 0700},
|
|
|
|
|
|
|
|
|
|
|