All checks were successful
Test / Create distribution (push) Successful in 33s
Test / Sandbox (push) Successful in 2m7s
Test / Hakurei (push) Successful in 3m8s
Test / Hpkg (push) Successful in 3m59s
Test / Sandbox (race detector) (push) Successful in 4m26s
Test / Hakurei (race detector) (push) Successful in 5m6s
Test / Flake checks (push) Successful in 1m26s
This allows tests to stub all kernel behaviour, enabling measurement of all function call arguments and error injection. Signed-off-by: Ophestra <cat@gensokyo.uk>
43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package container
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestMkdirOp(t *testing.T) {
|
|
checkOpBehaviour(t, []opBehaviourTestCase{
|
|
{"success", new(Params), &MkdirOp{
|
|
Path: MustAbs("/.hakurei"),
|
|
Perm: 0500,
|
|
}, nil, nil, []kexpect{
|
|
{"mkdirAll", expectArgs{"/sysroot/.hakurei", os.FileMode(0500)}, nil, nil},
|
|
}, nil},
|
|
})
|
|
|
|
checkOpsValid(t, []opValidTestCase{
|
|
{"nil", (*MkdirOp)(nil), false},
|
|
{"zero", new(MkdirOp), false},
|
|
{"valid", &MkdirOp{Path: MustAbs("/.hakurei")}, true},
|
|
})
|
|
|
|
checkOpsBuilder(t, []opsBuilderTestCase{
|
|
{"etc", new(Ops).Mkdir(MustAbs("/etc/"), 0), Ops{
|
|
&MkdirOp{Path: MustAbs("/etc/")},
|
|
}},
|
|
})
|
|
|
|
checkOpIs(t, []opIsTestCase{
|
|
{"zero", new(MkdirOp), new(MkdirOp), false},
|
|
{"path differs", &MkdirOp{Path: MustAbs("/"), Perm: 0755}, &MkdirOp{Path: MustAbs("/etc/"), Perm: 0755}, false},
|
|
{"perm differs", &MkdirOp{Path: MustAbs("/")}, &MkdirOp{Path: MustAbs("/"), Perm: 0755}, false},
|
|
{"equals", &MkdirOp{Path: MustAbs("/")}, &MkdirOp{Path: MustAbs("/")}, true},
|
|
})
|
|
|
|
checkOpMeta(t, []opMetaTestCase{
|
|
{"etc", &MkdirOp{
|
|
Path: MustAbs("/etc/"),
|
|
}, "creating", `directory "/etc/" perm ----------`},
|
|
})
|
|
}
|